Commit Graph

76 Commits

Author SHA1 Message Date
Mark Harrah 565cd3802f fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
Mark Harrah 19f4b423e1 fix undefined key suggestion for updating settings 2011-08-14 10:53:38 -04:00
Mark Harrah d36e02ea22 allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
Mark Harrah f795f70752 drop unused KApply from settings 2011-08-14 10:53:37 -04:00
Mark Harrah aa7ea022b8 clean up undefined reference checking to be a proper function 2011-08-14 10:53:37 -04:00
Mark Harrah 90f25b234e Settings overhaul, intended to be source compatible where it matters.
Moves many methods previously provided by implicit conversions directly onto the classes
  for better discoverability, especially with scaladoc.

1. Initialize now allowed in more places.  Minor renamings in Initialize to avoid conflicts
  a. map -> apply
  b. get -> evaluate
2. Identity on Scoped* is deprecated- it is now redundant
3. Can now use += and <+= for String, Int, Long, Double settings.
  There may be some problematic corner cases in inference, especially with +=, ++, <+=, <++=
4. Some classes with a scoped: ScopedKey[T] method now have scopedKey: ScopedKey[T] instead.
5. The implicit conversion to ScopedKey[T] is now deprecated.  Use the scopedKey method.
6. :== and ::= are now private[sbt] to better reflect that they were internal use only.
2011-08-14 10:53:37 -04:00
Mark Harrah 112f58db28 fix ScalaProviderTest 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 f8d12c5106 Seq[Setting[_]] <=> SettingsDefinition 2011-07-30 18:11:20 -04:00
Mark Harrah 3e9921a07a for undefined references, suggest the nearest defined scope that is more specific if it exists. fixes #135 2011-07-27 22:35:20 -04:00
Mark Harrah 24c74c6860 display all undefined settings at once 2011-07-25 21:59:22 -04:00
Mark Harrah bf8b577e4f proper resolvedScoped implementation 2011-07-19 21:29:05 -04:00
Mark Harrah b096d1b175 global settings preparation: separate compilation/loading stages of Eval 2011-07-09 16:54:41 -04:00
Mark Harrah f022f5057f settings example and simple test 2011-06-29 21:44:55 -04:00
Mark Harrah 51d279b3a3 add missing Attributed.get method 2011-06-29 21:44:37 -04:00
Mark Harrah 4945190eca rearrange products settings
1. enables exporting jar to classpath instead of class directory
2. starts to make post-processing class files easier
2011-05-31 18:37:07 -04:00
Mark Harrah a94247d1b6 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah 915b4d5e2a forgot a test 2011-05-26 22:24:26 -04:00
Mark Harrah 8c659328e9 back A.Key with Manifest, dropping object equality. fixes #27
type inference restoration pending switch to 2.9.0
2011-05-26 08:21:33 -04:00
Mark Harrah c5a312cedc task axis delegation 2011-05-23 08:13:13 -04:00
Mark Harrah 77be505093 support extra axis for streams 2011-05-07 22:02:06 -04:00
Mark Harrah 0ad682f2c1 basic optional input support 2011-05-07 22:02:06 -04:00
Mark Harrah babf642dfc speed up startup 2011-05-02 20:43:19 -04:00
Mark Harrah 815ed50dcf task/setting/attribute descriptions 2011-04-20 20:18:58 -04:00
Mark Harrah 818382766e add Types.idFun to replace Predef.identity, replace a :== overload
idFun[T]: T => T instead of identity[T](t: T): T
  doesn't require a new class file when used as a function value
replaced overloads of :== that assigned the Scoped reference on
  the right to the Scoped on the left with <<= scoped.identity
2011-04-16 11:24:58 -04:00
Mark Harrah d1af51da72 support explicitly defining sequences of settings in .sbt files 2011-04-13 19:09:33 -04:00
Mark Harrah f55414355e improve error messages for cycles 2011-04-13 19:06:36 -04:00
Mark Harrah 36034612bc String representation for Compiled 2011-04-13 19:04:53 -04:00
Mark Harrah ed27a8077d clean up scope delegation implementation 2011-04-12 20:58:59 -04:00
Mark Harrah e6cc26c10f move toSeq up from IMap to PMap 2011-04-07 22:50:26 -04:00
Mark Harrah 2b37df87b5 'inspect actual <key>' for actual dependencies, 'inspect <key>' for declared 2011-03-29 20:53:21 -04:00
Mark Harrah e498b9bd3a tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 63b1c3441b work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 3922580c58 join for tasks and settings 2011-03-01 08:48:14 -05:00
Mark Harrah 329709c750 configurable shell prompt
for example:
 Command.ShellPrompt := {
   s => Project.extract(s).cid + "> "
 }
2011-02-21 19:35:05 -05:00
Mark Harrah a58781edd3 fix issue with updating a non-definitive setting 2011-02-15 18:43:44 -05:00
Mark Harrah c9b932acd1 cleanup/rework related to Settings/InputParser
- drop fillThis: handle in injectStreams instead
- simplify InputParser construction (at the expense of implementation simplicity)
- split out ScopeKey/initialization parts of Setting with separate Initialize trait
  + makes Apply obsolete
  + makes the Initialize trait properly composable
  + this allowed splitting the InputParser definition into
    an Initialize for parsing and one for the action
- implement test-only
- inject resolved scope
2011-02-11 20:22:17 -05:00
Mark Harrah 06a346a543 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah c1cc482b94 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah eb10f7ee94 improve Setting construction
- make all constructing methods end in = for lowest precedence
- rename Scope constructing method 'apply' to 'in' to allow 'apply' to
    be used on single settings as well as tuples and 'in' reads better
2011-02-04 22:02:39 -05:00
Mark Harrah 65b341cdf0 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah 09efe98f8b KList updates
- exchange variance annotations on KList for a bounded existential
   in KList.toList
 - add foldr (reason for dropping variance annotations)
 - add functions stating equivalence between
   + KList[M,H :+: T] and KCons[H,T,M]
   + KList[M,HNil] and KNil
2011-01-28 21:07:29 -05:00
Mark Harrah f6abc17ddf convenience method on Settings to get all (Scope, AttributeKey[_]) pairs 2011-01-25 22:19:03 -05:00
Mark Harrah 1b9b2481f4 split load-time project structure scope resolution into two phases
first phase resolves referenced build URIs as each build is loaded
second phase resolves references without an explicit project ID
  (this requires the whole structure to be known and this isn't available during the first phase)
setting resolution is unchanged (done after both phases)
2011-01-25 22:14:02 -05:00
Mark Harrah 2687836ca5 improve commands, proper build/project base resolution
finish alias support
better project printing in 'projects'
completion support for 'help'
resolve URIs in ProjectRef against base URI of defining build in keys and project relations
resolve base directories and record build URI in BuildUnit
preserve relative paths in File to URI conversion for later resolution
2011-01-23 22:34:17 -05:00
Mark Harrah 087bc569e0 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 7ced3c0406 fully-scoped Settings 2011-01-18 18:48:32 -05:00
Mark Harrah 97951e8cf4 Remove obsolete comments 2011-01-18 18:43:58 -05:00
Mark Harrah 22a71f2432 Settings 2010-12-12 21:33:32 -05:00
Mark Harrah 6d2bbbe0c1 TaskGroups, Context in tasks, new tasks
add syncTask task constructor and copy-resources/copy-test-resources instances
add console-quick, test-console, console, test-run
add IntegrationTest trait
make Context available through 'context' task
update 'last' and 'show' to use Context to retrieve task by name
drop SingleProject (superseded by Project)
add TaskGroup to be able to inject groups of named tasks
fix watchPaths missing flat sources
proper logging in a few more places, such as compile
2010-11-24 14:18:59 -05:00