Commit Graph

74 Commits

Author SHA1 Message Date
Mark Harrah eecaeafbdf reorganization of main/
* split several source files
* move base settings sources (Scope, Structure, ...) into main/settings/
* breaks cycles.  In particular, setting system moved from Project to Def
2012-11-17 20:19:24 -05:00
Mark Harrah f99ba44703 Control over automatically added settings.
Project.autoSettings accepts a sequence of AddSettings, instances of which
are constructed from methods in AddSettings.  The configurable settings
are per-user settings (from ~/.sbt, for example), settings from .sbt files,
and plugin settings (project-level only).  The order in which these instances
are provided to autoSettings determines the order in which they are appended
to the settings explicitly provided in Project.settings.

For .sbt files, defaultSbtFiles adds the settings from all .sbt files in the
project's base directory as usual.  AddSettings.sbtFiles accepts a sequence
of Files that will be loaded according to the standard .sbt format.  Relative
Files are resolved against the project's base directory.

Plugin settings may be included on a per-Plugin basis by using the plugins
method and passing a Plugin => Boolean.  The settings controlled here are
only the automatic per-project settings.  Per-build and global settings will
always be included.
2012-11-16 09:56:49 -05:00
Mark Harrah ed902ea565 Proper isolation of build definition classes. Fixes #536, #511. 2012-08-30 16:37:56 -04:00
Mark Harrah 9d39b5d9e1 Add valid project IDs to 'No project <x> in <uri>' error message 2012-08-30 16:37:56 -04:00
Mark Harrah 8908d0e93b attempt at better error message for linkage errors in plugins. fixes #483
Only catches linkage errors during static initialization of the plugin module,
but these are likely to be the most common.
2012-06-16 23:40:52 -04:00
xuwei-k 3d450059ae delete pluginDir.exists 2012-06-12 07:15:31 -04:00
kenji yoshida 139e52073e should not load in old plugins style if it is not directory 2012-06-12 07:15:31 -04:00
Mark Harrah be3d565284 global plugin settings. ref #378 2012-05-30 20:02:24 -04:00
Mark Harrah 5ff33fad3e Second try at printing message when stack trace suppressed.
Problems:

  1. Without a message, users don't find 'last'
  2. Showing a message for every error clutters output.

This tries to address these issues by:

1. Only showing the message when other feedback has not been provided and
   'last' would not usually be helpful.  This will require ongoing tweaking.
   For now, all commands except 'compile' display the message.  'update' could
   omit the message as well, but perhaps knowing about 'last' might be
   useful there.

2. Including the exact command to show the output:
    last test:compile
   and not just
    last <task>

3. Highlighting the command in blue for visibility as an experiment.

Review by @ijuma and @retronym, please.
2012-05-19 18:20:19 -04:00
Mark Harrah d837f869bd using some of the embedding interfaces 2012-04-18 11:02:52 -04:00
Mark Harrah 12d72facb1 enhance 'projects' to allow temporarily adding/removing builds to the session 2012-04-06 20:28:31 -04:00
Mark Harrah 6015d082aa use resolvers configured in plugin definition for update-sbt-classifiers. fixes #304. 2012-04-01 23:19:08 -04:00
Mark Harrah 6fb1934efa filter detected binary plugins by classpath now that plugin class loader is shared. fixes #412 2012-03-31 21:51:01 -04:00
Mark Harrah 2c5a2f0f96 enable sbt-plugin auto-configuration when using 'reload plugins' 2012-03-17 19:31:04 -04:00
Mark Harrah ec2566047d allow plugins to inject settings at the build level. fixes #378 2012-02-25 12:01:08 -05:00
Mark Harrah 923acc1258 stable build load order 2012-02-14 21:59:12 -05:00
Mark Harrah bda151c3bd load plugin classes in a single class loader across builds. fixes #329 2012-02-14 21:59:12 -05:00
Mark Harrah 0fbe987cd0 resolve plugin dependency version conflicts according to build order, first part of fix for #329 2012-02-14 21:59:12 -05:00
Sanjin Sehic 942427bfa3 Extract local, remote, and git BuildLoader.Resolver from ResolveUnit 2012-02-13 22:02:44 -05:00
Mark Harrah 5fdbc86259 cleanup 2012-02-04 21:10:30 -05:00
Eugene Vigdorchik 1fd1b7803c Add a test to check for keeping a selected url upon reload. 2012-02-04 21:10:30 -05:00
Eugene Vigdorchik 33ec1c419d Remember current URI + more tests. Review by @harrah 2012-02-02 17:15:14 +04:00
Eugene Vigdorchik 0dafd5ef26 Check for the case the project doesn't exist after reload. 2012-01-31 21:15:18 +04:00
Eugene Vigdorchik 8daa6d3279 Keep project selection upon reload. 2012-01-31 19:12:52 +04:00
Mark Harrah 98c98f9c26 split command core to main/command/ 2012-01-29 14:36:27 -05:00
Mark Harrah 58d6f34dd5 separate configuration of global plugins, staging, and settings directories. fixes #331
System propery sbt.global.plugins configures global plugins directory
  default: $sbt.global.base/plugins

System property sbt.global.staging configures global staging directory
  default: $sbt.global.base/staging

System property sbt.global.settings configures directory containing global .sbt files
  default: $sbt.global.base
2012-01-19 11:00:24 -05:00
Mark Harrah 6a7eb6c937 Merge branch 'parsing_changes' into 0.12 2012-01-15 13:09:41 -05:00
Mark Harrah d65d23bd99 make new plugin configuration style higher precedence than deprecated project/plugins/ style 2012-01-15 12:29:54 -05:00
Mark Harrah a0300cd3b3 deprecate alternative project directory name '.sbt' 2012-01-15 12:29:53 -05:00
Mark Harrah 795b924f46 reimplement lighter support for controlling aggregation 2012-01-09 08:01:24 -05:00
Mark Harrah 82326cc899 new aggregation approach, still need exclusion mechanism 2012-01-09 08:01:24 -05:00
Mark Harrah 7347e89f73 'set every <setting>' for overriding every definition of a key. fixes #154 2011-12-13 17:29:08 -05:00
Mark Harrah b07bd3adaa show deprecation message for project/plugins/. fixes #272. 2011-11-21 22:37:58 -05:00
Mark Harrah fa8fb49cc3 clean up last/global logging
add history of actually executed commands
2011-10-30 18:39:18 -04:00
Mark Harrah c2ebcba73b hook for more global build transformations 2011-10-26 19:35:29 -04:00
Mark Harrah bec7d3fb28 give builders access to resolved build before deciding if they are applicable 2011-10-18 22:49:09 -04:00
Mark Harrah e4848efcc8 store hashes of API instead of full API. fixes #21 2011-10-05 18:09:27 -04:00
Mark Harrah b6fc7ba0a7 generalized build loaders 2011-10-03 09:58:37 -04:00
Mark Harrah 1b0c619308 don't add _root_ to definitions in the empty package 2011-09-11 13:46:30 -04:00
Mark Harrah 0283ad2fc8 prefix automatic imports with _root_. Fixes #173. 2011-09-09 18:39:10 -04:00
Mark Harrah 5420a48a87 on-load message customizable, more specific message for plugin projects 2011-09-03 17:30:37 -04:00
Mark Harrah 14bf0886c9 Revert "scalacOptions, javacOptions in Compile in project/plugins/ affect build definitions"
This reverts commit 5793a3c66cd47087562072b69fb21d262cbbd0bc in favor of migrating project/plugins/
  to project/, which makes project/ a proper project.

Conflicts:

	main/Load.scala
2011-09-03 14:59:34 -04:00
Mark Harrah a824aa97e5 migrate project/plugins/ contents to project/. fixes #166 2011-09-03 14:59:34 -04:00
Mark Harrah d145fcc457 scalacOptions, javacOptions in Compile in project/plugins/ affect build definitions. fixes #166 2011-09-03 14:59:34 -04:00
Mark Harrah f7f6879f5e provide access to some project structure as a setting 2011-08-14 10:53:37 -04:00
Mark Harrah a19d5a799c try out simplified display of scoped keys 2011-08-04 07:20:25 -04:00
Mark Harrah 1c151d116a pull scoped key examples from references as well as definitions. ref #121
this should improve the keys available for completion, including globally defined keys
2011-07-24 22:35:27 -04:00
Mark Harrah 30baf74169 improved global logging and 'last' command 2011-07-24 17:36:42 -04:00
Mark Harrah 4ae0ba6b57 more refactoring of special settings: input tasks. fixes #114 2011-07-21 22:03:56 -04:00
Mark Harrah fb9e3bd516 apply finalTransforms to reapplied settings 2011-07-21 22:03:56 -04:00