Commit Graph

133 Commits

Author SHA1 Message Date
Mark Harrah aa2bd76e5e Support dynamic evaluations of optional settings (Initialize.evaluate). 2013-06-18 18:29:01 -04:00
Mark Harrah 3dd714b1fa Fully implement StaticScopes subclass of Initialize in order to support use in Task flatMap. Fixes #784. 2013-06-15 23:55:05 -04:00
Mark Harrah 61decef972 Derived settings: handle scopeLocal in derive and allow triggering dependencies to be filtered 2013-05-09 17:28:50 -04:00
Mark Harrah 19c78ac413 Show defining locations when there are cycles between derived settings 2013-05-09 17:28:50 -04:00
Mark Harrah ed11008126 only derive settings when all dependencies are defined 2013-05-09 17:28:49 -04:00
Mark Harrah 7a10aeca37 Default settings, which give internal sbt settings something like Plugin.globalSettings. 2013-05-09 17:28:40 -04:00
Mark Harrah 6ffff6fb35 support filtering the Scopes that a derived setting is applied in 2013-05-09 17:28:39 -04:00
Mark Harrah 08e4e3786f more specific error when dependencies of a derived setting are undefined 2013-05-09 17:28:39 -04:00
Mark Harrah 68ca419a7c require dynamic initialization to be explicitly enabled for derived settings 2013-05-09 17:28:39 -04:00
Mark Harrah 962a163f33 ensure a derived setting is only injected into a scope once 2013-05-09 17:28:39 -04:00
Mark Harrah 94f4d4e8c0 display derived settings information in 'inspect' 2013-05-09 17:28:39 -04:00
Mark Harrah 1c741a2e06 Derived settings, which allows injecting settings wherever their dependencies are defined.
This is an advanced feature initially intended for internal sbt use.
2013-05-09 17:27:43 -04:00
cheeseng b0bd2e838e Normalize line endings. 2013-04-25 00:06:52 +08:00
Mark Harrah 9d21724129 API for evaluating a setting or task in multiple scopes 2013-03-27 09:17:53 -04:00
Mark Harrah 4abc8f3d7b make classpaths exported 2013-02-28 17:59:38 -05:00
Mark Harrah d69db30af7 deprecations 2013-02-25 09:24:04 -05:00
Mark Harrah badee8bacd Update to 2.10.1-RC1
Needed an explicit type in PMap to workaround an error.
Need to drop tuple assignment of parser.parsed in input task macro as a workaround
  for macro/resetAllAttrs/pattern matching/annotation issue in RC1.
2013-02-13 07:17:20 -05:00
Mark Harrah 89c645db44 remove deprecated Initialize.scoped method 2013-01-28 17:14:53 -05:00
Paolo G. Giarrusso ef84332a51 Silence boring Eclipse warnings: catching all exceptions, part 2
These warning fixes are new since my last pull request, please verify.
2013-01-22 09:05:15 -05:00
Paolo G. Giarrusso e5673f7426 Silence boring Eclipse warnings: catching all exceptions
Here I make explicit where catching all exceptions is intended.
Mark Harrah corrected one decision during review.
2013-01-22 09:05:15 -05:00
Paolo G. Giarrusso cf08f2dd18 Don't catch org.scalacheck.Prop.Exception 2013-01-22 09:05:14 -05:00
Grzegorz Kossakowski 6c5e4ae21c Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Mark Harrah 237b80eb22 Transition to all camelCase key labels.
1. Hyphenated labels are still accepted when parsing scoped keys (so 'sbt test-only' still works)
   There is currently no timeline for removing this support for hyphenated keys.
2. Only camelCase is shown for tab completion.
3. AttributeKey.rawLabel provides the unnormalized label.
   This should only be used to implement support for accepting hyphenated keys as input for compatibility.
4. AttributeKey.normLabel provides the normalized label (hyphenated converted to camelCase)
2012-11-17 20:23:07 -05:00
Mark Harrah ed41547a47 InputTask macro
Similar to task macros, the parsed value is accessed by calling `parsed`
on a Parser[T], Initialize[Parser[T]], or Initialize[State => Parser[T]].
Values of tasks and settings may be accessed as usual via `value`.
2012-11-17 20:23:07 -05:00
Mark Harrah 64e000a37d Properly apply transformations to dynamic tasks.
That is, implement Initialize[Task[T]].flatten correctly.
This requires preserving the transformations applied in a scope so that
they can be applied to an Initialize value after static settings have been
evaluated.
2012-11-17 20:23:06 -05:00
Mark Harrah c95df4681b task setting macros for :=, +=, ++=
also, bump to 2.10.0-M6
2012-11-17 20:19:24 -05:00
Mark Harrah 15fec197c3 2.10.0-M5, different arity generalization
1. KList[M[_]] now instead of KList[HL <: HList, M[_]]
  a. head, tail work properly in this variant
  b. disadvantage is that full type not easily transformed to new type constructor
2. AList abstracts on K[L[x]], a higher order type constructor.
 A. Instances written for:
  a. KList
  b. Seq[M[T]] for a fixed T
  c. TupleN
  d. single values
  e. operate on one type constructor when nested
 B. Main disadvantage is type inference.  It just doesn't happen for K[L[x]].
    This is mitigated by AList being used internally and rarely needing to construct a K.
2012-11-17 20:19:24 -05:00
Mark Harrah dbe4b74c10 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 19315265c1 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Mark Harrah c8ffd6a54d better error message for null setting values 2012-09-18 13:22:40 -04:00
Eugene Vigdorchik b65a7078f1 Fix compilation error for 2.10.0-M5 for all but main project. 2012-07-17 15:20:37 -04:00
Mark Harrah 9fea4d1703 methods for working with Scala identifiers 2012-07-13 14:33:27 -04:00
Eugene Vigdorchik 35cfba21c0 Break compiler dependency from 'collection' project. 2012-07-13 14:33:26 -04:00
Mark Harrah fbb09b1433 fix task tests 2012-07-01 15:16:41 -04:00
Mark Harrah 94b4a3784a rank settings, tasks and use this to restrict help/settings/tasks output. fixes #315 2012-03-25 20:35:09 -04:00
Mark Harrah c7c4969eb7 Revert "work around for 2.10. pattern matching on KNil now requires KNil()"
This reverts commit 2f726b34c3.

This commit caused "java.lang.Error: typeConstructor inapplicable for <none>" when running 'sxr'
2012-03-17 22:58:13 -04:00
Mark Harrah 8fc5db4a8a work around for 2.10. pattern matching on KNil now requires KNil() 2012-03-17 19:31:03 -04:00
Indrajit Raychaudhuri 51db55d847 Replace `Pair.apply` with `Util.pairID`, avoids extra class generation 2012-03-12 05:25:12 +05:30
Mark Harrah d6bc087271 handle absence of CONT signal 2012-03-09 13:38:45 -05:00
Mark Harrah 1848d14815 handle CONT signal to reset JLine after resuming from stop. fixes #394 2012-03-09 07:08:38 -05:00
Mark Harrah 5893aa0e55 cleanup SourcePosition hierarchy 2012-02-25 12:01:07 -05:00
Eugene Vigdorchik 786fe5f4ce Remember the range for settings read from .sbt files 2012-02-16 16:58:51 +04:00
Mark Harrah 6e90399a30 Merge pull request #342 from vigdorchik/wip_sourcepos_eugenevigdorchik
Wip sourcepos eugenevigdorchik
2012-01-30 14:34:03 -08:00
Eugene Vigdorchik e2c1ef32fa More cleanup. 2012-01-30 19:06:26 +04:00
Eugene Vigdorchik 5f0774fe9a Change SourcePosition definition + minor cleanup. 2012-01-30 19:06:24 +04:00
Eugene Vigdorchik c6cba20682 Add SourcePosition to setting. 2012-01-30 19:06:18 +04:00
Mark Harrah 4945534614 split command core to main/command/ 2012-01-29 14:36:27 -05:00
Mark Harrah 74eaee5a5e new aggregation approach, still need exclusion mechanism 2012-01-09 08:01:24 -05:00
Mark Harrah 392ec5150a moved task axis before the key 2012-01-09 08:00:29 -05:00
Mark Harrah 9e708b17e2 fixes #280. sort aggregate and classpath dependencies separately to keep cycle detection for them separate 2011-11-27 17:48:01 -05:00