Commit Graph

1815 Commits

Author SHA1 Message Date
Mark Harrah 6a70b9f565 Proper support for stashing on-failure handlers. Fixes #732. 2013-04-30 18:55:02 -04:00
Mark Harrah 8813712c60 Versioned global sbt directory. Fixes #735. 2013-04-30 18:55:02 -04:00
Mark Harrah fb0a8c463b Scope packagedArtifacts for publish*Configuration to publish* to make it easier to filter artifacts for different publish targets. 2013-04-26 18:51:58 -04:00
cheeseng 48fb0c4ed6 Initial working version of makeParallel that support nested tasks. 2013-04-25 00:06:52 +08:00
cheeseng 3109912d00 Added support of nested test tasks when tests are executed InProcess and sequentially. 2013-04-25 00:06:52 +08:00
cheeseng ad18b4f3ae Added code to tag test task using Array[String] returned from Task.tags method. 2013-04-25 00:06:51 +08:00
cheeseng f862e64911 Added support of custom summary message returned from Runner.done method. 2013-04-25 00:06:51 +08:00
cheeseng 1ec2118219 -Moved code that count test results from TestLogger to SuiteResult.
-Print the results in Tests.showResult.
2013-04-25 00:06:41 +08:00
cheeseng a76523a5f6 Added >1 framework class per framework support, this enables sbt to support both old and new framework API at the same time. 2013-04-23 12:00:05 +08:00
cheeseng f38a244d0f Added code to call Runner's done() method in both InProcess and SubProcess cases. 2013-04-23 12:00:03 +08:00
cheeseng 244e65cd79 -Changed behavior so that only a single Runner instance is used to run tests in multiple test groups.
-Added code to support remoteArgs in test-interface 1.0.
2013-04-23 11:09:50 +08:00
cheeseng b83d378cd0 Changed ForkTests to call acceptorThread.join(), to make sure that acceptorThread is finished before Acceptor.result is called. 2013-04-23 11:09:48 +08:00
cheeseng 18bc8423b5 Initial version that uses new framework API in test-interface 1.0:
-Changed usages and implementations of interfaces in org.scalatools.testing._ to use/implement interfaces/classes in sbt.testing._ instead.
-Added sbt.testing to interfaceFilter in TestFramework.createTestLoader method to enable loading of classes in sbt.testing package.
-Added FrameworkWrapper.java to wrap old framework implementations.
-Added code in ForkMain.java to serialize Selectors.
2013-04-23 11:09:37 +08:00
Mark Harrah 8d0c1408c0 Allow -cp argument to 'apply' command to be quoted. Fixes #724. 2013-04-12 12:47:45 -04:00
Mark Harrah a4c059cb7e Better auto-generated IDs for default projects. Fixes #554.
For the global plugins project, the default ID is "global-plugins".
For a normal project, the default ID is the name of the build directory.
The ID of a build definition for one of the above appends -build.
2013-04-10 20:15:28 -04:00
Mark Harrah 96b2ca7ce4 Use a default root project aggregating all projects if no root is defined. Fixes #697.
Ref #554.
2013-04-10 20:15:27 -04:00
Mark Harrah 23be591c95 memoize .sbt file loading within a build and only add a Project once
This fixes an infinite loop when defining a Project in a .sbt file
with the build base directory as the project base directory.
This allows the standard behavior for interpreting settings from
.sbt files for both Projects defined in .sbt files as well as in
.scala files. That is, settings in .sbt files in "." go in all
projects with "." as their base directory.

Ref #554.
2013-04-10 20:15:27 -04:00
Mark Harrah b990a29c09 Undeprecate ScalaInstance.libraryJar, which will be reliable for modularized Scala. 2013-04-08 09:21:59 -04:00
Mark Harrah 382b55402b don't put Scala jars on forked boot classpath by default
Ideally, Scala jars on the normal classpath would be moved to the boot classpath,
but this is more involved.
2013-04-05 09:02:24 -04:00
Mark Harrah f18ddd2a88 make ScopeFilter accessible without a qualifier
Should be improved: ideally there would only be a single top-level alias.
2013-04-03 12:44:35 -04:00
Mark Harrah 322a49faba Make autoCompilerPlugins support compiler plugins defined in a internal dependency
requires the compiler plugin project to define exportJars := true
2013-04-03 12:44:35 -04:00
Mark Harrah 45155e2616 move to <key>.all inDefaults 2013-03-28 16:08:24 -04:00
Mark Harrah 7605818f04 workaround for ThisProject not being properly resolved by Scope.resolve* 2013-03-28 16:08:23 -04:00
Mark Harrah df5e79e3be API for evaluating a setting or task in multiple scopes 2013-03-27 09:17:53 -04:00
Mark Harrah 2f13b7a8c7 add publish-m2 task for publishing to ~/.m2/repository. Fixes #485. 2013-03-27 09:17:53 -04:00
Mark Harrah 6327e11a59 Object->AnyRef change in EvalTest 2013-03-18 09:52:57 -04:00
Mark Harrah 5f41b06026 fix stray val 2013-03-12 15:29:27 -04:00
Mark Harrah fd2823e827 clean up 'inspect' command and limit Related section to 10 keys 2013-03-12 14:51:19 -04:00
Mark Harrah 718fa91772 Publish test artifacts in Test configuration and corrects classifier to 'tests'. Fixes #683 2013-03-08 20:11:53 -05:00
Mark Harrah 5b80e8c941 use .evaluated instead of .value for InputTasks 2013-03-08 14:23:31 -05:00
Mark Harrah 387f06e73a partialInput/fullInput methods on InputTask to apply input programmatically. ref #407. 2013-03-08 14:23:31 -05:00
Mark Harrah d6f78db0c9 Construct input tasks in multiple steps to allow input task reuse. Fixes #407. 2013-03-08 14:23:30 -05:00
Mark Harrah ada663106d Further Scala handling refinements. fixes #690.
* No longer override the Scala version to force it to be scalaVersion.  Custom configurations might use an independent version.
* Only substitute the jars from scalaHome when the major.minor versions line up for the substituted artifact
* Allow the Scala version to use for dependency resolution to be specified when using ++ to change Scala home: ++ version=/path/to/scala/home
2013-03-05 17:22:21 -05:00
Mark Harrah 925ec98900 Restore class files after an unsuccessful compilation.
This is useful when an error occurs in a later incremental step that
requires a fix in the originally changed files.

CC @gkossakowski
2013-03-04 07:24:31 -05:00
Mark Harrah bf1831eb88 fix TagsTest test size generator and properly set Tags.All on tag maps 2013-03-03 19:43:37 -05:00
Mark Harrah 1fdf3fa38c support explicit types on lazy vals in definingValName
lazy val x: Project = project has a rather different enclosing tree
 than lazy val x = project.
2013-03-03 19:43:37 -05:00
Mark Harrah 54b103f4c7 Tag the actual test task and not a later task. Fixes #692. 2013-03-03 19:43:36 -05:00
Mark Harrah 9d82718897 disable printing of success for 'export' command 2013-02-28 17:59:39 -05:00
Mark Harrah a263b7e91f when exporting settings, send the output directly to the console 2013-02-28 17:59:38 -05:00
Mark Harrah dde24d5e5a make classpaths exported 2013-02-28 17:59:38 -05:00
Mark Harrah f2d29d8678 Export approximate command lines executed for 'doc', 'compile', and 'console' 2013-02-28 17:59:38 -05:00
Alex Dupre 92e99cfef0 Switch from JLine 1.0 to 2.10. 2013-02-26 07:39:33 -05:00
Mark Harrah 1870edfd27 more deprecations 2013-02-26 07:39:23 -05:00
Mark Harrah 29a26a13ab Custom implementation of Streams can be bound to Keys.stateStreams in State. 2013-02-25 09:24:05 -05:00
Mark Harrah 0cf702efd5 Move GlobalLogBacking.newLogger to GlobalLogging to make the role of GlobalLogBacking clearer. 2013-02-25 09:24:05 -05:00
Mark Harrah f6d73128fc deprecations 2013-02-25 09:24:04 -05:00
Mark Harrah a61421dcb8 Split ConsoleOut into its own file, track the global ConsoleOut and use it instead of StandardMain.console 2013-02-25 09:24:04 -05:00
Mark Harrah 68443fc047 minor improvement to use stripSuffix in DotGraph 2013-02-22 16:31:32 -05:00
Mark Harrah 76ebc3a01d force test definition sequences to fix tests/order 2013-02-21 20:45:07 -05:00
Mark Harrah 5b5577a187 Replace Scala jars in UpdateReport with ScalaProvider jars in more situations. Fixes #661.
Specifically, when the Scala version for sbt is the same as that for the project being built,
the jars in UpdateReport should be the same as those in ScalaProvider.  This is because the
loader will come from the ScalaProvider, which uses jars in the boot directory instead of the
cache.  The first part of the fix for #661 checks that loaded classes come from the classpath
and so they need to line up.
2013-02-21 20:44:26 -05:00
Mark Harrah bd0f208302 Class loader that restricts loading to a classpath. Ref #661.
It is now used for consoleProject, run, and test.  This loader verifies
that all classes loaded through it came from a particular classpath or
from the "root" loader.  Root loader here is the launcher loader so that
those classes with native bindings come from that shared loader.
2013-02-21 20:44:26 -05:00
Mark Harrah 98e2662bc4 Make full set of ForkOptions configurable for both run and test. Fixes #665.
Environment variables may be passed by configuring the envVars task.
2013-02-21 20:44:26 -05:00
Mark Harrah e06ada8fb7 Add help for ++ and + commands 2013-02-19 14:33:22 -05:00
Mark Harrah 2047849b50 remove deprecated command strings 2013-02-19 14:33:22 -05:00
Mark Harrah 824f10aa9a better error message when help search syntax isn't a valid java.util.regex 2013-02-19 14:33:22 -05:00
Grzegorz Kossakowski 70036812ab Introduce incremental compiler options.
Introduce a way to configure incremental compiler itself instead
of underlying Java/Scala compiler.

Specific list of changes in this commit:
  * Add a method to `xsbti.compile.Setup` that returns incremental
    compiler options as a `java.util.Map<String, String>`. We considered
    statis interface instead of a `Map` but based on mailing
    list feedback we decided that it's not the best way to go because
    static interface is hard to evolve it by adding new options.
  * Since passing `java.util.Map<String, String>` not very convenient
    we convert it immediately to `sbt.inc.IncOptions`
  * Add options argument to various methods/classes that implement
    incremental compilation so in the end options reach
    `sbt.inc.IncOptions` object
  * Add `incOptions` task that allows users to configure incremental
    compiler options in their build files. Default implementation of
    that tasks returns just `IncOptions.DEFAULT`
  * Both system property `xsbt.inc.debug` and `IncOptions.relationsDebug`
    trigger debugging of relations now. In the near future, we should
    deprecate use of `xsbt.inc.debug`.
2013-02-19 12:23:07 -05:00
Grzegorz Kossakowski 4fe0c02536 Break long argument list into multiple lines.
Some methods take a lot of arguments and I'm about to add one more
which will make them too long for easy reading.

This change is changes code formatting only. That's done on purpose
to make it easier to review other changes.
2013-02-19 12:18:26 -05:00
Grzegorz Kossakowski d6f4c5ae4f Strip down trailing whitespace.
I have Eclipse configured to do that automatically when saving file.
I decided to finally commit those changes to files I touch a lot.
2013-02-19 12:18:26 -05:00
Mark Harrah 9ab1b98d2a Use @compileTimeOnly for .value and .parsed methods.
Needed to set position on wrapper method for correct error message position.
2013-02-19 08:54:40 -05:00
Mark Harrah ae74fff88c When serially executing tests*, order tests by testOnly filter order
* parallelExecution in test := false

cc @bantonsson
2013-02-13 10:27:43 -05:00
Mark Harrah 4b61747dfc remove deprecated scaladocOptions 2013-02-13 08:12:51 -05:00
Mark Harrah 76e0a941ba 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 c0b1bb51e6 -Xlint 2013-02-04 17:30:31 -05:00
Mark Harrah 8cb7e23011 Load global plugins in their own class loader and replace the base loader with that. Fixes #272.
Also, replace the base classpath with the global classpath.
2013-02-01 13:10:27 -05:00
Mark Harrah 52954b3ae7 skip duplicate entries in PluginClassLoader 2013-02-01 13:10:26 -05:00
Mark Harrah b2eb4661df Support 'reload plugins' after ignoring a failure to load a project.
This can be used to debug problems with dependencies or code.
It won't help with .sbt files, however.
2013-01-29 17:47:29 -05:00
Mark Harrah 6c5cafb55b Remove support for deprecated alternative to project/ directory name. 2013-01-29 17:47:29 -05:00
Eugene Yokota 125727ba83 support binary version in launcher 2013-01-29 16:55:13 -05:00
Mark Harrah e47b8ab578 Make 'eval' command work when project isn't loaded. 2013-01-29 08:47:04 -05:00
Mark Harrah a57407375e Implement InputTask.~= to operate directly on the result type T instead of an InputTask[T]. 2013-01-28 18:01:35 -05:00
Mark Harrah 8d11d1087a Mark the tests failed exception as having already provided feedback 2013-01-28 17:14:53 -05:00
Mark Harrah 76a02c463f Temporarily use a Scala home with '++ /path/to/scala/home' 2013-01-28 17:14:53 -05:00
Mark Harrah 13ea342b7a use standard Context.weakTypeOf 2013-01-28 17:14:53 -05:00
Mark Harrah 076480b50a Reduce InputTask to the ideal wrapper around 'State => Parser[Initialize[Task[T]]]'
Ref #407.
2013-01-28 17:14:53 -05:00
Paolo G. Giarrusso 236143be8d 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 19aaaea923 Fix compile error in Eclipse
Let's consider compile/inc/src/main/scala/sbt/CompileSetup.scala.
There are multiple Output types, and according to Eclipse importing
xsbti.compile.Output within the package sbt does not work because the
import is shadowed by sbt.Output.

However, compilation proceeds just fine within SBT. Reproducing the
example however gives the same warning, if the files are in the same
project. The problem here is probably that the shadowing Output
is declared in the same package but in another project, and that seems
to give different results in Eclipse and SBT, but relying on
that looks fragile.
Reading the spec is inconclusive since it doesn't match with Scalac's
behavior — see
https://groups.google.com/d/topic/scala-internals/-Rquc2HBYLk/discussion .

ForkTests has the same behavior as CompileSetup.
2013-01-22 09:05:15 -05:00
Mark Harrah 9013e00fdd Remove InputStatic and parsedResult.
This cleans up the InputTask implementation.  It no longer requires the hook
in setting loading (Load.finalTransforms) and has better types.
2013-01-18 18:49:26 -05:00
Mark Harrah a9ac6b3983 Configurable conflict manager and corresponding documentation on conflictManager, dependencyOverrides, and force(). Fixes #603. 2013-01-11 16:01:31 -05:00
Mark Harrah a48ee68d17 Additional convenience methods on Project for configuring the .sbt files processed.
The Project.setSbtFiles and addSbtFiles methods combined with the current sbt version
available from ComponentMangaer.version (suggestions for a better location are welcome),
should make it straightforward to load different .sbt files based on the sbt version.

Fixes #467.
2013-01-11 16:01:30 -05:00
Mark Harrah 36a3203226 API documentation for Project getters 2013-01-11 16:01:30 -05:00
Mark Harrah a152965933 Option to automatically manage API documentation mappings
Set autoAPIMappings := true to enable.

Then, set apiURL to the base URL of the API documentation for a project.
This will get stored in an extra attribute in the ivy.xml or as a property
a pom.xml.

When using managed dependencies that have set their apiURL, the -doc-external-doc
setting for scaladoc will be automatically configured.  Note that this option
will only be available in Scala 2.10.1 and so enabling autoAPIMappings for
earlier versions will result in an error from scaladoc.

For unmanaged dependencies or dependencies without an automatic apiURL, add the
(File,URL) mapping to apiMappings.  The File is the classpath entry and the URL
is the location of the API documentation.
2013-01-10 16:06:12 -05:00
Mark Harrah e5a9d31d6f Make exclude-classifiers per-user instead of per-build. Fixes #634. 2013-01-10 16:06:12 -05:00
Mark Harrah aff95baf0e Provide cacheDirectory via Streams instead of a separate setting
This is cleaner and makes it harder for the task author to have overlapping caches.
2013-01-10 16:06:12 -05:00
Mark Harrah 1ef258d88e Convenience method Project.configure(f,g) for g(f(proj)) to be used to apply plugin configuration provided as a Project=>Project transformation 2013-01-10 16:06:12 -05:00
Mark Harrah ae9b6d1e47 Support 'val p = project' via a 'project' macro 2013-01-10 16:06:12 -05:00
Mark Harrah aefad9c033 when looking for the enclosing val definition in definingValName, allow the macro to be in an expression 2013-01-10 16:06:12 -05:00
Mark Harrah a8b93dfed3 Project.in(File) for setting the base directory of a Project 2013-01-10 16:06:11 -05:00
Mark Harrah 87faa7191a API documentation for Project transforming methods 2013-01-10 16:06:11 -05:00
Mark Harrah f0a72e53e8 use proper separator in command tab completion 2013-01-03 11:37:40 -05:00
Mark Harrah aba717c0c5 cleanup imports in BuildStructure 2013-01-03 11:37:40 -05:00
Mark Harrah ea3e5c3548 Allow cleanKeepFiles to contain directories
The directory contents will be kept as will empty directories.
2012-12-19 10:17:56 -05:00
Mark Harrah 329b42453b move Eval test to correct location 2012-12-19 10:17:56 -05:00
Mark Harrah f6317a5c75 remove deprecated Extracted.evalTask 2012-12-19 10:17:56 -05:00
Mark Harrah dd66d8b17a API documentation in Extracted 2012-12-19 10:17:56 -05:00
Mark Harrah d156ccfe4e Further refinements to Scala version handling
- override location of resolved Scala jars when scalaInstance is unmanaged
- document current behavior: scalaHome, update, scalaInstance, autoScalaLibrary, managedScalaInstance
2012-12-16 18:56:22 -05:00
Mark Harrah 71f12fbcdb 2.9 compatibility for incremental compilation modules 2012-12-11 14:41:22 -05:00
Mark Harrah f388b07632 fix inputTask construction method and put sbt package object in proper directory 2012-12-09 20:40:41 -05:00
Mark Harrah e3745540c9 More cleanup of Scala version handling, including managedScalaInstance to control automatic 'scala-tool' configuration and dependencies. 2012-12-09 20:40:41 -05:00
Mark Harrah 912948f5c8 update 'apply' help string to include -cp option 2012-12-09 20:40:41 -05:00
Mark Harrah d4fd136192 support defining Projects in .sbt files
vals of type Project are added to the Build
2012-12-09 20:40:41 -05:00
Grzegorz Kossakowski ef39aeb9c1 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 f55c8ca15e Tab completion of right side of setting in 'set' command no longer necessary with the new task syntax. 2012-12-06 19:11:07 -05:00
Mark Harrah 769ecbace5 add scala-tool configuration and dependencies when configuring via pom.xml/ivy.xml 2012-12-06 07:25:41 -05:00
Mark Harrah 8f25b07d71 -cp/-classpath option to 'apply' command 2012-12-04 21:08:39 -05:00
Mark Harrah 005b2b356f fix IO tests, which needed scala-compiler.jar on the classpath 2012-12-04 13:20:03 -05:00
Josh Suereth f338018bd1 Modified SBT defualts to pull in app repositories.
* If SBT launcher supports app repositories these are added by default.
* IF SBT launcher does not support app repositories, previous defaults are used.
2012-12-04 13:10:10 -05:00
Josh Suereth 0c08c1169e Bumped the Scalatest/Specs versions for 2.10.0-RC3
* Modified tests to use mutable Specs API
* Fixed a few minor specs issues.
2012-12-04 13:10:09 -05:00
Mark Harrah cdd2e72cdf move top-level settingKey,taskKey,inputKey objects to Def and package object
avoids class file name collision on case insensitive filesystem
2012-12-04 13:08:52 -05:00
Mark Harrah 495e7c6f62 Disable aggregation for `run-main` by default 2012-12-03 08:56:22 -05:00
Mark Harrah 2598a8f1a9 extend source positions to all setting creation methods 2012-12-02 03:17:20 -05:00
Mark Harrah f73e77de16 convert () to {} to workaround macro bug
(bug is fixed in 2.10.x branch)
2012-12-02 03:17:20 -05:00
Mark Harrah 2f2596c133 record source name or full path for settings/tasks depending on whether the enclosing package is the empty package 2012-12-02 03:17:20 -05:00
Mark Harrah a8d0af9464 split out KeyMacro.enclosingTrees 2012-12-02 03:17:20 -05:00
Mark Harrah 8400b992af source positions for settings/tasks in .scala files 2012-12-02 03:17:20 -05:00
Mark Harrah 3bff14d77a taskKey,settingKey,inputKey macros to get name from the defining val 2012-12-02 03:17:20 -05:00
Mark Harrah 538f687208 Use and methods instead of mapR,mapFailure,flatFailure,flatMapR 2012-12-02 03:17:19 -05:00
Mark Harrah c23226d4ae comment EvaluateTask.apply methods 2012-12-02 03:17:19 -05:00
Mark Harrah bb1725f580 Allow root project to be explicitly specified in Build.rootProject 2012-11-18 10:55:26 -05:00
Mark Harrah a9289ad0ce Explicitly specify type parameters in calls to KCons in KList builder.
scalac couldn't infer the type constructor otherwise.
2012-11-18 09:20:26 -05:00
Mark Harrah a38bce8d41 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 49e7214fe3 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 79aeb7b00e fix testListeners definition, which mixed old and new styles of definitions, resulting in runtime error
This is an example of the need for an annotation to indicate a method shouldn't survive type checking.
2012-11-17 20:23:07 -05:00
Mark Harrah 522414cd99 AbsTypeTag -> WeakTypeTag and converted more settings 2012-11-17 20:23:06 -05:00
Mark Harrah e47a357ab7 Resolve Scala version for projects in the normal `update` task.
1. Scala jars won't be copied to the boot directory, except for those needed to run sbt.
2. Scala SNAPSHOTs behave like normal SNAPSHOTs.  In particular, running `update` will properly re-resolve the dynamic revision.
3. Scala jars are resolved using the same repositories and configuration as other dependencies.
4. Classloaders (currently, Scala classloaders) are cached by the timestamps of entries instead of Scala class loaders being cached by version.

TODO: Support external dependency configuration
2012-11-17 20:23:06 -05:00
Mark Harrah 4cc5bece70 address a valid unchecked warning
In order to correctly pattern match Tree subclasses in reflection/macros,
scalac needs the corresponding implicit for *Tag available because the types
are only abstract types.
2012-11-17 20:23:06 -05:00
Mark Harrah 2c7e9cd893 Scala 2.10.0-M7 2012-11-17 20:23:06 -05:00
Mark Harrah b453af7c45 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 0a642f2283 move explicit task/setting macros to Def, move to AbsTypeTag 2012-11-17 20:23:06 -05:00
Mark Harrah 3790d6656a failing use case 2012-11-17 20:23:06 -05:00
Mark Harrah 90faeff546 Task macro cleanup
* use normal TypeTree constructor
* remove unnecessary 'with Singleton' in macro utility
* integrate changes suggested by @xeno-by
* add refVar back and call asTypeConstructor instead of asType to refer to a type variable
2012-11-17 20:22:39 -05:00
Mark Harrah 1c22478edc task setting macros for :=, +=, ++=
also, bump to 2.10.0-M6
2012-11-17 20:19:24 -05:00
Mark Harrah 2e120ed86f split out InputTask 2012-11-17 20:19:24 -05:00
Mark Harrah 8d6dd10798 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 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 87e406fcbd support vals/defs in build.sbt
* must start with val, lazy val, or def (no modifiers currently)
* visible only within the same .sbt file
* multiple definitions allowed without being separated by blank lines
* no blank lines allowed within a definition
2012-11-17 16:27:25 -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
Eugene Vigdorchik 960d17c358 Use java.lang.Throwable.setStackTrace. Proper fix for #543. 2012-11-15 10:14:59 -05:00
Mark Harrah 1c1e5c4977 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Mark Harrah 9bf5405621 Fixes #594. Global plugin products weren't being included on Compile classpath of build definition project. 2012-11-10 18:18:15 -05:00
Mark Harrah 313bb1f8f2 deprecate Project-level delegation 2012-10-29 12:34:47 -04:00
Mark Harrah e1c3240eae split ForkTests react() out to workaround SI-6526 2012-10-29 12:22:07 -04:00
Mark Harrah e532d20732 cleanup of #585: compatible with earlier launchers 2012-10-29 09:52:10 -04:00
Eric Bowman 835ee0d1b3 XSBT-5: maven-style ivy repo support in the launcher config
Change-Id: I22c1ff126961d61d92e2e45a5b7eff329d3def90
Reviewed-on: https://gerrit.gilt.com/10950
Reviewed-by: Eric Bowman <ebowman@gilt.com>
Tested-by: Eric Bowman <ebowman@gilt.com>
2012-10-29 09:04:42 -04:00
Mark Harrah 1612af8dbb Parser.failOnException method, don't let rhs of alias fail the parse. Fixes #572.
alias only parses the right hand side for tab completion help.
The assignment should happen whether or not the parse is successful because the
context may change by the time the alias is actually evaluated.
In particular, the 'set' command uses the loaded project for tab completion in 0.12.1.
When a .sbtrc file is processed, the project has not been loaded yet, so aliases
involving set fail.  Wrapping the rhs in failOnException addresses this.
2012-10-15 12:42:27 -04:00
Mark Harrah a2c2af8b08 add [every] to syntax summary of 'set' command 2012-09-22 16:45:24 -04:00
Kevin Scaldeferri 933d5fb0fe Include all JAR packaging types in the default classpathTypes. Fixes #550
These special types need to be recognized in both the POM parser and added to the classpath.
The previous code was not DRY, and eclipse-plugin was in one but not the other.  This ensures
new types can be added in the future without risking this type of oversight.
2012-09-21 16:56:56 -04:00
Mark Harrah b353d0b94c better internal interfaces to javadoc/scaladoc/raw scalac 2012-09-18 16:30:33 -04:00
Mark Harrah 37661c9576 Strip explicitArtifacts from projectDependencies. Fixes #546.
The module definition (ModuleID) got copied as to be the dependency definition,
but as a dependency definition, it should not include explicit artifacts.
2012-09-12 14:31:57 -04:00
Mark Harrah 2010ae7b3c back all ConsoleLoggers by a common ConsoleOut
The common ConsoleOut merges (overwrites) consecutive Resolving xxxx ... lines
when ansi codes are enabled.
2012-09-01 09:56:09 -04:00
James Roper a3e9b53fe5 Pulled mapper folding into a function for reuse 2012-08-31 06:24:16 -04:00
James Roper 702ee44e0e Source position mapper support 2012-08-31 06:24:16 -04: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 3dd3a18996 Force update on change to last modified time of artifacts or cached descriptor.
This is part 2 of the fix for #532.  It may also fix issues when working with
multiple local projects via 'publish-local' and binary dependencies.
2012-08-29 11:13:48 -04:00
Mark Harrah c7f6ce4aec per-project resolution cache that deletes cached files before each update
These are the ivy files, properties, and resolve reports for the project,
not dependencies and their artifacts.
2012-08-28 11:55:24 -04:00
Mark Harrah cbaa805511 clean up temporary directory on exit. ref #502
Directory was already empty, this just removes the empty directory.
2012-08-27 09:14:00 -04:00
Mark Harrah feffe4feb0 toStrings for some concurrent restrictions 2012-08-27 08:33:33 -04:00
Eugene Vigdorchik b4e64d37db Various fork in Test fixes. Closes #512 #515. 2012-08-25 07:15:23 -04:00
Eugene Vigdorchik adb7d42f73 Fix compilation error for 2.10.0-M5 for all but main project. 2012-07-17 15:20:37 -04:00
Mark Harrah 59c025a767 run either javadoc (Java sources only) or scaladoc (Scala only or mixed), but not both 2012-07-17 13:51:17 -04:00
Mark Harrah cbc94f9cb6 experimental tab completion for 'set' 2012-07-13 14:33:28 -04:00
Mark Harrah 2a6ad35502 correct CommandUtil.aligned to use provided prefix 2012-07-13 14:33:27 -04:00
Mark Harrah 2cf9b4bf6e combined cutoff for settings and tasks 2012-07-13 14:33:27 -04:00
Mark Harrah d6d922a858 display message after 'set' with defined and affected scopes+keys 2012-07-13 14:33:27 -04:00
Mark Harrah ad621ecbee update help for `inspect` to include latest options 2012-07-13 14:33:26 -04:00
Eugene Vigdorchik 76943e82ed Add xsbti.Reporter to required inputs instead of maxErrors. 2012-07-13 14:33:26 -04:00
Eugene Vigdorchik b5a29987e6 Changes required to use sbt as-is from Scala-IDE. 2012-07-13 14:33:26 -04:00
Indrajit Raychaudhuri 82a338b3a8 Add OSX JNI library extension in includeFilter by default. Closes #500 2012-07-08 00:38:25 -04:00
Mark Harrah 5a93605d75 'orbit' packaging should be handled like a standard jar. fixes #499. ref #463 2012-07-06 10:28:51 -04:00
Mark Harrah 364d49d4b4 Translate `show x y` into `;show x ;show y` . fixes #495 2012-07-06 10:28:51 -04:00
Mark Harrah 464193d0f6 sourcesInBase setting. fixes #494 2012-07-06 10:28:51 -04:00
Mark Harrah 3d0eb1ac11 better fix for tab completion on invalid project IDs 2012-07-01 15:16:42 -04:00
Josh Suereth 171ff5f808 Fix override repositories flag so we can still resolve inter-project dependencies. 2012-06-25 18:48:06 -04:00
Mark Harrah dc2aaaf7ac show full stack trace by default when running in batch mode 2012-06-22 22:11:24 -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
Mark Harrah bfe78f174c fix makePom delegation 2012-06-16 23:40:52 -04:00
Mark Harrah 47bef51491 tweak command list for help ordering 2012-06-15 07:57:47 -04:00
Mark Harrah 0578a49e43 make publishArtifact setting for makePom affected by more general setting. fixes #484. 2012-06-15 07:54:02 -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 ba55430727 update session settings display for multi-line changes 2012-06-02 20:54:45 -04:00
Eugene Vigdorchik d7f7a243e5 Handle the case of missing ~/.sbt/staging directory when asking for a source project dependency. 2012-06-02 19:03:38 -04:00
Mark Harrah e37145137f Revert "use the same logic for selecting extra attributes in addSbtPlugin as in pluginProjectId"
Doesn't compile.

This reverts commit 8f14df1930.
2012-05-30 21:48:06 -04:00
Josh Suereth 76d24091fa Fixes from mark's suggestions.
* Puppies may rest easy from the removal of Option.get calls.
* better names for config values
* Added a helper method to avoid any possible code duplication, besides repeated def, val, match and for keywords.
  Looking for ways to remove this duplciation ASAP.
* Moved from pattern match to ._1, my most hated member.
2012-05-30 21:42:45 -04:00
Josh Suereth 52307d27a4 Adding ability to override resolvers from launcher. * Added key which pulls the repositories used by the launcher, if the API allows. * Added which configures whether or not should just use . * Added parsing to launcher so java property is used by default for override setting. 2012-05-30 21:42:45 -04:00
Johannes Rudolph 8f14df1930 use the same logic for selecting extra attributes in addSbtPlugin as in pluginProjectId
This enables us to use the same plugins.sbt in projects for release and
pre-release versions of sbt.
2012-05-30 20:02:30 -04:00
Mark Harrah be3d565284 global plugin settings. ref #378 2012-05-30 20:02:24 -04:00
Mark Harrah e8fcdc07e8 set organization at higher scope for default project 2012-05-27 20:03:08 -04:00
Mark Harrah cf2402cea4 another fix related to #460 2012-05-23 20:13:52 -04:00
Mark Harrah 9cf2c41fb8 fix exception thrown when tab completing invalid project name 2012-05-21 22:23:44 -04:00
Mark Harrah a099754109 if defined, use explicit historyPath at ThisBuild or Global project scope 2012-05-21 22:23:44 -04:00
Mark Harrah 4b724e1102 inline tasks, for internal use later 2012-05-19 18:20:20 -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 f4c0a0d9a6 display relative key strings for incomplete tasks 2012-05-19 18:20:19 -04:00
Mark Harrah 53ee1c5adf hk2-jar packaging should be handled like a standard jar. fixes #463 2012-05-16 07:34:15 -04:00
Eugene Vigdorchik c795511e13 Only allow a single task to run at any point in time if parallelExecution in Test is false. 2012-05-12 10:15:59 -04:00
Eugene Vigdorchik 6f03b83446 Remove unneeded map argument. 2012-05-12 10:15:49 -04:00
Eugene Vigdorchik 04d53c05d5 Modify forking tests based on Stefan's feedback. Should be ported to 0.12 2012-05-09 20:07:47 -04:00
Gerolf Seitz cddbb8dd12 Add method Aggregation.runTasksWithResult 2012-05-07 19:09:11 -04:00
Mark Harrah 13e62fd645 Use binary version for cross-version even for snapshots and milestones
Rely instead on users not publishing the same stable version against both
 stable Scala or sbt releases and snapshots/milestones.
2012-05-05 20:35:05 -04:00
Mark Harrah 9e7ee361c7 Tags.exclusive convenience method for executing tasks in isolation 2012-05-02 19:56:35 -04:00
Mark Harrah 6769c94208 basis for a resident compiler
unstable, but can be tested with -Dsbt.resident.limit=n
 n is the maximum Globals kept around
2012-04-28 18:58:52 -04:00
Mark Harrah 2bd103f1fa implement embedded interface 2012-04-18 16:01:45 -04:00
Mark Harrah d837f869bd using some of the embedding interfaces 2012-04-18 11:02:52 -04:00
Mark Harrah 8594e4443d reorganize compilation modules 2012-04-18 08:08:25 -04:00
Mark Harrah db7ec09591 move compiler integration classes to subproject compile/integration 2012-04-18 03:33:49 -04:00
Mark Harrah 4de26c1195 allow specifying Scala version for sbt plugin in addSbtVersion 2012-04-13 17:47:12 -04:00
Mark Harrah 1eef9e660a missed a compatibility overload for constructing an InputKey 2012-04-13 17:47:12 -04:00
Mark Harrah 2aad26a5ba Merge 'vjovanov/0.12' into 0.12 2012-04-12 17:21:08 -04:00
Mark Harrah 7109bc9637 configuration via ivysettings.xml: use URI instead of URL and make 'inter-project' resolver available for multi-project builds. ref #416 2012-04-11 22:40:45 -04:00
Vojin Jovanovic f17cb88d00 Augmenting scalaOrganization key description. 2012-04-10 12:12:04 +02:00
Michael Allman ba2e42287b Add support for loading Ivy settings from a URL 2012-04-08 20:22:15 -07:00
Mark Harrah 3f7fd80755 Merge pull request #422 from vigdorchik/extract_common_code
Extract common code to a separate method.
2012-04-08 11:40:30 -07:00
Eugene Vigdorchik f122b95e46 Extract common code to a separate method. 2012-04-08 20:33:46 +04:00
Mark Harrah 756099c67b add extra category of help for listing command names without summary 2012-04-07 18:10:23 -04:00
Mark Harrah 2ba5e0a363 help message changes 2012-04-07 18:10:23 -04:00
Mark Harrah 585a62bf5e only list history help (!) in brief help listing 2012-04-07 18:10:23 -04:00
Mark Harrah c358a8a5b0 more improvements to 'tasks' and 'settings' commands 2012-04-07 18:10:23 -04:00
Mark Harrah 75dfccf098 move ForkMain.Tags out to top-level ForkTags to make sxr happy 2012-04-06 23:29:48 -04:00
Mark Harrah f94eae15b6 merge test forking from vigdorchik/xsbt/wip_fork_test 2012-04-06 20:48:31 -04:00
Mark Harrah 12d72facb1 enhance 'projects' to allow temporarily adding/removing builds to the session 2012-04-06 20:28:31 -04:00
Vojin Jovanovic 0f6a50daee Addressing https://github.com/harrah/xsbt/pull/418
Changed the order of parameters in getScala method.
Changed the key name to scalaOrganization (scala-organization).
Augmented description of the key.
Minor fixes.
2012-04-05 12:19:49 +02:00
Eugene Vigdorchik e8798ddca8 Add test and allow the java options to be picked for a default test group created. 2012-04-05 12:02:53 +04:00
Eugene Vigdorchik 05c4fbdc3d Cleanup: 1) Rename policies since Fork is popular name and clashes with sbt.Fork2. Don't put entire Execution into Group, but just RunPolicy. 2012-04-04 23:50:32 +04:00
Vojin Jovanovic 182b7c655f Adding `scalaOrg` setting key for scala clones.
Adding scalaOrg key that specifies organization (artifactId) of scala used in the project. The change does not affect version checks for dependecies and LauncherConfiguration.

Modified scalaProvider cache in Launcher to use (scalaOrg, version) as a key.

Downloaded jars are stored in the folder scala-.../lig-<scalaOrg> if scalaOrg is not default.

scala-org is an advanced setting so it can not be used in build.sbt.
2012-04-04 19:06:55 +02:00
Eugene Vigdorchik 2ba9bbc767 More indentation messed up. 2012-04-04 16:25:12 +04:00
Eugene Vigdorchik b5766e4057 Fix newlines and indentation. 2012-04-04 09:30:46 +04:00
Eugene Vigdorchik 291db63af3 Fixes 2012-04-03 19:43:59 +04:00
Eugene Vigdorchik cdfc72d05d Given the ease of defining concurrentRestictions, I think it should be left to the user to correctly provide the limit for forked test groups. 2012-04-03 18:35:07 +04:00
Eugene Vigdorchik e169e4f222 Correctly initialize ForkedTestGroup restriction. 2012-04-03 18:13:02 +04:00
Eugene Vigdorchik c4385adce0 Some more fixes. 2012-04-03 11:49:41 +04:00
James Earl Douglas 710b12520d set status to "integration" if isSnapshot is true, and "release" if isSnapshot is false 2012-04-02 21:15:52 +05:30
Eugene Vigdorchik ce0a2a3625 More fixes. 2012-04-02 19:01:54 +04:00
Eugene Vigdorchik 2741515d44 Fixes after review, take 3. 2012-04-02 16:05:56 +04:00
Eugene Vigdorchik 4d5effcb28 Fixes after review, take 2. 2012-04-02 12:08:18 +04:00
Eugene Vigdorchik e3a7a331d5 Changes after review, step 1. 2012-04-02 10:46:13 +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
Eugene Vigdorchik 68c5cbe438 Fork java, not scala. 2012-04-01 15:49:29 +04:00
Eugene Vigdorchik 7afc9e77c6 \'fork in test\' initial implementation. 2012-04-01 11:44:05 +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 04efcd12d2 fix brief help for set 2012-03-25 20:35:09 -04:00
Mark Harrah 87d2144c12 rank settings, tasks and use this to restrict help/settings/tasks output. fixes #315 2012-03-25 20:35:09 -04:00
Mark Harrah 0aadf5e500 fix help whitespace parsing 2012-03-25 20:35:09 -04:00
Indrajit Raychaudhuri 2525eeb7e6 Ensure that `parents` for java classes have all the ancestors
Currently, only immediate parents classes are picked up for java classes.
This could be problematic, for example, in detecting Fingerprint for test frameworks.
So far, Scala types are not affected –– all the ancestors are available for them.
2012-03-25 15:44:16 +05:30
Mark Harrah 2bb2aed1f6 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 9bebc70ada normalize URI before hashing 2012-03-17 19:31:56 -04:00
Mark Harrah 1cbb7ce93c print-warnings task for Scala 2.10+ to avoid needing to rerun 'compile' to see deprecation/unchecked warnings 2012-03-17 19:31:55 -04:00
Mark Harrah 7768aaacb0 add overload of addSbtPlugin for explicitly specifying the sbt cross-version 2012-03-17 19:31:55 -04:00
Mark Harrah 2c5a2f0f96 enable sbt-plugin auto-configuration when using 'reload plugins' 2012-03-17 19:31:04 -04:00
Mark Harrah f0eb3ac3a8 force 'update' to run when invoked directly. ref #335 2012-03-17 19:31:03 -04:00
Mark Harrah 5cfafdb648 provide list of task execution roots 2012-03-17 19:31:03 -04:00
Mark Harrah 2f726b34c3 work around for 2.10. pattern matching on KNil now requires KNil() 2012-03-17 19:31:03 -04:00
Mark Harrah 1ffa7b7d92 work around for type inference change in 2.10 2012-03-13 08:01:58 -04:00
Mark Harrah 4e4937e706 searchable help 2012-03-12 19:54:18 -04:00
Indrajit Raychaudhuri eef3a1ed31 Adjust mechanism of resolver conflict detection
Warn when publish resolver and dependency resolvers have same name but different access mechanism.
Multiple resolvers having same name as well as same access mechanism (i.e., equality matching) isn't
usually a problem. A common scenario for this would be Maven based resolvers with exact (http based)
same access mechanism. Also see #367, #363
2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri 3adf080bc1 Convenient `DefaultOptions` for resolvers.
Simply, add `DefaultOptions.addResolvers` in project config
or `DefaultOptions.addPluginResolvers` in plugin config to have known
resolvers added by default (snapshot mode sensitive)
2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri abcd4555b9 Replace `Pair.apply` with `Util.pairID`, avoids extra class generation 2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri c09174c428 Enable `sbtPluginReleases` repository by default for plugins. Closes #380 2012-03-12 05:25:12 +05:30
Indrajit Raychaudhuri 5b3dc5bf26 Update Resolver configuration
- deprecate scala-tools resolvers
- rename `typesafeResolver` to `typesafeReleases` for consistency
- add reference for other wel known resolvers, viz., oss.sonatype.org and scalasbt.artifactoryonline.com
- rearrange locations for helper methods
2012-03-12 05:25:12 +05:30
Mark Harrah 4527e9bfc6 merge test-quick reimplementation #393 from vigdorchik/wip_test_quick 2012-03-09 09:31:39 -05:00
Mark Harrah 3587777638 move error processing to complete/ 2012-03-09 07:08:38 -05:00
Eugene Vigdorchik 40d35a5ced Change according to review and add a missing recursive dependency check. 2012-03-08 20:20:17 +04:00
Eugene Vigdorchik d5bf8cf6d6 Transitive compilation dependency tracking. 2012-03-08 18:58:44 +04:00
Eugene Vigdorchik efb9cde9f3 Add test file itself to the set to track compilation time. 2012-03-07 13:13:56 +04:00
Eugene Vigdorchik e92ba43b3f Add API dependency tracking to testQuickFilter. 2012-03-07 12:28:40 +04:00
Indrajit Raychaudhuri 57ec3bf37e rename `docSetting` to more consistent `docTaskSettings` 2012-03-06 23:36:02 +05:30
Indrajit Raychaudhuri 2e554c10ba Add support for compile task specific settings on `compile` task axis
So far we had ability to configure compile task specific settings on
`Compile` Configuration scope only. We can now add `compile` task scope
as well.

Usecase: one can now specify:
```
// applies for all tasks on Compile axis
scalacOptions in Compile += "-deprecation"
// applies for compile tasks on Compile axis
scalacOptions in (Compile, compile) += "-Xcheckinit" // effectively, "-deprecation -Xcheckinit"
```
2012-03-06 11:20:11 +05:30
Indrajit Raychaudhuri 14f6d7fd87 rename `packageTasks` to more consistent `packageTaskSettings` 2012-03-06 11:20:11 +05:30
Indrajit Raychaudhuri b64e9fb482 Use regular scala helper `Pair.apply` instead of `PairID` 2012-03-06 11:20:11 +05:30
Mark Harrah 6746557d05 addCommandAlias method for defining command aliases in build definitions. fixes #388 2012-03-05 13:40:17 -05:00
Eugene Vigdorchik cef766046d Add forgotten test listener. 2012-03-05 18:37:46 +04:00
Eugene Vigdorchik 6e0ad08ad3 testQuick: track previous test status. 2012-03-05 17:17:55 +04:00
Eugene Vigdorchik fe753768d9 Extract testFilter task to substitute in case of test-quick. 2012-03-04 11:09:42 +04:00
Indrajit Raychaudhuri 69d45b7f5f Use `provider.id.name` instead of hard-coded 'sbt' in `aboutString`
Also rearrange and reformat a bit
2012-03-02 06:05:14 +05:30
Indrajit Raychaudhuri f51aad4b5b Add fancier `shellPrompt` by default, also better arg names 2012-03-02 00:59:06 +05:30
Indrajit Raychaudhuri 9ca86725b5 Rather use `globalSettingsDirectory` instead of `globalBaseDirectory` 2012-03-01 17:23:08 +05:30
Indrajit Raychaudhuri 0fead533c0 Clarify better in deprecation message
Add additional helper method for adding credential
2012-03-01 00:28:12 +05:30
Indrajit Raychaudhuri 7b97b6833f Credentials should be kept in SBT's own global base location
The old convention of keeping credentials in ~/.ivy2 isn't recommended anymore,
they can instead go in (customizable) global base location.

The global base defaults to `~/.sbt`, hence credentials go in `~/.sbt/.credentials`
(c.f. `Keys.globalBaseDirectory` and system property `sbt.global.base`)
2012-02-28 23:01:17 +05:30
Mark Harrah 2137b29aa1 Merge pull request #369 from vigdorchik/Overwrite_setting
Overwrite previous setting if possible.
2012-02-28 07:48:44 -08:00
Indrajit Raychaudhuri 0a6f58a761 Remove use of deprecated `logger(s)` call 2012-02-28 19:07:47 +05:30
Indrajit Raychaudhuri 940b77f940 Make warnings for multiple resolvers with same name more verbose.
Just so that user can figure out more quickly what's going on
2012-02-28 16:33:20 +05:30
Indrajit Raychaudhuri ea08f86520 Added support for providing basic SCM info
Sonatype OSS repo (where many libraries are expected to migrate) requires
populating SCM info in additional to what is already provisioned for
populating in SBT.

We now support populating the basic SCM info as thus:
```
// Usual <scm><url/><connection/></scm>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git"))

// Also add <developerConnection/>
scmInfo := Some(ScmInfo(url("https://github.com/foo/project"), "scm:git:https://github.com/foo/project.git", Some("dev_connection")))
```
For anything more esoteric than the basic info, there is always `pomPostProcess` :)
2012-02-28 15:30:51 +05:30
Indrajit Raychaudhuri 4daed3b745 Adjust `packageConfig` Settings to be wrapped within appropriate `inTask` methods 2012-02-28 00:26:23 +05:30
Eugene Vigdorchik 63aa36bd1e More agressive overwrite. 2012-02-27 22:28:09 +04:00
Eugene Vigdorchik bb646d0437 SessionSetting to contain seq of line. 2012-02-27 11:46:23 +04:00
Mark Harrah ec2566047d allow plugins to inject settings at the build level. fixes #378 2012-02-25 12:01:08 -05:00
Eugene Vigdorchik eaa10b7a48 Support multi-line replacements. 2012-02-20 15:52:57 +04:00
Eugene Vigdorchik ff4b42ce45 Merge 2012-02-20 12:30:10 +04:00
Eugene Vigdorchik d23d39cc0f Support multiline settings in build.sbt, assumes set command doesn't allow multiline settings. TODO:tests. 2012-02-20 12:27:26 +04:00
Eugene Vigdorchik e0b2475dd6 Overwrite previous setting if possible. 2012-02-19 00:20:14 +04:00
Eugene Vigdorchik a52d36987c Remember the range for settings read from .sbt files 2012-02-16 16:58:51 +04:00
Eugene Vigdorchik 31735051ea Overwrite previous setting if possible. 2012-02-15 13:06:00 +04:00
Mark Harrah 923acc1258 stable build load order 2012-02-14 21:59:12 -05:00
Mark Harrah b96ceabb80 Ordering instances for ResolvedReference, BuildRef, ProjectRef 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
Mark Harrah b0e86898d1 support for dependency overrides 2012-02-14 21:59:12 -05:00
Mark Harrah 14e18f2350 use writeable local builds directly 2012-02-13 22:02:44 -05:00
Sanjin Sehic 0de9b67073 Remove 2-stage cloning for git and mercurial resolvers 2012-02-13 22:02:44 -05:00
Sanjin Sehic 3514ad7039 Silence svn checkout output 2012-02-13 22:02:44 -05:00
Sanjin Sehic bcfe46c019 Track all remote branches in local git repository
This change fixes bug where non-HEAD branches could not be checked out
because the local copy of a remote git repository was not tracking
them.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 43142ce3b4 Fix not cleaning up when checkout of a DVCS branch fails 2012-02-13 22:02:44 -05:00
Sanjin Sehic 5232dd941e Fix resolving SVN URI with revision 2012-02-13 22:02:44 -05:00
Sanjin Sehic 837d973fd3 Remove potentially unsafe optimization in local resolver
Old implementation of the local resolver did not copy directory if it
was writable. This optimization can lead to some potential problems if
the directory is writable, but its subdirectories aren't.

New implementation of the local resolver does not have this
optimization and it always copies the directory into staging area.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 5ed012c7d9 Add another run method in Resolvers for commands with no working directory 2012-02-13 22:02:44 -05:00
Sanjin Sehic 7efa24f59b Inline trivial private methods 2012-02-13 22:02:44 -05:00
Sanjin Sehic e4f809953f Implement resolver for subversion repositories
All subversion URIs have to be prefixed with 'svn:' to separate them
from URIs for other resolvers. For example, 'svn:https://server/repo'
can now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic bc4443b408 Implement resolver for mercurial repositories
All mercurial URIs have to be prefixed with 'hg:' to separate them
from URIs for other resolvers. For example,
'hg:https://server/user/repo' can now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 972acc871a Allow retrieving of non-standard git URIs
Non-standard git URIs are ones that do not start with 'git:' nor end
with '.git'. An example of non-standard git URI is
'ssh://server/home/user/repo'.

The mechanism for specifying a non-standard git URI is done by
prefixing the whole URI with 'git:' to signify that it should be
handled with the git resolver. For example, non-standard git URIs like
'git:ssh://server/user/repo' and 'git:https://server/user/repo' can
now be used.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 77626f5232 Optimize retrieving from git repositories
Instead of cloning from a remote git repository for each branch,
revision or tag separately, the git resolver locally clones only once
the remote git repository and then creates further local clones from
this local copy of the remote repository.

First, optimization, of course, is execution speed, because cloning
local repository is much faster than remote repository. Furthermore,
because git uses hard-linking when a clone of local repository is
created, the second optimization is in space consumption.

For example, if we have one project that uses
https://github.com/harrah/xsbt.git#v0.11.1 and second project that
uses https://github.com/harrah/xsbt.git#v0.11.2, in previous git
resolver implementation it would require two separate clones of the
remote git repository at https://github.com/harrah/xsbt.git. But, the
new git resolver requires only one clone of the remote git repository
and two local clones which take no space because of hard-linking.
2012-02-13 22:02:44 -05:00
Sanjin Sehic 942427bfa3 Extract local, remote, and git BuildLoader.Resolver from ResolveUnit 2012-02-13 22:02:44 -05:00
Mark Harrah dd51dbb999 cleanup 2012-02-13 22:02:44 -05:00
Eugene Vigdorchik 7cf1e3fe3c Remove artificial TaskKey. 2012-02-11 12:32:40 +04:00
Eugene Vigdorchik c6ea7ccd67 Remove unneeded validation. It would be really nice
if sbt allowed to show all paths in a DAG between 2 given vertices.
2012-02-10 13:26:06 +04:00
Eugene Vigdorchik 6c5d398608 Validate resolvers when making ivy configuration and publishing. 2012-02-10 13:17:25 +04:00
Mark Harrah baaf75b08a Merge pull request #361 from vigdorchik/add_ivy_force
Mirror ivy \'force\' attribute in sbt.
2012-02-08 06:43:02 -08:00
Mark Harrah bb765db6c2 drop compatibility framework definitions (dead anyway) 2012-02-07 21:56:37 -05:00
Eugene Vigdorchik be3ea741bc Mirror ivy \'force\' attribute in sbt. 2012-02-07 20:14:45 +04:00
Indrajit Raychaudhuri cc904b4d5d - Add default opt for javadoc
- Default credential file stays in `~/.sbt` now
2012-02-05 21:55:16 +05:30
Indrajit Raychaudhuri d54c520cb1 Make mapping task names more consistent, ref #317, credit @Atry 2012-02-05 21:55:15 +05:30
Mark Harrah 5fdbc86259 cleanup 2012-02-04 21:10:30 -05:00
Mark Harrah 410ba2afa9 API doc fixes 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 482ff4978d Merge pull request #342 from vigdorchik/wip_sourcepos_eugenevigdorchik
Wip sourcepos eugenevigdorchik
2012-01-30 14:34:03 -08:00
Eugene Vigdorchik d1c799cd09 More cleanup. 2012-01-30 19:06:26 +04:00
Eugene Vigdorchik dc0a40c776 Change SourcePosition definition + minor cleanup. 2012-01-30 19:06:24 +04:00
Eugene Vigdorchik e40f735f6a Display sourcepos info when at least 1 pos known. 2012-01-30 19:06:22 +04:00
Eugene Vigdorchik 09ff0664a3 Add SourcePosition to setting. 2012-01-30 19:06:18 +04:00
Mark Harrah 98c98f9c26 split command core to main/command/ 2012-01-29 14:36:27 -05:00
Mark Harrah 26ec82ed73 Append instances for Set and Map 2012-01-27 21:09:11 -05:00
Mark Harrah f55d34f617 Add Path.allSubpaths and API documentation for mappers 2012-01-26 21:28:19 -05:00
Mark Harrah f092fb35c9 When *::main-class is set, use its value for run::main-class 2012-01-25 17:29:51 -05:00
Mark Harrah 7e71ab7c3d fix forward aggregation enabled check 2012-01-22 22:06:53 -05:00
Mark Harrah 5e155900da rework cross versioning to account for prerelease Scala versions 2012-01-22 22:06:53 -05:00
Mark Harrah 2255bd5a62 org.scala-tools.sbt -> org.scala-sbt and dropping scala-tools.org from defaults 2012-01-22 22:06:52 -05:00
Mark Harrah 3a0938878d clarify behavior of State.reload 2012-01-19 11:00:24 -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 64ffd20e15 cleanup deprecations for 0.12.0 2012-01-15 12:29:53 -05:00
Mark Harrah d146c7f84c cleanup cache-related code, aiming for unknown cause of #292 2012-01-15 12:29:53 -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 ec48779829 moved task axis before the key 2012-01-09 08:00:29 -05:00
Mark Harrah 79bbe8f8a4 fix tab completion of new inspect variations 2012-01-09 08:00:29 -05:00
Mark Harrah fbe8630433 move calls to runExitHooks into the State.{reload,exit,reboot} commands. fixes #306 2011-12-16 08:21:54 -05:00
Mark Harrah 619b97d215 apply <module>* : command to apply State transformations defined by module names 2011-12-16 08:21:54 -05:00
Mark Harrah 5d398bc4a1 add native library support to 'console' and 'console-quick', fixes #305 2011-12-16 08:21:54 -05:00
Mark Harrah 967c3fe75a support https git URLs by default 2011-12-15 19:20:26 -05:00
Mark Harrah 38a529d037 handle multiple projects sharing a single base directory better by including project ID in cache directory path 2011-12-13 17:29:08 -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 454bc6095b show definitions and uses of a key (not a full scoped key, just a key) 2011-12-13 17:29:08 -05:00
Mark Harrah 9c87d078e3 InputTask.dependsOn, fixes #242 2011-12-13 17:29:08 -05:00
Mark Harrah 68027501f8 make ; a hard delimiter for multi-commands. fixes #270 2011-12-13 17:29:08 -05:00
Mark Harrah 2bb78c133f introduce {sbt,scala}BinaryVersion
by default assumes binary compatibility for incremental version bumps for sbt 0.12+ and Scala 2.10+
2011-12-13 17:15:05 -05:00
Mark Harrah 7a75acfe03 treat case differences differently 2011-12-13 17:15:05 -05:00
Mark Harrah 34a39740c7 don't suggest similar keys for strings with only 1 or 2 characters 2011-12-13 17:15:05 -05:00
Mark Harrah 426acdf3f9 correct default resolver order 2011-12-13 17:15:05 -05:00
Mark Harrah 5a5e230b61 put default boot commands into an overridable 'boot' command 2011-12-13 17:15:05 -05:00
Holden Karau 07fd9ab57e Increase the magic number for RichTaskableN and ApplyN 2011-12-13 12:30:06 -08:00
杨博 4a727bc9d3 Allow `ModuleID % Configuration` 2011-12-13 00:08:18 +08:00
Indrajit Raychaudhuri 859f569da0 Fix spelling: 'descendent' is now 'descendant', English ftw. Closes #293 2011-12-12 19:10:47 +05:30
杨博 3d4b96e2df Fix stack overflow when use Build.projects in a Project's settings. 2011-12-11 01:37:47 +08:00
Mark Harrah 91a136e5f6 Merge pull request #276 from eed3si9n/inspecttree
refactored scoped key manifest extraction to ScopedKeyData
2011-11-27 19:27:11 -08:00
Mark Harrah f3f4bea2d5 fixes #280. sort aggregate and classpath dependencies separately to keep cycle detection for them separate 2011-11-27 17:48:01 -05:00
e.e d3si9n 6d9aeb94e0 compressed map and getOrElse into if-else 2011-11-26 01:41:24 -05:00
e.e d3si9n 546e7d9bad refactored scoped key manifest extraction to ScopedKeyData 2011-11-23 19:53:20 -05:00
e.e d3si9n e85833b2de "inspect tree <key>" command
This is a slightly cleaned up version of sbt-inspectr. When "inspect
tree <key>" is called, SettingGraph case class is created recursively
along the dependencies, calling the similar code as "inspect" command's
Project.details. Graph object then renders it as an ascii tree.
2011-11-23 00:49:27 -05:00
Indrajit Raychaudhuri 7c0952a266 Tweak ReadDetailed message per suggestion 2011-11-23 04:12:31 +05:30
Indrajit Raychaudhuri 15177e92a2 Streamline and update help messages for built-in commands 2011-11-23 03:37:10 +05:30
Mark Harrah 62355c3e1e implement 'skip in update' 2011-11-21 22:40:10 -05:00
Mark Harrah b07bd3adaa show deprecation message for project/plugins/. fixes #272. 2011-11-21 22:37:58 -05:00
Mark Harrah 8743165d66 Adjust 'about' output because logging is now rotated. 2011-11-21 22:37:58 -05:00
Mark Harrah eb2ec8c781 concurrent execution restrictions 2011-11-19 23:56:30 -05:00
Mark Harrah f813256ced detect invalid project IDs 2011-11-19 23:56:30 -05:00
Indrajit Raychaudhuri f314225712 Remove deprecations 2011-11-10 15:41:16 +05:30
Indrajit Raychaudhuri e1e6b25d0c Honor maxErrors for compileInput
This uses a recently added technique (cf `TaskKey.local`) to introduce
local TaskKey and get around the nine parameter restriction.
2011-11-10 14:52:58 +05:30
Mark Harrah 03cd1ec3ab need to explicitly trim whitespace in semicolon separated commands now. fixes #261. 2011-11-09 18:30:35 -05:00
Indrajit Raychaudhuri ad7aede533 Enable Javadoc generation in `doc` task.
`docSetting` has been updated to do both Scaladoc and Javadoc. In
Scala/Java hybrid projects, the output docs are rebased to `scala`
or `java` sub-directory accordingly. But for pure scala or pure java
projects the subdirectories aren't added to becompliant with user
expectation as much as possible. We do hybrid mode iff both *.scala
and *.java files exist; other doc resources (package.html, *.jpg etc.)
don't influence the decision.
2011-11-09 17:49:54 +05:30
Mark Harrah bef997fe29 Merge pull request #258 from jsuereth/windows-git-fix2
Windows git fix
2011-11-07 12:39:16 -08:00
Josh Suereth 175f08e1e4 Stefan Zeiger's fixes to not NPE when checking for windows. Additional cleanup to put windows git-run checks in one function. 2011-11-07 07:38:25 -05:00
Josh Suereth c5e31645a3 Attempting to fix git forking in windows 2011-11-07 07:38:11 -05:00
Mark Harrah 4a4c424d20 fix mistakenly changed return type of State.setResult 2011-11-05 09:13:34 -04:00
Indrajit Raychaudhuri c42659318b javaOptions and javacOptions would be better off as Task (like scalacOptions) 2011-11-04 13:51:17 -04:00
Mark Harrah 301c981c99 reset default logging level to be DownloadOnly instead of quiet 2011-11-04 13:40:59 -04:00
Mark Harrah 8e9e4b22cd checksums configurable in [ivy] section. fixes #235 2011-11-04 13:40:59 -04:00
Mark Harrah b154468097 invalidate 'update' cache when 'update' cache of a dependency is invalidated, fixes #246 2011-10-30 18:40:01 -04:00
Mark Harrah 2805dbde8f track whether UpdateReport was cached or freshly generated 2011-10-30 18:39:47 -04:00
Mark Harrah 8c7efd02b4 API documentation for State 2011-10-30 18:39:18 -04: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 2cbc755856 cleanup, add regex for escape sequences to be used later 2011-10-30 18:39:18 -04:00
Mark Harrah 85ad0c023e clean up after temporary task directory 2011-10-30 18:39:18 -04:00
Mark Harrah 5fbe6e9d97 more flexible inter-project dependencies 2011-10-26 19:35:29 -04:00
Mark Harrah c2ebcba73b hook for more global build transformations 2011-10-26 19:35:29 -04:00
Indrajit Raychaudhuri fdb08ff846 Default set of opt-ins for convenience 2011-10-23 06:27:13 +05:30
Mark Harrah e3e23287af reorganize help, allow keys to be arguments to 'help' command 2011-10-20 22:59:31 -04:00
Mark Harrah 078b72ee48 Add help for 'show' command. Fixes #236. 2011-10-20 22:59:30 -04:00
Indrajit Raychaudhuri 289dc17c9b Initialize project version to SNAPSHOT 2011-10-20 10:21:29 +05:30
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 5fd3c1d2e5 task execution interruptible using ctrl+c. fixes #228,#229
- interrupts task execution only
- no further tasks scheduled
- existing tasks interrupted
- a task must terminate any other started threads when interrupted
- set cancelable to true to enable
- currently, 'run' properly terminates if the application properly
   terminates when interrupted
- 'console' does not, 'test' depends on the test framework

- also bundled: set connectInput to true to connect standard input to forked run
2011-10-18 22:43:25 -04:00
Mark Harrah 22b71b823a convenience method for running tasks in aggregate 2011-10-16 22:37:24 -04:00
Mark Harrah e16bf3f695 fix stray closing */ 2011-10-16 21:29:39 -04:00
Mark Harrah 5e37d8e585 brief API documentation on some core settings types 2011-10-16 20:20:45 -04:00
Mark Harrah 57b5b95ae3 Include plugins in update-sbt-classifiers. Fixes #138 2011-10-16 17:27:36 -04:00
Mark Harrah 1578341a10 add cleanupCommands setting to specify commands to run before interpreter exits. fixes #219 2011-10-16 17:27:36 -04:00
Mark Harrah fe172a4a1d Predef.error => sys.error 2011-10-16 17:27:36 -04:00
Mark Harrah 92fee61d46 remove remaining deprecated uses of identity 2011-10-16 17:27:36 -04:00
Mark Harrah ddd70fcc77 inject 'log' method to State as convenience for CommandSupport.logger 2011-10-16 17:27:36 -04:00
Mark Harrah 6ddeca12a2 merge Scoped{Setting,Task,Input} and {Setting,Task,Input}Key 2011-10-16 17:27:36 -04:00
Mark Harrah 09a87a3bc6 better default behavior for classpathConfiguration for external Ivy files. fixes #214 2011-10-05 18:14:32 -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 794f87d0b9 generalize classpath argument of consoleTask to ScopedTask 2011-10-03 09:58:37 -04:00
Mark Harrah 1fa855e2e7 fixes #211. +/++ only clear scalaVersion/scalaHome in Global config+task. 2011-10-01 14:40:14 -04:00
Mark Harrah 2e38c8484b defer validation of ;-separated commands until individual command is run. fixes #201 2011-10-01 14:40:14 -04:00
Mark Harrah 7702d30f40 generalize addArtifact arguments to Initialize[...]. fixes #207 2011-10-01 14:40:14 -04:00
Mark Harrah d15504d970 local settings, sbt-package-private for now 2011-10-01 14:40:14 -04:00
Mark Harrah c9039a4d44 separate out generators for test builds 2011-10-01 14:40:14 -04:00
Mark Harrah 4e208b0250 fix displaying non-ResolvedReferences in relativeShow 2011-10-01 14:40:14 -04:00
Mark Harrah 230d15cc5b watch aggregated dependencies. fixes #206 2011-09-26 18:23:16 -04:00
Mark Harrah dc70cb7fb9 clean up Reduced 2011-09-26 08:20:08 -04:00
Mark Harrah 5ea02bf148 fix #204 2011-09-26 08:20:08 -04:00
Mark Harrah 9ad15672d5 fix laziness of parser failure messages 2011-09-26 08:20:07 -04:00
Mark Harrah ba70e9d604 fix time at which task session state gets cleared 2011-09-24 21:18:24 -04:00
Mark Harrah 2a21a86f8c move from TaskData to new system 2011-09-21 22:54:46 -04:00
Mark Harrah 5918c24722 Task state.
* Allow tasks to provide State transformations that are applied after all tasks complete.
* Provide convenience methods for preserving state across invocations.
* Option of session or persisted state.
2011-09-21 22:54:46 -04:00
Mark Harrah 541004419f provide consecutive tab press count for completion combinators 2011-09-20 20:51:47 -04:00
Mark Harrah dcea4f2293 make ComponentManager honor value of Ivy home provided by the launcher 2011-09-16 23:08:01 -04:00
Mark Harrah 66c24c9e59 Add standard manifest attributes before user options instead of after. Fixes #187 2011-09-16 22:04:56 -04:00
Mark Harrah de6f55952f allow watching and triggered messages to be customized 2011-09-16 22:04:56 -04:00
Mark Harrah babe8dbbdb conditionally initialize onLoad and onUnload. fixes #186 2011-09-16 22:04:56 -04:00
Mark Harrah 79131a60d1 sort output of 'projects' by name. fixes #182. 2011-09-13 22:56:55 -04:00
Mark Harrah 9d0cb47e0a force REPL startup to be synchronous. fixes #175. 2011-09-12 19:48:10 -04:00
Mark Harrah 516e89200b Add custom resolvers from global plugin project to project/. Fixes #177. 2011-09-12 19:48:10 -04:00
Indrajit Raychaudhuri ebb16bc9a3 Deprecate `scaladocOptions` in favor of `scalacOptions in doc` 2011-09-13 03:39:48 +05:30
Mark Harrah 1b0c619308 don't add _root_ to definitions in the empty package 2011-09-11 13:46:30 -04:00
Indrajit Raychaudhuri bd8d1c0698 Support for simple exclusion rules in inline dependencies
This support excluding a library from the dependency tree for a given
set of `ExclusionRule`s. There are two ways to achieve this:

- Using `organization` and `name` pairs:
val dep = "org" % "name" % "version" exclude("commons-codec", "commons-codec") exclude("org.slf4j", "slf4j-log4j")

- Using `ExclusionRule`:
val dep = "org" % "name" % "version" excludeAll(ExclusionRule("commons-codec", "commons-codec"), ExclusionRule("org.slf4j", "slf4j-log4j"))
2011-09-10 04:32:47 +05:30
Mark Harrah 0283ad2fc8 prefix automatic imports with _root_. Fixes #173. 2011-09-09 18:39:10 -04:00
Indrajit Raychaudhuri 450fa15c0e Expose snapshot flag via standard `SettingKey` 2011-09-09 18:35:57 +05:30
Mark Harrah f096d76cf6 'skip' description 2011-09-04 13:33:40 -04:00
Mark Harrah 370145994f Revert modifying publishMavenStyle based on sbtPlugin. 2011-09-04 13:33:40 -04:00
Mark Harrah b3291dc4ee Print names of Plugins on classpath in 'about' command. 2011-09-03 17:30:38 -04:00
Mark Harrah fc3ebb7436 don't interpret files with exact name '.sbt' as quick configurations 2011-09-03 17:30:38 -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 8938fc564e fix includeFilter in unmanagedJars reference 2011-09-03 17:30:37 -04:00
Mark Harrah 228b245d2d make filter changes more backwards compatible. ref #165 2011-09-03 14:59:34 -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 f515a0e8b6 Merge pull request #165 from indrajitr/0.11
Externalize resourceFilter configuration
2011-09-03 07:51:46 -07:00
Indrajit Raychaudhuri 7f9adf31b8 Add start-year for compliance in ProjectInfo 2011-09-03 02:19:08 +05:30
Indrajit Raychaudhuri 5614243ce9 Make include and exclude filters more consistent in name and behavior.
GlobalScope has conservative default with task specific filters explicitly modified.
2011-09-03 02:09:25 +05:30
Mark Harrah 02f666ec0e miscellaneous fixes 2011-08-31 20:59:40 -04:00
Indrajit Raychaudhuri 434d7f2322 organizationName and organizationHomepage need not be set in GlobalScope 2011-08-31 20:34:40 +05:30
Mark Harrah 65ae7dab1c switch publishMavenStyle off when project is an sbt plugin 2011-08-30 09:16:33 -04:00
Mark Harrah 0c2cb33d7b Undeprecate conversions to ScopedKey 2011-08-28 13:30:11 -04:00
Mark Harrah 1471081c0d test to ensure correctness of local resolver+useOrigin in ivysettings.xml 2011-08-27 23:13:10 -04:00
Mark Harrah febe7e56e1 fix binary dependency recompilation problem introduced by fix for #108 2011-08-27 11:54:16 -04:00
Mark Harrah 565cd3802f fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
Mark Harrah 039982ab1e better default for traces in run 2011-08-26 23:27:03 -04:00
Mark Harrah bf1d471118 rearrange watchSources construction to automatically add sources for new configurations 2011-08-26 23:27:03 -04:00
Mark Harrah faeb9e2fb1 Make 'package' an alias for 'package-bin'. Fixes #156 2011-08-23 19:53:33 -04:00
Mark Harrah 9ebf809259 test for separate configuration of doc sources 2011-08-23 19:51:51 -04:00
Mark Harrah 71a346bd4c support separate configuration of doc inputs 2011-08-22 22:48:35 -04:00
Mark Harrah 49b85384e7 use -Yrepl-sync for console-project to avoid deadlock on REPL startup in 2.9 2011-08-19 22:13:56 -04:00
Mark Harrah 6ea27e893b handle Scala version better in 'about' command 2011-08-18 08:23:43 -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 f7f6879f5e provide access to some project structure as a setting 2011-08-14 10:53:37 -04:00
Mark Harrah 18b57bb101 fix ++ command to not require a space after it 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
Josh Suereth 95b8c34627 Changed skip to be a Task so we can dynamically compute it's value based on a file 2011-08-12 13:30:21 -04:00
Indrajit Raychaudhuri b57e8cd17a Hava scaladocOptions in GlobalScope for consistency 2011-08-11 01:05:30 +05:30
Indrajit Raychaudhuri 952089bf92 Add well-known main manifest attributes by default for binary and source jars 2011-08-08 20:57:18 +05:30
Mark Harrah 10aa2d67c6 use sbt version in target path for sbt plugins 2011-08-05 21:59:49 -04:00
Mark Harrah 70dcae84ee preserve key+configuration ambiguity through task+extra parsing. fixes #135 2011-08-05 21:59:49 -04:00
Mark Harrah 1d4d566d6b support use of native libraries in 'run' and 'test' 2011-08-05 21:56:32 -04:00
Mark Harrah 29db8dbe8d include native libraries on unmanaged classpath 2011-08-05 21:56:32 -04:00
Mark Harrah 93801cd946 temporary directory for use by tasks that will be cleaned up after task execution 2011-08-05 21:56:32 -04:00
Mark Harrah f065037572 onComplete hook for cleanup after task execution 2011-08-05 21:56:32 -04:00
Indrajit Raychaudhuri bb75b74eb6 Remove some deprecations and redundant code 2011-08-05 13:30:04 +05:30
Mark Harrah 980e906ca1 handle custom -bootclasspath in incremental recompilation 2011-08-04 07:20:25 -04:00
Mark Harrah a19d5a799c try out simplified display of scoped keys 2011-08-04 07:20:25 -04:00
Mark Harrah 70113c88fa remove special case for display for 'compile' configuration 2011-08-04 07:20:25 -04:00
Indrajit Raychaudhuri 67102aadff - Extra Settings are now available to control project information, viz., name, description, homepage, organization name, organization homepage, licenses
- Modified name/signature of some private types/methods to reduce confusion (all in limited scope, so nothing should change from end user's pov)
- Enriched Ivy and Maven descriptors produced out of the box (see Keys.scala and Defaults.scala for more)
- Projects do not need to create custom Ivy <info/> block anymore, there is more settings-specific control instead
2011-08-03 08:49:46 +05:30
Mark Harrah e67b3be331 allow Defaults.packageTasks to be used in global configuration 2011-08-01 14:23:42 -04:00
Mark Harrah a6ef6481ac use configurations for modules for update-classifiers. fixes #104 2011-07-31 22:17:50 -04:00
Mark Harrah 93ac92fee7 artifact name should be moduleName by default, not normalized name 2011-07-31 16:50:39 -04:00
Mark Harrah f8d12c5106 Seq[Setting[_]] <=> SettingsDefinition 2011-07-30 18:11:20 -04:00
Mark Harrah d8362761de fix fullRun*Task not doing work. missed by compiler due to value discarding 2011-07-30 18:11:20 -04:00
Mark Harrah af6b420083 fix automatic artifact configuration selection for non-standard scope configurations 2011-07-29 23:33:10 -04:00
Mark Harrah 4305d94f5e add convenience methods for filtering settings and keys 2011-07-29 23:33:10 -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 c195f943c0 aggregate 'last'. fixes #131 2011-07-27 19:50:59 -04:00
Mark Harrah a8fd017499 maven-compatible plugin dependency system 2011-07-27 19:50:59 -04:00
Mark Harrah e75628c81b make scalaInstance a task. fixes #127 2011-07-26 13:34:02 -04:00
Mark Harrah 73a10644d7 add 'skip' for manually overriding whether recompilation should occur. fixes #128 2011-07-26 13:34:01 -04:00
Michael Bayne 74ac135968 Fixed reversed logic in fix for #125. 2011-07-26 09:25:57 -07:00
Mark Harrah 021009052e don't print Uninitialized exception name 2011-07-25 21:59:22 -04:00
Mark Harrah eb31cc025a Allow multiple sources to target a target directory in sync.noDuplicateTargets. fixes #125 2011-07-25 21:38:01 -04:00
Mark Harrah 5d353b4113 lookup sbt version in 'update' to allow using binary plugins with nightlies 2011-07-25 21:38:01 -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 a1dc17b2c6 allow task axis to be specified when the setting has no instances with it specified. fixes #121 2011-07-24 22:35:27 -04:00
Mark Harrah 00c41ae59a include logging backing file in 'about' command output 2011-07-24 17:36:42 -04:00
Mark Harrah 30baf74169 improved global logging and 'last' command 2011-07-24 17:36:42 -04:00
Mark Harrah f654b03618 allow running last from load failure prompt 2011-07-24 17:36:42 -04:00
Mark Harrah 2d4d27e529 add 'about' command with sbt versions and Scala versions 2011-07-24 17:36:42 -04:00
Mark Harrah 109326d34b additional warning when ignoring project load failure 2011-07-24 17:36:42 -04:00
Mark Harrah a9315dbd49 Interpret empty string as retry on project load error. 2011-07-24 17:36:42 -04:00
Mark Harrah 2cacdff1f8 use sbt snapshots repository for -SNAPSHOT version 2011-07-24 17:36:41 -04:00
Mark Harrah 5903fb88a2 includes sbt, Scala version extra attributes in repository/cache patterns 2011-07-23 23:07:54 -04:00
Mark Harrah 71d306a2a2 always publish ivy files for sbt plugins 2011-07-23 23:07:54 -04:00
Mark Harrah cc10940813 use extra attributes for sbt, Scala version of sbt plugins 2011-07-23 23:07:54 -04:00
Mark Harrah f0a9305ba2 clean up graphSettings 2011-07-23 23:07:54 -04:00
Fred Dubois 4ffe240eca Support for readonly file ProjectRef
This allows using a project reference that points to a readonly
directory.

The use case for this is having sbt plugin projects on a network
share (readonly) that you can just point to. The plugin projects
get copied and built automatically, just like a git project
reference gets cloned and built.

This will ease plugin imcompatibilies between minor sbt versions,
avoiding to have to cross build plugins against all compatible sbt
versions.
2011-07-23 22:24:46 -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
Mark Harrah 6acbbb05a3 support configuring checksums differently for publish, publish-local, update, and update-sbt-classifiers. fixes #115 2011-07-21 22:03:56 -04:00
Mark Harrah bf8b577e4f proper resolvedScoped implementation 2011-07-19 21:29:05 -04:00
Mark Harrah f8183cc6f2 remove incomplete debugging 2011-07-19 21:29:05 -04:00
Mark Harrah e748a74eac spelling 2011-07-19 21:29:05 -04:00
Mark Harrah 3f0644d136 use launcher repositories for update-sbt-classifiers. fixes #88 2011-07-19 21:29:05 -04:00
Mark Harrah b3bcd82a21 better location for global settings in the precedence chain 2011-07-18 17:14:22 -04:00
Mark Harrah bcc3e12abc use 'scalaVersion in update' for cross building, IvyScala.substituteCross for generality. fixes #86
also, 'scalaVersion in artifactName` for the version to append to artifacts
2011-07-17 11:26:27 -04:00
Mark Harrah b956b62c89 use name setting when displaying updated project 2011-07-17 11:26:27 -04:00
Mark Harrah cc50225bfb fix placement of global settings so that project-local settings override global settings 2011-07-16 13:31:18 -04:00
Mark Harrah 0ea418e985 provide better indication of cause of incompatible sbt versions 2011-07-16 12:53:29 -04:00
Mark Harrah b29380de96 add default identity load/unload transformations 2011-07-15 15:48:36 -04:00
Mark Harrah dcedc57ad7 better default transitiveClassifiers for update-sbt-classifiers 2011-07-13 18:08:29 -04:00
Mark Harrah ed20823886 cleanup 2011-07-13 18:08:29 -04:00
Mark Harrah 3eef6229db show test key in no tests message. fixes #102 2011-07-12 23:09:57 -04:00
Mark Harrah 555b1c04a4 shorten default hash suffix for project ID 2011-07-12 23:09:57 -04:00
Mark Harrah f7cb85d36e restrict discarding session settings error message to direct load/reload. fixes #99 2011-07-12 23:09:57 -04:00
Mark Harrah 2d342d1485 allow global sbt directory to be configured. fixes #96 2011-07-12 23:09:57 -04:00
Mark Harrah cbf7b82cdb clean up whitespace handling in commands. fixes #97 2011-07-12 07:47:31 -04:00
Mark Harrah eb14e97485 use runtime full-classpath for plugins 2011-07-11 07:55:27 -04:00
Mark Harrah 2e99fde9d2 overrideConfigs method for easier configuration substitution
ref #42
2011-07-09 16:54:41 -04:00
Mark Harrah 9737a30a7d global settings. closes #52 2011-07-09 16:54:41 -04:00
Mark Harrah b096d1b175 global settings preparation: separate compilation/loading stages of Eval 2011-07-09 16:54:41 -04:00
Mark Harrah 1d792c3601 warn when there is an sbt version conflict. fixes #80 2011-07-08 21:54:59 -04:00
Mark Harrah 15427d32b3 Include evicted modules and statistics in UpdateReport 2011-07-08 21:54:59 -04:00
Mark Harrah 467f6bc486 scope transitiveClassifiers by the update*classifiers task using it 2011-07-07 22:04:28 -04:00
Mark Harrah ac4b00c1de warn when test argument provided for undefined test framework. fixes #87 2011-07-07 22:04:28 -04:00
Mark Harrah 1ee6b903f3 better global plugin support 2011-07-06 07:30:47 -04:00
Mark Harrah d7a35e8e1d minor rearranging of rootProject 2011-07-06 07:30:47 -04:00
Mark Harrah 6e1c41af64 psuedo-unique default ID to avoid collisions in simple cases 2011-07-06 07:30:47 -04:00
Mark Harrah aebde6b3e6 move dependency mapping to IvySbt#Module 2011-07-06 07:30:47 -04:00
Mark Harrah 179a2a31c8 convenience methods on Scope for setting axes 2011-07-06 07:30:47 -04:00
Mark Harrah 353be43978 redid global plugins for proper classpath handling and preparation for global settings (pending) 2011-07-06 07:30:47 -04:00
Mark Harrah e36ab1f000 temporarily drop global plugins, preserve Attributed more 2011-07-06 07:30:47 -04:00
Mark Harrah 9fb6f20177 declare sbt dependency for plugins to be in Provided, ref #80 2011-07-03 15:44:53 -04:00
Mark Harrah 17fad01b01 convenience on State for global locking 2011-07-03 15:44:52 -04:00
Mark Harrah 8d922b61ab cleanup MainResult handling to enable finer control over reloading 2011-07-01 23:38:03 -04:00
Mark Harrah f94ab145b5 accept arguments for scripts 2011-06-29 21:44:55 -04:00
Mark Harrah 5ec6a0479f fix help message for 'set' 2011-06-29 07:47:33 -04:00
Mark Harrah 37c5062d2d don't drop session settings during cross build 2011-06-27 22:29:48 -04:00
Mark Harrah 205a67e4a3 warn when reload discards session settings 2011-06-27 22:29:48 -04:00
Mark Harrah 5b1ca2c6b0 drop SessionSettings.prepend, which wasn't used 2011-06-27 22:29:48 -04:00
Simon Olofsson f05cbf00b2 Recover when gitRetrieve(.) fails.
When gitRetrieve(.) fails (e.g. because no git is installed) an
exception is thrown but the created directory isn't removed. This commit
removes the directory when an exception occurs, so that the user can
retry.
2011-06-27 16:45:22 +02:00
Mark Harrah f7068a4cbb introduce file-mappings for File->File, Extracted.append for reloading with additional settings 2011-06-26 12:27:06 -04:00
Mark Harrah 48940bf23c Merge pull request #74 from duboisf/issue_68
Added JavacLogger, closes #68
2011-06-25 06:59:57 -07:00
Fred Dubois 2f4be49cf6 Added JavacLogger, for issue #68
- JavacLogger.msgs uses ListBuffer for constant time append
- Synchronized access to JavacLogger.msgs since appends comes from multiple
  threads
- JavacLogger.info uses Level.Info instead of Level.Debug
- Wrapped call to javac in allCatch to guarantee logger being flushed
2011-06-25 09:55:23 -04:00
Mark Harrah e73ebda27d fix accumulation of loggers in tests. allows custom test configurations to extend Test 2011-06-25 09:37:55 -04:00
Mark Harrah 1307292256 put exclude_classifiers in target/ of the root project. fixes #70. 2011-06-23 20:37:57 -04:00
Mark Harrah 18a3e7995e add new ProjectReference called LocalRootProject for referencing the root project in the current build 2011-06-23 20:37:56 -04:00
Mark Harrah e5fbfdd3c1 Resolve References in plugins 2011-06-23 20:37:56 -04:00
Mark Harrah b867d2e398 add method noTestCompletion() for disabling test name completion. ref #66 2011-06-23 20:37:56 -04:00
Mark Harrah c919a9c3fd cache calls to definesClass within a run. closes #67 2011-06-22 19:17:10 -04:00
Mark Harrah 738e32b9c6 add extraLoggers to make it easier to add loggers 2011-06-22 19:17:10 -04:00
Mark Harrah 5d0cdc8de4 use ivyConfigurations for interDependencies instead of scope configurations 2011-06-22 19:17:10 -04:00
Mark Harrah d0e072aa14 fix dependsOn not propagating failures in dependencies 2011-06-22 19:17:10 -04:00
Mark Harrah 4921be04c8 add ChainedResolver(name: String, resolvers: Seq[Resolver]), closes #63 2011-06-20 15:25:23 -04:00
Mark Harrah c4ac9445e3 cache failing classifiers. fixes #46 2011-06-19 21:01:29 -04:00
Mark Harrah 4c770e8f27 annotate return type Seq[Setting[_]] for several methods in Defaults
works around issue with scalac:
[error] class file needed by Defaults is missing.
[error] reference type _$34 of (t: <?>)(ss: <?>)Seq[sbt.Project.Setting[_]] refers to nonexisting symbol.
2011-06-18 21:02:15 -04:00
Mark Harrah a028f8e6d7 fixes issue with inter-project resolution when project delegates are defined 2011-06-18 20:17:50 -04:00
Mark Harrah b8ba743e87 fix description of unmanagedBase 2011-06-18 14:55:32 -04:00
Mark Harrah 50fd30a695 ProjectDefinition.toString 2011-06-15 19:09:31 -04:00
Mark Harrah 1248830e2c fix 'inspect' not showing setting value 2011-06-15 19:08:49 -04:00
Mark Harrah 0fa5b85736 fix ProjectDefinition.equals not considering base directory, ref #54 2011-06-15 19:08:49 -04:00
Mark Harrah 09c05dea97 fix issue of duplicate fullClasspath entries from products and dependencyClasspath 2011-06-14 19:32:36 -04:00
Mark Harrah 62c580024d inter-project provided dependencies, closes #53 2011-06-14 19:32:36 -04:00
Mark Harrah 540f7df9e1 cleaning up artifact configurations 2011-06-14 19:32:36 -04:00
Mark Harrah 25edfc5eeb drop Incomplete task message, fixes #32 2011-06-14 19:31:55 -04:00
Mark Harrah 3c775416b4 make settings parameter for ProjectDef call-by-name 2011-06-14 19:31:54 -04:00
Mark Harrah 8e4192b144 show type in output of 'inspect' 2011-06-14 19:31:54 -04:00
Mark Harrah 9f5d219310 Define 'type' for builtin artifacts based on classifier 2011-06-12 21:32:52 -04:00
Mark Harrah cadee45e8f drop crossVersion after substitution for sbt dependency to avoid double cross-suffix, fixes #51 2011-06-12 21:32:52 -04:00
Mark Harrah 63857ddd16 add pomAllRepositories option to include module configuration resolvers in pom. closes #39 2011-06-12 21:32:51 -04:00
Mark Harrah b97eb58396 define type for artifacts looked up by update-classifiers, fixes #49 2011-06-11 20:09:15 -04:00
Mark Harrah be1bdbb350 use current project's logLevel for command logging 2011-06-10 23:40:25 -04:00
Mark Harrah 36d2394208 implements #41 2011-06-10 08:08:52 -04:00
Mark Harrah d64cd8e34d fixes #45 2011-06-10 08:08:52 -04:00
Mark Harrah 208cf12045 honor formatEnabled setting, fixes #48 2011-06-10 08:08:51 -04:00
Mark Harrah 6c5203f160 allow ~/.sbt/plugins/ to be built directly 2011-06-02 18:35:25 -04:00
Mark Harrah 3de6a0735f fix packaging 2011-06-01 02:19:46 -04:00
Mark Harrah c0a21c1524 implement shortcut for API equality checking, fixes #18 2011-06-01 02:19:46 -04:00
Mark Harrah d54a992c23 small change to compiling message 2011-05-31 18:37:07 -04:00
Mark Harrah 7733c57934 fix test-only behavior with no arguments 2011-05-31 18:37:07 -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 e5443141b1 error handling adjustments, including showing failing task in red (for #29) 2011-05-30 22:10:01 -04:00
Mark Harrah 2432642571 Adjust ivyScala to not use build-level scalaVersion. fixes #28 2011-05-30 22:10:01 -04:00
Mark Harrah 1169e7790d fix test-only filtering 2011-05-30 17:49:39 -04:00
Mark Harrah 437a3f7f50 clean up incremental debugging messages 2011-05-29 19:17:31 -04:00
Mark Harrah a94247d1b6 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah 7d08bfe3ca add specs2 to list of known test frameworks 2011-05-29 19:17:31 -04:00
Mark Harrah f7d2ff713b fix key search order 2011-05-29 19:17:31 -04:00
Mark Harrah fb60ba1e11 help: alignment and add tasks 2011-05-28 17:02:16 -04:00
Mark Harrah d81273a0c6 fix issue with spaces on blank lines in build.sbt 2011-05-28 17:02:16 -04:00
Mark Harrah 04280a89a4 discover projects reflectively, provide access to build root 2011-05-26 22:13:58 -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 9a914bea4b minor improvements to running tasks from console-project 2011-05-25 22:44:22 -04:00
Mark Harrah 85a55c25bf settle scala-library situation 2011-05-25 22:44:22 -04:00
Mark Harrah 46f1e9b4a7 put testOptions and testListeners in Global for more flexibility 2011-05-25 00:02:43 -04:00
Mark Harrah 50294c1519 support wildcards in test-only 2011-05-24 23:54:49 -04:00
Mark Harrah e048c6d07e fully configurable run task easier to create 2011-05-23 21:43:26 -04:00
Mark Harrah 41667f9f49 test fix 2011-05-23 18:40:03 -04:00
Mark Harrah 17f243bf9c make a few settings easier to override globally 2011-05-23 08:14:39 -04:00
Mark Harrah 6ae6a4b9ad or combinator for common optional setting handling case 2011-05-23 08:14:10 -04:00
Mark Harrah c5a312cedc task axis delegation 2011-05-23 08:13:13 -04:00
Mark Harrah b4597eb931 sbtVersion convenience setting 2011-05-21 13:51:13 -04:00
Mark Harrah 9439a737b8 make parallel execution configurable, fixes #22 2011-05-21 13:51:13 -04:00
Mark Harrah 06ec88af3d build sxr, api docs and use sbinary 0.4.0 2011-05-17 20:09:20 -04:00
Mark Harrah 523553b9ca proper test-interface compatibility 2011-05-17 17:47:48 -04:00
Mark Harrah b4c29b20a1 fix multi-project cross building 2011-05-16 23:18:48 -04:00
Mark Harrah 49e4b11e23 fix managed resource directory location 2011-05-16 22:56:07 -04:00
Mark Harrah 69ed08eb4a fix scope of crossScalaVersions 2011-05-16 22:56:07 -04:00
Mark Harrah c427c3e503 use shorter name for repository 2011-05-16 22:56:07 -04:00
Mark Harrah 903690ce8c don't handle threads/trap exit for user 'runTask' by default 2011-05-15 21:01:03 -04:00
Mark Harrah b9608651c4 properly handle Scala library references in fix for #16 2011-05-14 20:16:57 -04:00
Mark Harrah 1f0101cd6b fix #16 2011-05-14 20:01:30 -04:00
Mark Harrah c81a2f9d3c insert externalResolvers between resolvers and fullResolvers 2011-05-14 18:21:41 -04:00
Mark Harrah 3464228deb fix console-project class loader 2011-05-14 18:21:41 -04:00
Mark Harrah 5c48ea2433 show stack traces for console* by default 2011-05-14 18:21:41 -04:00
Mark Harrah 2343a55bb9 replace Path with RichFile 2011-05-14 18:21:41 -04:00
Mark Harrah ca405e9783 run task convenience constructors, (re)source generator hooks 2011-05-12 22:33:45 -04:00
Mark Harrah 7837e1a37b variants of += and ++= that accepting Initialize[S] 2011-05-12 22:33:45 -04:00
Mark Harrah 19ed648de5 tests and fixes for delegation 2011-05-09 20:57:10 -04:00
Mark Harrah 6bf9d9655b distinct builds in delegates 2011-05-07 22:02:06 -04:00
Mark Harrah 6bd500bbe2 scope defaultExcludes uses by the referencing task 2011-05-07 22:02:06 -04:00
Mark Harrah c8fe1a3c1d buffered, separate loggers for each test 2011-05-07 22:02:06 -04:00
Mark Harrah e653517c8d compact incomplete task error message 2011-05-07 22:02:06 -04:00
Mark Harrah 77be505093 support extra axis for streams 2011-05-07 22:02:06 -04:00
Mark Harrah 5d47aca7e8 Use fragment part of URI for specifying branch/tag for external build references 2011-05-07 22:02:06 -04:00
Mark Harrah 9dc9ccd0d3 Use standard {build}/id syntax for 'project' command 2011-05-07 22:02:06 -04:00
Mark Harrah 40c6ca3b3d Pluggable build resolvers 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 97fcbb6aaf filter task axis for tab completion 2011-05-07 22:02:05 -04:00
Mark Harrah 5e9b080fc8 fix artifact name to be normalized 2011-05-07 22:02:05 -04:00
Mark Harrah 7ad8e9778f fix mixed compilation order 2011-05-07 22:02:05 -04:00
Mark Harrah babf642dfc speed up startup 2011-05-02 20:43:19 -04:00
Mark Harrah 5e9cc7ea5c Add runtime classpaths 2011-05-02 20:41:47 -04:00
Mark Harrah ef20db1aa9 clear scala-home during cross-building 2011-05-02 19:37:04 -04:00
Mark Harrah 6c6eccea4f trying out different costs for edit distance 2011-04-26 22:29:30 -04:00
Mark Harrah 515386d973 load/unload hooks 2011-04-26 21:19:56 -04:00
Mark Harrah 08c9d37053 Managed/unmanaged sources/resources, fixes triggered execution 2011-04-26 21:07:53 -04:00
Mark Harrah 1c86e5781a Handle exceptions thrown during triggered execution polling 2011-04-26 21:06:54 -04:00
Mark Harrah f8bcf910c2 show slash with project IDs instead of as a separate token 2011-04-26 21:02:31 -04:00
Mark Harrah daa58adc85 work on parser error handling 2011-04-25 20:20:05 -04:00
Mark Harrah 8836b83ba3 support earlier launchers 2011-04-23 16:01:42 -04:00
Mark Harrah c432331ec0 sbt-based repl access with command line dependency declarations
based on the ideas of n8han, softprops, paulp
2011-04-23 15:26:44 -04:00
Mark Harrah 30e454af0a tab complete main classes, trigger auto-detection tasks on compilation 2011-04-23 13:17:21 -04:00
Mark Harrah f24af2a05b support for task hooks: triggeredBy and runBefore 2011-04-23 11:49:58 -04:00
Mark Harrah 324c832dee easier task data storage 2011-04-22 20:13:24 -04:00
Mark Harrah 41f1f849ec default to flat mappings for resources/packaging 2011-04-21 21:39:18 -04:00
Mark Harrah a601e8ea09 individual settings for make-pom-configuration 2011-04-21 21:39:18 -04:00
Mark Harrah 8f639ffc4d convenience methods for working in console-project 2011-04-20 23:33:53 -04:00
Mark Harrah 815ed50dcf task/setting/attribute descriptions 2011-04-20 20:18:58 -04:00
Mark Harrah 9e044d042d include managed directory in clean 2011-04-20 18:31:51 -04:00
Mark Harrah defd1ee0d4 Cache doc task 2011-04-20 18:31:10 -04:00
Mark Harrah 60eda4bb20 Implement optional/provided configurations, closes #8 2011-04-19 22:24:52 -04:00
Mark Harrah 02421e46f5 fix doubled cache when boot Ivy directory configured 2011-04-19 22:21:59 -04:00
Mark Harrah 0608e648a5 use left, some, right to avoid extra anonymous classes 2011-04-19 17:58:05 -04:00
Mark Harrah 6abab8e4b3 fix tab completion issue with test-only 2011-04-19 17:56:12 -04:00
Mark Harrah dc6584ff68 scripts: change base directory 2011-04-18 18:26:57 -04:00
Mark Harrah b56701f37e disable overrideScalaVersion when scalaHome is set 2011-04-16 20:18:16 -04:00
Mark Harrah f3d18f051f delegates cleanup 2011-04-16 20:05:15 -04:00
Mark Harrah 5806dbaab0 work on dependency management tests 2011-04-16 16:38:47 -04:00
Mark Harrah 7acfad0234 external* methods to use ivysettings.xml, ivy.xml, or pom.xml 2011-04-16 13:16:54 -04:00
Mark Harrah b75605c701 expand out to Apply9 2011-04-16 12:36:54 -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 fee9429b03 more work on dependency management tests 2011-04-16 11:22:10 -04:00
Mark Harrah a15bd90309 artifact and cross-naming fixes/improvements 2011-04-15 20:13:38 -04:00
Mark Harrah 0b4d0e1062 inject sbt-managed Scala libraries into the UpdateReport 2011-04-15 18:32:20 -04:00
Mark Harrah 3e29126cbf support checksum generation and checking, enable by default 2011-04-15 18:25:54 -04:00
Mark Harrah 7fb97c6353 fix Scala version transitively (by default) 2011-04-14 21:48:12 -04:00
Mark Harrah 6699539278 push artifact-classifier higher up in scope 2011-04-14 07:45:43 -04:00
Mark Harrah 5dcc1bc9bc direct Artifact->File map, removing source patterns
build and publish main sources and docs by default
control built-in artifacts with 'publish-artifact'
// disable publishing docs
 publishArtifact in (Compile,packageDoc) := false
// enable publishing test jar, docs, and sources
 publishArtifact in Test := true
2011-04-14 07:32:42 -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 132278d1d8 Ivy home configurable instead of cache directory, work on artifact test 2011-04-13 19:03:36 -04:00
Mark Harrah 1c400db4d9 harden clean and IO.move 2011-04-12 23:10:36 -04:00
Mark Harrah fe75bade98 continuations test for compiler plugin support 2011-04-12 22:58:32 -04:00
Mark Harrah ed27a8077d clean up scope delegation implementation 2011-04-12 20:58:59 -04:00
Mark Harrah 4d635e449f split out cross target directory, preserve history during clean, fix credentials 2011-04-12 20:58:40 -04:00
Mark Harrah 43f0212092 cleanup logging paths, allow logger to be customized 2011-04-12 20:33:29 -04:00
Mark Harrah ada8e42ef5 minor improvements to .sbt file format
allow standalone blocks of // style comments
and allow comments to precede imports
2011-04-12 20:30:52 -04:00
Mark Harrah a085e86f38 sort configurations for stable ordering of settings 2011-04-12 20:29:26 -04:00
Mark Harrah 4b70fe0921 auto-compiler plugins 2011-04-11 22:12:03 -04:00
Mark Harrah 399dd8ec48 support delegating to a project with different configurations 2011-04-10 18:51:50 -04:00
Mark Harrah 673f9923ab dependency filters, selecting/filtering UpdateReport 2011-04-10 16:22:48 -04:00
Mark Harrah 2f2e24c87d cross building
+, ++ require a space
+ <command>
++ <scala-version> [command]
set scala versions in crossScalaVersions
2011-04-09 20:42:57 -04:00
Mark Harrah 8d06ba2d92 cleanup some sequencing settings in Defaults 2011-04-09 19:58:49 -04:00
Mark Harrah ff7b5138c5 fix excessive Incomplete lifting
unnecessarily led to multiple tasks reported as failing for a single cause
2011-04-09 18:43:21 -04:00
Mark Harrah 7b2e4978fb fix line number off by one in configuration error messages 2011-04-09 15:49:35 -04:00
Mark Harrah 650bef7b06 demo script command 2011-04-09 15:04:18 -04:00
Mark Harrah e6b816d86e add additional in scope identifiers 2011-04-08 22:13:53 -04:00
Mark Harrah 50e453c70c provide more convenient access to BuildStructure and all projects 2011-04-08 22:03:41 -04:00
Mark Harrah 51e8dac35c tweaks to EvaluateConfiguration 2011-04-08 19:32:01 -04:00
Mark Harrah 1b147b4953 reorganize main 2011-04-08 19:15:13 -04:00
Mark Harrah 76ab8f8e53 detect cyclic references after freeze and translate nodes to keys 2011-04-07 22:51:25 -04:00
Mark Harrah 0b4d8fb505 fix collision with name 'state' in 'console-project' 2011-04-07 22:50:48 -04:00
Mark Harrah 2a737690a8 allow Scala-level cyclic references between projects
this occurs legally when different dependencies go in
  reverse directions, as with delegates
the direct arguments to Project.apply are now call-by-name
the modifying functions like 'aggregate' cannot be call-by-name
   since they are varargs
2011-04-07 22:48:01 -04:00
Mark Harrah dfb0a9ec8c put remaining keys in Keys 2011-04-06 21:00:48 -04:00
Mark Harrah 5a67998490 options specific to each test task, consolidates streams to the right task 2011-04-06 20:55:30 -04:00
Mark Harrah 1e7d628dbb lift anonymous Incompletes to the next keyed, empty Incomplete 2011-04-06 20:52:48 -04:00
Mark Harrah 159a3fe8f3 credentials and patterns for resolvers 2011-04-05 18:44:47 -04:00
Mark Harrah f2270262d2 ScopedTask[t] -> ScopedKey[Task[t]] implicit 2011-04-05 07:10:28 -04:00
Mark Harrah a1c3ffb376 add 'initialize' setting 2011-04-04 21:22:19 -04:00
Mark Harrah 15f490c625 fix input tasks not being keyed & not showing up in failed task list 2011-04-04 19:10:35 -04:00
Mark Harrah a750c1563f Java/Scala compilation order support 2011-04-03 22:12:51 -04:00
Mark Harrah a5f3e1b839 clean up build definition exceptions and messages 2011-04-03 22:12:51 -04:00
Mark Harrah 8059b1a164 ability write graph of settings dependencies to dot format 2011-04-01 21:08:08 -04:00
Mark Harrah db5019a178 include publish-to resolver in other-resolvers 2011-04-01 21:06:49 -04:00
Mark Harrah d79fa21348 fix publish patterns for maven style publishing 2011-04-01 21:06:07 -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 4821f16eb3 scalaVersion in GlobalScope, delegates test 2011-03-28 22:29:35 -04:00
Mark Harrah 496cd05de8 run-main for specifying main class to run 2011-03-28 17:19:12 -04:00
Mark Harrah 2ab8f5c3c0 fixes to 'inspect' delegates and provided by outputs 2011-03-25 22:01:21 -04:00
Mark Harrah aa395583b5 provide access to per-build and build-global keys from command line
[build-uri]/key for per-build
*/key for build-global
2011-03-25 21:42:04 -04:00
Mark Harrah 135609e5b0 temporary hack to avoid reading Analysis every compile 2011-03-25 21:37:17 -04:00
Mark Harrah dd012099d2 include 'bundle' packaging type on classpath in addition to 'jar' 2011-03-25 18:25:52 -04:00
Mark Harrah cc1e02f6a3 allow unqualified 'test', no longer requiring 'test:test' 2011-03-25 18:24:45 -04:00
Mark Harrah e498b9bd3a tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 07dbba65d1 memoize aggregation, cleanup 2011-03-23 07:06:51 -04:00
Mark Harrah 8c0d441fec clean up Ivy-related logging 2011-03-22 20:53:33 -04:00
Mark Harrah e0b453225e logging for packaging 2011-03-22 20:42:21 -04:00
Mark Harrah 0123351a8f initially only display originating task failures only 2011-03-21 20:50:20 -04:00
Mark Harrah 1de086755b command logging through Streams, 'last' without a key to redisplay it 2011-03-21 20:26:04 -04:00
Mark Harrah f34c3b5837 some renamings and removals suggested by Heiko
clarify command-related members of State:
  processors -> definedCommands
  commands -> remainingCommands
drop some Extracted members:
  curi replaced by currentRef.build
  cid replaced by currentRef.project
2011-03-21 17:56:41 -04:00
Mark Harrah caee48130e split out SessionSettings from Project.scala 2011-03-21 17:56:24 -04:00
Mark Harrah 63b1c3441b work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 7b4c16f294 cleanup 2011-03-19 23:22:18 -04:00
Mark Harrah 4ce57596d9 fix exit code 2011-03-19 14:07:03 -04:00
Mark Harrah 50f1bd73d6 add convenience method for evaluating tasks 2011-03-19 00:04:37 -04:00
Mark Harrah 7c7af7c998 use 'distinct' for State.++ to ensure commands are not duplicated 2011-03-19 00:04:07 -04:00
Mark Harrah 6215819890 'update' caching now takes into account whether jars still exist 2011-03-17 21:29:35 -04:00
Mark Harrah afbd23e9f3 global plugin configuration in ~/.sbt/plugins/
just like <base>/project/plugins/ but included in all projects
2011-03-16 22:22:46 -04:00
Mark Harrah 37e24daebf use stable ordering for PathFinder.getFiles 2011-03-16 22:22:20 -04:00
Mark Harrah 15e785a1e4 more stable managed classpath ordering 2011-03-16 22:21:02 -04:00
Mark Harrah ac280e5fe7 if sbtPlugin is true, sbt dependency and resolver are added 2011-03-16 20:09:59 -04:00
Mark Harrah 4a8e79befb retrieve to build, update-classifiers action
set retrieve := true to have dependencies retrieved to the build
the location is by default shared by all projects in a build
  (<built-root>/lib_managed/), but can be per-project
update-classifiers and update-sbt-classifiers retrieves artifacts with classifiers
  for project dependencies and for sbt, respectively
The default setting is classifiers := Seq("javadoc", "sources")
2011-03-15 22:12:59 -04:00
Mark Harrah 09b36a4476 make global scope explicit in command-retrieval 2011-03-13 21:42:44 -04:00
Mark Harrah 787f00985b detailed UpdateReport replaces Map[String,Seq[File]]
the information included is:
  configuration -> module -> artifact -> file
2011-03-13 21:40:49 -04:00
Mark Harrah 26d834e926 binary plugin auto-detection 2011-03-13 21:38:05 -04:00
Mark Harrah 8da0f1705e Plugin auto-settings empty by default 2011-03-13 21:33:28 -04:00
Mark Harrah d371ff9314 more consistent configuration of the Ivy user directory 2011-03-12 10:28:53 -05:00
Mark Harrah f18241395b 'reload plugins' to change to plugins project
'reload return' to change back to original project.
Declaring a plugin:
> reload plugins
> set libraryDependencies += ...
> reload return
2011-03-11 22:33:30 -05:00
Mark Harrah c0c287d50e reintegrate history commands, add proper parsing for recursive commands 2011-03-11 16:52:44 -05:00
Mark Harrah 77092b7888 resolver keys, javaHome, scalaHome, and change Java source resolution
- rename resolvers to fullResolvers, baseResolvers to resolvers
- if set, use javaHome for compilation as well as running
- add scalaHome configuration for easily configuring scalaInstance
   for a local Scala installation
- no longer require source roots for Java sources.  Instead, resolve
   ambiguities by package name and then distance to root.  Common
   package suffixes in different directories within the same project
   are a potential problem.
2011-03-09 18:07:43 -05:00
Mark Harrah fc32a31abf Merge branch '0.9' of github.com:harrah/xsbt into 0.9 2011-03-08 17:53:43 -05:00
Mark Harrah 37f793be6e make ClasspathOptions configurable 2011-03-08 17:50:19 -05:00
Mark Harrah ea188e74cc success indication and timestamps for actions 2011-03-06 21:57:31 -05:00
Mark Harrah a680dc2336 fix tests 2011-03-06 15:32:06 -05:00
Mark Harrah f6fe55f57c space adjustments for alias-related parsers 2011-03-06 08:32:51 -05:00
Mark Harrah 3a85bd47d6 restore missing piece of alias body that prevents looping 2011-03-06 08:21:16 -05:00
Mark Harrah 15e40d4172 filename cleanup 2011-03-05 15:13:16 -05:00
Mark Harrah d7e2f6233d use the launcher's cache directory by default if it is set 2011-03-05 09:11:16 -05:00
Mark Harrah 1ee5891ac9 further delegation adjustments to searching project=Global 2011-03-05 08:50:08 -05:00
Mark Harrah f298d3a8f2 put configurations into default build scope 2011-03-05 08:25:17 -05:00
Mark Harrah e7b47d67e7 canonicalize classpath before compiling 2011-03-04 12:02:46 -05:00
Mark Harrah b7f92ae07f 2.9 compatibility fixes 2011-03-04 06:16:35 -05:00
Mark Harrah 60d9355b54 add build level configuration
made ProjectRef semantics explicit
2011-03-03 06:44:19 -05:00
Mark Harrah 70972c6499 normalize key names 2011-03-02 06:46:28 -05:00
Mark Harrah 4cd6e60360 add 'full' option to 'reboot' that cleans project/boot before restarting 2011-03-01 09:44:45 -05:00
Mark Harrah 38d113e8b1 reintegrate ~ (again) 2011-03-01 08:54:06 -05:00
Mark Harrah 11c2b2239c continuous polling interval now in milliseconds 2011-03-01 08:51:14 -05:00
Mark Harrah 3922580c58 join for tasks and settings 2011-03-01 08:48:14 -05:00
Mark Harrah 3c08eed2a6 address some deprecations 2011-03-01 08:44:41 -05:00
Mark Harrah 98bd962952 make "globals" per-build definition 2011-02-27 16:28:00 -05:00
Mark Harrah 0729798cce keys cleanup 2011-02-27 00:36:54 -05:00
Mark Harrah c21c580314 allow This, Global to represent ThisScope, GlobalScope 2011-02-27 00:34:57 -05:00
Mark Harrah 19698e308e keys cleanup part 2 2011-02-27 00:02:50 -05:00
Mark Harrah 5ea24a460b keys cleanup 1. 2011-02-26 23:34:39 -05:00
Mark Harrah 83866ffb42 incremental tests, misc fixes 2011-02-26 20:34:18 -05:00
Mark Harrah a68e4c74f9 updating more integration tests 2011-02-25 18:35:52 -05:00
Mark Harrah 4f4ae170d3 work on plugins, added console-project, re-integrated more tests 2011-02-24 23:30:06 -05:00
Mark Harrah 9db4afd222 bring more integration tests back online with associated fixes 2011-02-23 19:19:44 -05:00
Mark Harrah ba8f43a23e starting to convert integration tests 2011-02-22 22:36:48 -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 df1c9c00c7 include Scala version to artifact names to match expected names for publishing 2011-02-21 10:22:39 -05:00
Mark Harrah ea1e7d6cae disable aggregation by default for the interactive tasks 2011-02-21 10:07:58 -05:00
Mark Harrah 218ccc2c9f aggregation 2011-02-21 10:07:39 -05:00
Mark Harrah 2ed574b30d fix unmanaged dependencies being excluded in certain cases 2011-02-20 15:40:29 -05:00
Mark Harrah 9fb78514c7 add unmanaged jars from project dependencies 2011-02-19 23:25:30 -05:00
Mark Harrah 04910baf2f command cleanup, load project by default, prompt on load failure 2011-02-19 22:22:09 -05:00
Mark Harrah 552be510ad restrict configuration and project ID to valid values at parser level for tab completion 2011-02-19 08:49:30 -05:00
Mark Harrah 16cd2e7fdc append caret to pointer string 2011-02-18 20:55:37 -05:00
Mark Harrah cda1995a6b make default name the project id 2011-02-15 18:41:40 -05:00
Mark Harrah 8ad8718366 rename 'get' to 'inspect', merge 'delegates' command into it 2011-02-15 18:41:01 -05:00
Mark Harrah dcd24f5dc4 implement %% 2011-02-14 18:57:54 -05:00
Mark Harrah 83cb152fd7 rename 'inherits' to the more appropriate 'delegates' 2011-02-14 18:56:29 -05:00
Mark Harrah cfd4b99f29 when evaluating settings, import Keys._ by default 2011-02-14 18:55:05 -05:00
Mark Harrah dd06a0c1d3 fix mixed up javac/scalac options 2011-02-13 19:02:22 -05:00
Mark Harrah 11a76c9f3b last, last-grep 2011-02-12 16:23:40 -05:00
Mark Harrah 562f362f09 remove obsolete parsers subproject 2011-02-12 15:43:37 -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 cbdabc1383 handle invalid command names in action parser (by ignoring them) 2011-02-11 20:12:15 -05:00
Mark Harrah 1124cc59d9 package, package-doc, package-src 2011-02-10 08:16:07 -05:00
Mark Harrah 3de34c6569 'show' can prefix task to display its result 2011-02-10 08:13:48 -05:00
Mark Harrah 462b0f2237 delete reintegrated code 2011-02-10 08:13:05 -05:00
Mark Harrah 74013f3cc7 per-project commands with Commands configuration 2011-02-08 20:38:18 -05:00
Mark Harrah f780d67a78 add reverse dependencies to 'get' output 2011-02-08 20:36:29 -05:00
Mark Harrah 66442a51df fix ScalaInstance creation and include Scala version in Target 2011-02-08 20:34:39 -05:00
Mark Harrah 28d0b36b43 copy-resources 2011-02-06 13:01:50 -05:00
Mark Harrah b9b607aade delegates command 2011-02-06 12:26:20 -05:00
Mark Harrah 06a346a543 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah c9b1b507cd doc,test tasks 2011-02-06 11:33:29 -05:00
Mark Harrah 692772ece2 clean,console,console-quick,run 2011-02-05 21:40:10 -05:00
Mark Harrah c1cc482b94 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah a49872c35d fix Scope printing when task axis is not Select 2011-02-05 21:35:54 -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 8bfe9a0208 initial set of default settings
still need key consolidation and import
2011-02-03 07:17:47 -05:00
Mark Harrah c9a6d2f6b0 session manipulation commands
save, clear, list, and remove session settings
2011-02-02 22:56:11 -05:00
Mark Harrah 14990b5127 cache Eval results
still need to clean up stale class files
2011-02-02 19:38:41 -05:00
Mark Harrah db20122626 allow default configuration to be implied for selecting task to run 2011-02-02 19:35:46 -05:00
Mark Harrah 0bd03b9d6e project definition output directory consistency cleanup 2011-02-02 19:34:52 -05:00
Mark Harrah e5eaf360c9 fix Eval creation when changing project 2011-02-02 19:29:03 -05:00
Mark Harrah bdf643f57a minor rearranging 2011-02-02 19:27:55 -05:00
Mark Harrah bff18e7e7a curry InputTask.apply for inference 2011-02-02 19:26:45 -05:00
Mark Harrah 6108808aeb fix Build discovery 2011-02-02 19:25:18 -05:00
Mark Harrah 65b341cdf0 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah d9d4869e49 inject current Configuration into settings 2011-01-31 18:15:15 -05:00
Mark Harrah 266df4c1ad improve Scope display, fix delegates 2011-01-31 18:02:13 -05:00
Mark Harrah b9e4c9299b work on special settings, TupleN/FunctionN interface for map/flatMap 2011-01-30 23:19:28 -05:00
Mark Harrah 1c9caf40a3 minor additions 2011-01-29 11:22:59 -05:00
Mark Harrah 43dc6af4ce support map/flatMap on mixed Task/Setting KLists 2011-01-28 21:15:39 -05:00
Mark Harrah 6b91ad59fd Eval-related improvements
- support import clauses
- error display: source name, line numbers for each expression
- for 'eval', 'get', 'set', and .sbt files, use default imports and import from Plugins, Builds
2011-01-26 19:49:54 -05:00
Mark Harrah f182b3a896 'act' command for running tasks 2011-01-25 22:23:03 -05:00
Mark Harrah c676c1c673 adjustments and cleanup 2011-01-25 22:22:11 -05:00
Mark Harrah bfa3a996e9 simplify InputTask and provide InputKey factory methods 2011-01-25 22:20:05 -05:00
Mark Harrah d283bd2cd2 add builder convenience methods to Project 2011-01-25 22:17:28 -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 f1af2c1cbc get,set,eval commands 2011-01-25 07:24:52 -05:00
Mark Harrah 837bb80d40 cleanup and fixes 2011-01-24 18:08:43 -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 72261548ef use java.util.Linked* instead of scala's 2011-01-22 16:21:22 -05:00
Mark Harrah 2d394c7551 move applyEffect to Command 2011-01-22 15:07:59 -05:00
Mark Harrah 784d83af17 make explicit the separation between parsing and execution
Parser[() => State] instead of Parser[State]
2011-01-22 15:01:10 -05:00
Mark Harrah c3a265dbd3 redo Command to use Parser
nested commands still need work
2011-01-22 14:01:59 -05:00
Mark Harrah 21dabc0fab load a single Streams instance per session and store it in BuildStructure 2011-01-21 17:22:18 -05:00
Mark Harrah 087bc569e0 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 6960d24158 part I of revised approach to commands/projects
no privileged project member of State
no separation of Command and Apply, so no pre-filtering on State
use entries in State attributes map instead of mixing in traits to project object:
  HistoryPath, Logger, Analysis, Navigate, Watch, TaskedKey
rework Navigation to be standalone instead of mixin
2011-01-18 18:48:32 -05:00
Mark Harrah 97951e8cf4 Remove obsolete comments 2011-01-18 18:43:58 -05:00
Mark Harrah 1c29522ba8 fixes and improvements to tab completions combinators 2010-12-13 22:44:25 -05:00
Mark Harrah 22a71f2432 Settings 2010-12-12 21:33:32 -05:00
Mark Harrah bc11837ccc javap, test-javap, sh, exec tasks 2010-12-02 21:56:15 -05:00
Mark Harrah e68f133c7f {publish,deliver}{,-local} and package tasks 2010-12-02 20:22:18 -05:00
Mark Harrah 8df5cbabf5 grep-last task for searching logs of previous task runs 2010-12-02 20:04:29 -05:00
Mark Harrah 9787cfebc7 cache information for PublishConfiguration, although it won't be used anytime soon 2010-12-02 20:00:18 -05:00
Mark Harrah 054a754493 doc, test-doc tasks 2010-12-02 19:45:16 -05:00
Mark Harrah a7b784fc86 small fixes 2010-12-02 19:31:23 -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
Mark Harrah 16e2b71ccc don't print help for internal commands 2010-11-24 14:10:48 -05:00
Mark Harrah ccf0508ce6 cleanup, small fixes 2010-11-24 14:08:20 -05:00
Mark Harrah 46a6a1af16 'test' task 2010-11-24 14:03:26 -05:00
Mark Harrah 9a8c62517f small fixes to main discovery 2010-11-13 20:23:12 -05:00
Mark Harrah 54ba5d75be work on products+configurations 2010-11-13 20:21:06 -05:00
Mark Harrah 69dd8b95d5 don't consider password when determining if 'update' is uptodate 2010-11-09 20:46:14 -05:00
Mark Harrah b601804046 only write resulting Analysis back if compilation was performed 2010-10-30 15:44:36 -04:00
Mark Harrah 5f047f4439 remove out of date comment 2010-10-30 13:25:04 -04:00
Mark Harrah f6bd013cd3 update help for 'iflast' 2010-10-30 13:24:45 -04:00
Mark Harrah f462cda1fb add 'project /' and 'project ..' commands 2010-10-30 13:24:23 -04:00
Mark Harrah 27c8f565ed auto-update if configuration has changed 2010-10-26 18:31:51 -04:00
Mark Harrah 37904a1644 replace unordered collections in several locations with ordered ones 2010-10-26 18:09:33 -04:00
Mark Harrah 16ad0419a8 fix incorrectly using cache directory as cache file for compile
now, <cache-dir>/compile/<config>
2010-10-26 18:06:59 -04:00
Mark Harrah a76d75bca6 more flexible scalac logging
the custom scalac Reporter now delegates to an instance of
  an sbt interface called xsbti.Reporter
handling compilation logging is now mainly done on the sbt-side of the
  compiler interface
the xsbti.Reporter interface provides access to richer information
  about errors and warnings, including source file, line, and offset
xsbti.Reporter can be implemented by users to get access to
  detailed information without needing to parse the logging output
the CompileFailed exception that is thrown when compilation fails now
  includes an array of the problems, providing detailed
  error and warning information that can, for example, be consumed
  by doing a mapFailure on 'compile' and using 'Compile.allProblems'
2010-10-23 16:34:22 -04:00
Mark Harrah a3f1b9c22f fix tests, discovery
updated compile tests for new minimal AnalysisCallback
moved discovery to discovery/ subproject and updated for new approach
fixed discovery to only find public methods when searching for annotated definitions
extracting inherited definitions unimplemented in api/, so some discovery tests fail
moved discovery classes from sbt.inc package to sbt.compile
2010-10-06 08:24:13 -04:00
Mark Harrah 585f98438a discovery, 'run', and separate out build Scala version 2010-09-27 19:05:21 -04:00
Mark Harrah b233cfb29f use default project when none discovered 2010-09-27 19:00:46 -04:00
Mark Harrah a033e1647a translate call to task-name to taskName 2010-09-27 19:00:22 -04:00
Mark Harrah df721ddf15 reintegrate support for sending commands over loopback 2010-09-27 18:59:35 -04:00
Mark Harrah d185e0aeb4 properly fail when a task fails 2010-09-27 18:59:14 -04:00
Mark Harrah ce068d7fbc Java source support
generate API for Java sources from class files (currently, uses reflection)
hook into partial recompilation process
2010-09-27 18:57:00 -04:00
Mark Harrah d6b21b9a96 small cleanup 2010-09-27 18:52:51 -04:00
Mark Harrah 4b43e070ca handle empty arguments case correctly 2010-09-27 18:49:13 -04:00
Mark Harrah a2300c7dc0 use default configurations 2010-09-27 18:48:46 -04:00
Mark Harrah 0f0e89af85 check that external project directory exists before trying to load it 2010-09-23 11:45:19 -04:00
Mark Harrah f3de1d728c fix printing sources 2010-09-23 10:29:25 -04:00
Mark Harrah 28f1eecbef changes to make latest preview easier 2010-09-23 09:21:39 -04:00
Mark Harrah 1567de67b2 fix update, default project supports triggered execution 2010-09-21 22:38:18 -04:00
Mark Harrah eed8dfdbab grab base inter-project dependencies from the ProjectInfo 2010-09-21 22:36:22 -04:00
Mark Harrah bedc288c91 actually throw the exception when name is not overridden instead of returning it as the name 2010-09-21 22:34:07 -04:00
Mark Harrah 87842346c6 rename compile command to avoid conflict with compile task 2010-09-21 22:32:54 -04:00
Mark Harrah 20cdb2b75b TaskExtra superseded by package object 2010-09-21 22:31:35 -04:00
Mark Harrah 92df7fe3ee remove some explicitly constructed implicits no longer necessary with 2.8.1 2010-09-21 22:29:18 -04:00
Mark Harrah b16b0adc0f add sbt package object
for use from project definitions only-
 it is a top-level project
add dependency and repository builders
 cross-versioning will be a post-construction transformation
2010-09-21 22:24:24 -04:00
Mark Harrah e0ac454f65 tailrec annotation and shorten constant name in Watched 2010-09-21 22:02:26 -04:00