Commit Graph

335 Commits

Author SHA1 Message Date
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