Commit Graph

76 Commits

Author SHA1 Message Date
Mark Harrah fdb47eca8d fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
Mark Harrah 8e4906f410 fix undefined key suggestion for updating settings 2011-08-14 10:53:38 -04:00
Mark Harrah 8ce9950327 allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
Mark Harrah 0b5e6484ba drop unused KApply from settings 2011-08-14 10:53:37 -04:00
Mark Harrah 93b64e0fd3 clean up undefined reference checking to be a proper function 2011-08-14 10:53:37 -04:00
Mark Harrah 01b27f5875 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 ebddc4009f fix ScalaProviderTest 2011-08-14 10:53:37 -04:00
Mark Harrah baea865ecf try out simplified display of scoped keys 2011-08-04 07:20:25 -04:00
Mark Harrah 96d46b2c7a Seq[Setting[_]] <=> SettingsDefinition 2011-07-30 18:11:20 -04:00
Mark Harrah 65c1320c60 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 9c70e479d8 display all undefined settings at once 2011-07-25 21:59:22 -04:00
Mark Harrah a6dd6b07b5 proper resolvedScoped implementation 2011-07-19 21:29:05 -04:00
Mark Harrah a6f7e9840c global settings preparation: separate compilation/loading stages of Eval 2011-07-09 16:54:41 -04:00
Mark Harrah a612cc0ba1 settings example and simple test 2011-06-29 21:44:55 -04:00
Mark Harrah c25c92da40 add missing Attributed.get method 2011-06-29 21:44:37 -04:00
Mark Harrah cb2c37afa0 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 f0608da0a8 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah fa90cc7de6 forgot a test 2011-05-26 22:24:26 -04:00
Mark Harrah 59ffcac74a 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 dd5177bc2b task axis delegation 2011-05-23 08:13:13 -04:00
Mark Harrah 13a0c155df support extra axis for streams 2011-05-07 22:02:06 -04:00
Mark Harrah 99110c1dd3 basic optional input support 2011-05-07 22:02:06 -04:00
Mark Harrah 375f09cd26 speed up startup 2011-05-02 20:43:19 -04:00
Mark Harrah b727cf94f2 task/setting/attribute descriptions 2011-04-20 20:18:58 -04:00
Mark Harrah ed7721bb7d 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 19ac4b51b2 support explicitly defining sequences of settings in .sbt files 2011-04-13 19:09:33 -04:00
Mark Harrah 8b7e421807 improve error messages for cycles 2011-04-13 19:06:36 -04:00
Mark Harrah 90aa53a19e String representation for Compiled 2011-04-13 19:04:53 -04:00
Mark Harrah c368a34d36 clean up scope delegation implementation 2011-04-12 20:58:59 -04:00
Mark Harrah 33206fc537 move toSeq up from IMap to PMap 2011-04-07 22:50:26 -04:00
Mark Harrah 1ddf5c8c31 'inspect actual <key>' for actual dependencies, 'inspect <key>' for declared 2011-03-29 20:53:21 -04:00
Mark Harrah c803a4a16d tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 95e5206c3f work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah f9e8534a89 join for tasks and settings 2011-03-01 08:48:14 -05:00
Mark Harrah 9e080d7418 configurable shell prompt
for example:
 Command.ShellPrompt := {
   s => Project.extract(s).cid + "> "
 }
2011-02-21 19:35:05 -05:00
Mark Harrah a6df926d41 fix issue with updating a non-definitive setting 2011-02-15 18:43:44 -05:00
Mark Harrah 86d82141a3 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 b503716e38 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah 80ae202965 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah 6688c4fdf1 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 536e95cca5 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah 2f41690269 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 e41d4cc8c8 convenience method on Settings to get all (Scope, AttributeKey[_]) pairs 2011-01-25 22:19:03 -05:00
Mark Harrah d906455aed 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 5f9c6f7f26 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 bcc8c37f4d multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah c24c0b7a23 fully-scoped Settings 2011-01-18 18:48:32 -05:00
Mark Harrah 783d732868 Remove obsolete comments 2011-01-18 18:43:58 -05:00
Mark Harrah c436a1d3eb Settings 2010-12-12 21:33:32 -05:00
Mark Harrah 8ed0f36dbe 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