Commit Graph

521 Commits

Author SHA1 Message Date
Mark Harrah 8d20a7ea19 repeatDep parser combinator 2012-07-06 10:28:51 -04:00
Mark Harrah d8f5c39465 remove most occurrences of ScalaObject 2012-07-01 15:16:41 -04:00
Mark Harrah e2b5ce374c fix task tests 2012-07-01 15:16:41 -04:00
Mark Harrah b46eb41d6c better handling of multi-loggers with mixed escape sequence support
* multi-logger supports ansi escapes if at least one logger support them
 * escape sequences removed from strings for loggers without escape support
2012-07-01 15:16:41 -04:00
Mark Harrah ba8aa932fb scala-reflect.jar for the ScalaInstance derived from scalaHome 2012-06-16 23:40:52 -04:00
Eugene Vigdorchik e6f858f292 Test RichURI. 2012-06-15 07:54:14 -04:00
Eugene Vigdorchik 945fdd5baa Use raw methods on URI where a single string representation is constructed. URI(String) assumes no special characters. 2012-06-15 07:54:14 -04:00
Eugene Vigdorchik 47c9645892 Use raw method not to unescape special characters. Fixes #478 2012-06-12 07:15:17 -04:00
Mark Harrah cf2402cea4 another fix related to #460 2012-05-23 20:13:52 -04:00
Mark Harrah e34b8e4bf2 print message and stack trace when exception occurs in completion 2012-05-21 22:23:44 -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 1f612aaecb ensure enableEcho called after jline.Terminal.getTerminal. fixes #460 2012-05-19 18:20:19 -04:00
Eugene Vigdorchik dabb0fd377 Refactor according to the comments. 2012-05-17 07:24:24 -04:00
Eugene Vigdorchik 2b1f21a21c Additional method in ProcessIO to process inheriting input. 2012-05-17 07:24:24 -04:00
Eugene Vigdorchik 8d123081a2 Use java 7 Redirect.INHERIT to inherit subprocess' input stream. 2012-05-17 07:24:24 -04:00
Mark Harrah 4e6cbd7304 delete symlink and not its contents when recursively deleting a directory 2012-05-11 21:24:05 -04:00
Mark Harrah 9414f98f2c classfile analyzer should pass full name to AnalysisCallback 2012-05-08 20:25:25 -04:00
Mark Harrah 99a04466f1 move to revised warning interface in the compiler 2012-05-06 14:15:03 -04:00
Mark Harrah 9f80180859 buffer url input stream returned by Using. fixes #437 2012-04-30 20:50:28 -04:00
Mark Harrah 2e868e6d67 Merge pull request #433 from vigdorchik/optimize_java_compile
Do not load classes for dependencies since having URLs is enough.
2012-04-19 09:30:05 -07:00
Mark Harrah d837f869bd using some of the embedding interfaces 2012-04-18 11:02:52 -04:00
Mark Harrah d0899419e7 Revert "Revert "Work around scalac issue causing boxing." (ClassNotFoundException)" (Reverted wrong commit.)
This reverts commit 7dac90fffe.
2012-04-18 03:14:59 -04:00
Mark Harrah 7dac90fffe Revert "Work around scalac issue causing boxing." (ClassNotFoundException)
This reverts commit 6c090313da.
2012-04-17 05:13:27 -04:00
Paul Phillips 6c090313da Work around scalac issue causing boxing.
Tableswitch slightly cheaper than a couple million trips
through the Byte box.
2012-04-16 19:42:58 +01:00
Eugene Vigdorchik cbb1e3daf2 Do not load classes for dependencies since having URLs is enough. 2012-04-16 18:48:31 +04:00
Mark Harrah a36212886d Merge pull request #427 from pvlugter/root-loader
Use system classloader when finding root classloader
2012-04-13 02:59:48 -07:00
Peter Vlugter 7b7716953f Use system classloader when finding root classloader 2012-04-13 11:51:15 +12:00
Mark Harrah 2a84a80d5b clean up scalaOrg changes 2012-04-12 17:31:28 -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 079a2c1bda Minimizing effects of scalaOrganization key addition. 2012-04-11 12:55:01 +02:00
Vojin Jovanovic cbb8caef0c Backwards compatibility check for getScala method.
Added groupId dependant baseDirectoryName.
General code cleanup.
2012-04-11 04:04:21 +02:00
Michael Allman ba2e42287b Add support for loading Ivy settings from a URL 2012-04-08 20:22:15 -07: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
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 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 41eb26ae1f fix sample method interpretation of completions argument 2012-03-25 20:36:05 -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 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 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 2f726b34c3 work around for 2.10. pattern matching on KNil now requires KNil() 2012-03-17 19:31:03 -04:00
Mark Harrah cf19af27dc fix argument parsing, which unintentionally required two characters. ref #396 2012-03-13 08:01:58 -04:00
Indrajit Raychaudhuri abcd4555b9 Replace `Pair.apply` with `Util.pairID`, avoids extra class generation 2012-03-12 05:25:12 +05:30
e.e d3si9n 784c9ed024 fixes NotQuoted 2012-03-11 15:02:50 -04:00
e.e d3si9n 5a691fbb67 StringVerbatim is now stateless 2012-03-11 13:19:13 -04:00
e.e d3si9n 8545e912da removed Octal 2012-03-11 13:12:23 -04:00
e.e d3si9n 87c52f5f1b implemented parser for escaped string and verbatim string 2012-03-11 07:31:39 -04:00
Mark Harrah c6f28c650d option to preserve last modified time of files extracted from zip file. enabled by default. fixes #389 2012-03-10 14:26:09 -05:00
Mark Harrah 65f51cdb85 convenience functions for testing parsers 2012-03-10 14:16:40 -05:00
Mark Harrah 1687cf8a8c handle absence of CONT signal 2012-03-09 13:38:45 -05:00
Mark Harrah 5b20d330c5 handle CONT signal to reset JLine after resuming from stop. fixes #394 2012-03-09 07:08:38 -05:00
Mark Harrah 3587777638 move error processing to complete/ 2012-03-09 07:08:38 -05:00
Mark Harrah 868196e652 delete empty parent directories of deleted class files. fixes #387 2012-03-05 13:40:17 -05:00
Mark Harrah 7b194e3dee cleanup SourcePosition hierarchy 2012-02-25 12:01:07 -05:00
Mark Harrah c40055cc1c cleanup, fix compilation 2012-02-19 22:41:26 -05:00
Daniel C. Sobral a3c745a4e6 Fix file descriptor leak.
Close an InputStream when finished reading it. When given an
OutputStream to connect to a process input, close it when the
transfer is completed. Protect System.in in this latter case.
2012-02-19 16:30:30 -05:00
Daniel C. Sobral 101fe06510 Revert "explicitly close streams"
Revert "explicitly close streams on java.lang.Process to avoid descriptor leaks"

This reverts commit 3191eedf9e.
2012-02-19 16:30:30 -05:00
Eugene Vigdorchik a52d36987c Remember the range for settings read from .sbt files 2012-02-16 16:58:51 +04: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 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 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 d82757f595 more IO API documentation 2012-01-26 21:28:19 -05:00
Mark Harrah f55d34f617 Add Path.allSubpaths and API documentation for mappers 2012-01-26 21:28:19 -05:00
Mark Harrah 6a7eb6c937 Merge branch 'parsing_changes' into 0.12 2012-01-15 13:09:41 -05:00
Mark Harrah 9b5ab3cb09 work around unclosed jline history-related streams 2012-01-14 21:09:11 -05:00
Mark Harrah 3191eedf9e explicitly close streams on java.lang.Process to avoid descriptor leaks 2012-01-14 21:09:11 -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 faa0809146 IO.touch operates on absolute file 2011-12-13 17:29:08 -05:00
Mark Harrah bca9ace1f7 fix 'not' parser combinator, add EOF 2011-12-13 17:29:08 -05:00
Mark Harrah 7a75acfe03 treat case differences differently 2011-12-13 17:15:05 -05:00
Indrajit Raychaudhuri 859f569da0 Fix spelling: 'descendent' is now 'descendant', English ftw. Closes #293 2011-12-12 19:10:47 +05:30
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
Mark Harrah a524d48008 in cyclic error message, put each node string on different line 2011-11-05 08:53:42 -04:00
Mark Harrah ab8ac83b6c missing import 2011-11-04 13:44:09 -04:00
Mark Harrah 4afbc5b1b4 preserve IOException type when translating exceptions. fixes #253 2011-11-04 13:40:59 -04:00
Mark Harrah 2cbc755856 cleanup, add regex for escape sequences to be used later 2011-10-30 18:39:18 -04:00
Indrajit Raychaudhuri 64af38bb84 Use IO.write instead of explicit resource management 2011-10-26 21:43:42 +05:30
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 5e37d8e585 brief API documentation on some core settings types 2011-10-16 20:20:45 -04:00
softprops 762bac2975 add support for a masked readline 2011-10-13 20:42:39 -04:00
Mark Harrah a3bb16618d fix stackoverflow caused by using List.separate, as tracked down by pvlugter 2011-10-09 21:48:15 -04:00
Mark Harrah 0f447c201e directly read compiler.properties so that Scala classes don't need to be loaded when no work needs to be done. 2011-10-05 18:09:27 -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 705608d59d fix parser test 2011-10-01 14:40:14 -04:00
Mark Harrah 9ad15672d5 fix laziness of parser failure messages 2011-09-26 08:20:07 -04:00
Mark Harrah 568fe3dc47 fix order of returned lists in Util.separate 2011-09-26 08:20:07 -04:00
Mark Harrah 541004419f provide consecutive tab press count for completion combinators 2011-09-20 20:51:47 -04:00
Mark Harrah 565cd3802f fix dependsOn breakage from Initialize rework 2011-08-26 23:27:03 -04:00
Mark Harrah 19f4b423e1 fix undefined key suggestion for updating settings 2011-08-14 10:53:38 -04:00
Mark Harrah d36e02ea22 allow setting initialization to be partially dynamic and run in parallel 2011-08-14 10:53:37 -04:00
Mark Harrah f795f70752 drop unused KApply from settings 2011-08-14 10:53:37 -04:00
Mark Harrah aa7ea022b8 clean up undefined reference checking to be a proper function 2011-08-14 10:53:37 -04:00
Mark Harrah 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
Mark Harrah 112f58db28 fix ScalaProviderTest 2011-08-14 10:53:37 -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 3ce7c0411d search java.library.path for default run/test loader 2011-08-05 21:56:32 -04:00
Mark Harrah 7ea35daec2 class loader extension to handle native libraries loaded in multiple class loaders 2011-08-05 21:56:32 -04:00
Mark Harrah 7f64e84393 method to create temporary directory in arbitrary directory 2011-08-05 21:56:32 -04:00
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 f8d12c5106 Seq[Setting[_]] <=> SettingsDefinition 2011-07-30 18:11:20 -04:00
Mark Harrah 3e9921a07a for undefined references, suggest the nearest defined scope that is more specific if it exists. fixes #135 2011-07-27 22:35:20 -04:00
Mark Harrah f52726c221 add ability to specify actual version for ScalaInstance. ref #127. 2011-07-26 13:34:02 -04:00
Mark Harrah 24c74c6860 display all undefined settings at once 2011-07-25 21:59:22 -04:00
Mark Harrah d4c76b0d0e add ability to hide a token until it is explicitly started 2011-07-24 22:35:27 -04:00
Mark Harrah bf8b577e4f proper resolvedScoped implementation 2011-07-19 21:29:05 -04:00
Mark Harrah 0b3ec05a81 support incremental recompilation when using exportJars. fixes #108 2011-07-18 17:14:22 -04:00
Mark Harrah b8bf259500 support starr as a scala home 2011-07-16 12:31:15 -04:00
Mark Harrah 0e5533786c normalize slashes in custom IO.toURI function. fixes #105. 2011-07-13 18:08:29 -04:00
Mark Harrah 555b1c04a4 shorten default hash suffix for project ID 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 b096d1b175 global settings preparation: separate compilation/loading stages of Eval 2011-07-09 16:54:41 -04:00
Mark Harrah cc554d4d64 part II of fix for #90 2011-07-09 16:54:41 -04:00
Mark Harrah 5d11b62876 convenience for hashing String to a String 2011-07-06 07:30:47 -04:00
Scott Royston 28f0e85779 Fix for mkdirs race condition 2011-06-30 16:32:19 -05:00
Mark Harrah f022f5057f settings example and simple test 2011-06-29 21:44:55 -04:00
Mark Harrah 51d279b3a3 add missing Attributed.get method 2011-06-29 21:44:37 -04:00
Mark Harrah 1a4646b7f5 move locks test to scripted tests 2011-06-26 12:27:06 -04:00
Mark Harrah 0831552dc5 apply javac log level approach to directJavac 2011-06-26 12:27:06 -04:00
Mark Harrah 738e32b9c6 add extraLoggers to make it easier to add loggers 2011-06-22 19:17:10 -04:00
Mark Harrah dd4ab4e078 minor changes to parsers 2011-06-17 18:03:59 -04:00
Mark Harrah 8e32a52250 fix issue with Java source files that don't generate classes always being recompiled 2011-06-14 19:32:36 -04:00
Mark Harrah 208cf12045 honor formatEnabled setting, fixes #48 2011-06-10 08:08:51 -04:00
Mark Harrah d928047678 port build to 0.10, fixes #30
use 'publish-all' from the root to publish all projects to local
use 'proguard' to package the launcher
2011-06-10 07:58:18 -04:00
Mark Harrah 79ab6ad9ee fix type of Path.userHome to be File, not RichFile 2011-06-10 07:48:53 -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 a94247d1b6 more release-worthy compile message and analysis toString 2011-05-29 19:17:31 -04:00
Mark Harrah 9ff1adc290 fix Java class to source mapping 2011-05-27 20:42:46 -04:00
Mark Harrah 915b4d5e2a forgot a test 2011-05-26 22:24:26 -04:00
Mark Harrah 8c659328e9 back A.Key with Manifest, dropping object equality. fixes #27
type inference restoration pending switch to 2.9.0
2011-05-26 08:21:33 -04:00
Mark Harrah e88589c158 fixes #23 2011-05-23 18:40:03 -04:00
Mark Harrah c5a312cedc task axis delegation 2011-05-23 08:13:13 -04:00
Mark Harrah 0c572bc4aa touch variant that doesn't set last modified time 2011-05-18 08:12:06 -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 ec2df78526 fix unused zero for PathMapper.rebase 2011-05-16 22:56:07 -04:00
Mark Harrah b42c06406f drop path tests 2011-05-14 20:16:21 -04:00
Mark Harrah 2343a55bb9 replace Path with RichFile 2011-05-14 18:21:41 -04:00
Mark Harrah 54c84e35c3 logging cleanup 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 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 aae8b084ca test fixes 2011-05-07 22:02:05 -04:00
Mark Harrah babf642dfc speed up startup 2011-05-02 20:43:19 -04:00
Mark Harrah 6c6eccea4f trying out different costs for edit distance 2011-04-26 22:29:30 -04:00
Mark Harrah 1021f0dac8 fix tab completion for filtered parsers 2011-04-26 20:49:43 -04:00
Mark Harrah daa58adc85 work on parser error handling 2011-04-25 20:20:05 -04:00
Mark Harrah 815ed50dcf task/setting/attribute descriptions 2011-04-20 20:18:58 -04:00
Mark Harrah d60175a337 fix matched signature 2011-04-19 22:20:16 -04:00
Mark Harrah 0608e648a5 use left, some, right to avoid extra anonymous classes 2011-04-19 17:58:05 -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 d09aab03be better location for class loaders (ClassLoaders.scala) 2011-04-15 18:22:57 -04:00
Mark Harrah d1af51da72 support explicitly defining sequences of settings in .sbt files 2011-04-13 19:09:33 -04:00
Mark Harrah f55414355e improve error messages for cycles 2011-04-13 19:06:36 -04:00
Mark Harrah 36034612bc String representation for Compiled 2011-04-13 19:04:53 -04:00
Mark Harrah 1c400db4d9 harden clean and IO.move 2011-04-12 23:10:36 -04:00
Mark Harrah ed27a8077d clean up scope delegation implementation 2011-04-12 20:58:59 -04:00
Mark Harrah 18cfaa7414 finals 2011-04-12 20:28:30 -04:00
Mark Harrah 673f9923ab dependency filters, selecting/filtering UpdateReport 2011-04-10 16:22:48 -04:00
Mark Harrah f42c93901b work on tests 2011-04-08 19:17:58 -04:00
Mark Harrah 1b147b4953 reorganize main 2011-04-08 19:15:13 -04:00
Mark Harrah e6cc26c10f move toSeq up from IMap to PMap 2011-04-07 22:50:26 -04:00
Mark Harrah 2b37df87b5 'inspect actual <key>' for actual dependencies, 'inspect <key>' for declared 2011-03-29 20:53:21 -04:00
Mark Harrah 213d995bb5 newline before JLine's above threshold prompt 2011-03-25 18:22:30 -04:00
Mark Harrah e498b9bd3a tab completion fixes and cleanup 2011-03-24 21:28:02 -04:00
Mark Harrah 69a04326b9 tab completion: print message when input is invalid 2011-03-24 21:28:02 -04:00
Mark Harrah 1dd4a1d1b1 tab completion: example-checking off by default, 'matches' convenience method 2011-03-24 21:28:02 -04:00
Mark Harrah 58473dedcb fix datatype parser on windows 2011-03-23 07:06:17 -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 63b1c3441b work on displaying task errors 2011-03-20 22:54:01 -04:00
Mark Harrah 37e24daebf use stable ordering for PathFinder.getFiles 2011-03-16 22:22:20 -04:00
Mark Harrah a2bbf741ad fix exception swallowing in IO.archive 2011-03-16 22:17:09 -04:00
Mark Harrah 10d2d4c14a readLines from URL 2011-03-13 21:32:38 -04: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 ea188e74cc success indication and timestamps for actions 2011-03-06 21:57:31 -05:00
Mark Harrah c505b01ba6 fix - error 2011-03-05 07:37:03 -05:00
Mark Harrah ec8c5434af jline support for 2.9 2011-03-05 05:58:10 -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 a68e4c74f9 updating more integration tests 2011-02-25 18:35:52 -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 02d3c6bcad add 'seq' combinator that applies one or more parsers, collecting all valid results 2011-02-21 10:00:40 -05:00
Mark Harrah aadcd0c9fb tweak URI character class for improved completion 2011-02-19 15:29:51 -05:00
Mark Harrah 63c8fd715d make completion cross product lazier 2011-02-18 20:58:13 -05:00
Mark Harrah 6688918349 return position at which parsing fails 2011-02-18 20:57:39 -05:00
Mark Harrah a58781edd3 fix issue with updating a non-definitive setting 2011-02-15 18:43:44 -05:00
Mark Harrah c9b932acd1 cleanup/rework related to Settings/InputParser
- drop fillThis: handle in injectStreams instead
- simplify InputParser construction (at the expense of implementation simplicity)
- split out ScopeKey/initialization parts of Setting with separate Initialize trait
  + makes Apply obsolete
  + makes the Initialize trait properly composable
  + this allowed splitting the InputParser definition into
    an Initialize for parsing and one for the action
- implement test-only
- inject resolved scope
2011-02-11 20:22:17 -05:00
Mark Harrah 3895a7cb1e define IO.writeLines for a PrintWriter 2011-02-11 20:10:53 -05:00
Mark Harrah 10d48fd3fa add multi-directory versions of rebase and relativeTo 2011-02-10 08:14:51 -05:00
Mark Harrah 0ed1e8e894 fix lazyPathFinder to drop non-existing files 2011-02-10 08:14:24 -05:00
Mark Harrah 7efa007820 some more example tab completion combinators 2011-02-08 20:33:34 -05:00
Mark Harrah 06a346a543 'get' now shows defining scope, related definitions, dependencies 2011-02-06 11:33:56 -05:00
Mark Harrah c1cc482b94 overhaul Streams injection 2011-02-05 21:39:34 -05:00
Mark Harrah eb10f7ee94 improve Setting construction
- make all constructing methods end in = for lowest precedence
- rename Scope constructing method 'apply' to 'in' to allow 'apply' to
    be used on single settings as well as tuples and 'in' reads better
2011-02-04 22:02:39 -05:00
Mark Harrah c9a6d2f6b0 session manipulation commands
save, clear, list, and remove session settings
2011-02-02 22:56:11 -05:00
Mark Harrah 9858c9b91d additional entry point in Hash 2011-02-02 19:25:56 -05:00
Mark Harrah 65b341cdf0 translate Uninitialized message to use 'display' 2011-01-31 18:16:25 -05:00
Mark Harrah 09efe98f8b KList updates
- exchange variance annotations on KList for a bounded existential
   in KList.toList
 - add foldr (reason for dropping variance annotations)
 - add functions stating equivalence between
   + KList[M,H :+: T] and KCons[H,T,M]
   + KList[M,HNil] and KNil
2011-01-28 21:07:29 -05:00
Mark Harrah f6abc17ddf convenience method on Settings to get all (Scope, AttributeKey[_]) pairs 2011-01-25 22:19:03 -05:00
Mark Harrah e739e74ff5 make Uri parser fail (instead of error) on malformed inputs 2011-01-25 22:18:18 -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 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 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 087bc569e0 multi-project model based on Settings and ProjectRef 2011-01-18 18:48:32 -05:00
Mark Harrah 7ced3c0406 fully-scoped Settings 2011-01-18 18:48:32 -05:00
Mark Harrah 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 ac70b45c1c update completion example with newer combinators 2011-01-18 18:43:17 -05:00
Mark Harrah 8af2a0b7e0 JLine integration for tab completion combinators 2011-01-18 18:07:48 -05:00
Mark Harrah 260ee59d4a fix flatMap in completion 2010-12-14 06:08:20 -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 05195ecc7c fixes and additions to completion combinators
filter,map,flatMap
remove incorrect reductions
2010-12-08 22:16:12 -05:00
Mark Harrah 8e6b42180d parser combinators with builtin tab completion support
lacks memoization
lacks error messages for normal parsing
2010-12-06 19:48:49 -05:00
Mark Harrah 035492dbcf introduce sbt.log.format for explicit formatting control
implements issue #134
if true, formatting enabled
if false, formatting disabled
if unset, formatting configured as before
sbt.log.noformat is no longer recommended, but is supported:
 a. setting it to 'true' explicitly disables formatting
 b. if 'false' or unspecified, autodetection is used
 c. sbt.log.format takes precedence if defined
2010-12-02 19:18:08 -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 9d6a4f70f7 additional utility methods 2010-11-24 14:09:02 -05:00
Mark Harrah ccf0508ce6 cleanup, small fixes 2010-11-24 14:08:20 -05:00
Mark Harrah c98c9bb727 cleanup 2010-11-24 14:04:32 -05:00
Mark Harrah de3ad8c860 eliminate temporary directory for injecting resources into a class loader 2010-11-13 20:16:44 -05:00
Mark Harrah 0846ffd02b minor updates to utilities 2010-10-30 11:54:43 -04:00
Mark Harrah f8439d2d64 modified patch from Viktor and Ross 2010-10-28 23:02:46 -04:00
Mark Harrah 37904a1644 replace unordered collections in several locations with ordered ones 2010-10-26 18:09:33 -04:00
Mark Harrah 5ed8f3c042 improving incremental compilation
support lazy arguments in data type generator
SafeLazy implementation that explicitly clears the reference to the thunk
in API representation, drop synthetic modifier and merge deferred into abstract
handle cyclic structures in API generation, display, comparison, persistence
gzip compile cache file
bump to 2.8.1.RC3, project definition cleanup
fix main method detection to check for the right name
properly view inherited definitions
exclude constructors of ancestors
2010-10-22 21:55:16 -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 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 1917809617 add conversion from xsbti.Logger to sbt.Logger 2010-09-27 18:51:35 -04:00
Mark Harrah 2d535e25c8 add another Process constructor 2010-09-27 18:50:17 -04:00
Mark Harrah 28f1eecbef changes to make latest preview easier 2010-09-23 09:21:39 -04:00
Mark Harrah 5b181eea6e fix issue with quiet waiting in source watcher 2010-09-21 22:03:18 -04:00
Mark Harrah 7d8b94fdd2 reorganize Process implicits
split out Process implicits to ProcessExtra trait
give them unique names to avoid shadowing when used
2010-09-21 21:57:15 -04:00
Mark Harrah 5a13de4ff7 move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
Mark Harrah 0d5814e2b3 Rework external dependency tracking and multi-projects
Reduce AnalysisCallback interface:
  remove discovery
  simplify dependency notification methods
Use map of classpath entry to Analysis for locating
  source API for external dependencies
Handle classpath changes by locating class
  on classpath and either locating Analysis/Source
  as above or comparing Stamp.  This requires storing
  the class name of a binary dependency now.
Make this process aware of full classpath, including
  boot classpath
2010-09-17 21:59:43 -04:00
Mark Harrah 883cd1a201 remove discovery from Java Analyzer 2010-09-17 21:35:13 -04:00