Commit Graph

394 Commits

Author SHA1 Message Date
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 1bc26fa488 When preserving last modified, convert negative values to 0
File.lastModified can return a negative number, but File.setLastModified doesn't accept
negative numbers.  See Java bug #6791812.
2012-11-16 09:56:01 -05:00
Mark Harrah 1c1e5c4977 taking care of deprecations removed in Scala master 2012-11-14 11:48:06 -05:00
Eugene Vigdorchik 761a441805 Filter out null parent files when deleting empty directories. Closes #589. 2012-11-12 14:45:01 -05:00
Benjy 657d842238 Analysis.groupBy implementation. 2012-11-10 19:01:41 -05:00
Mark Harrah b451761478 fix broken commit 2012-11-05 10:09:39 -05:00
Mark Harrah b6ff789d44 Work around File constructor not accepting URIs for UNC paths. Fixes #564. 2012-11-05 10:02:33 -05:00
Mark Harrah 6354b174e8 Java classfile analysis: log the problematic URL when IO.urlAsFile throws an exception. Ref #564. 2012-10-15 12:42:28 -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
Jason Zaugg 2ef0fcae6a Fix #552 Compensate for JLine's absent EOF detection.
In the unsupported terminal mode, JLine treats a broken
stdin as an endless stream of empty lines. This is problematic
for idea-sbt-plugin: if the IntelliJ process is forcibly killed
and leaves the child SBT process running, it consumes considerable
CPU processing these.

Patching JLine itself would be the cleanest solution (the change
has already been applied to JLine 2), but I've shied away from that
and instead wrapped the InputStream that is read by JLine to
intercept the result of -1 from read(). When this happens, the
flat `inputEof` is set to true.
2012-09-23 15:58:15 -04:00
Mark Harrah 607824cc22 better error message for null setting values 2012-09-18 13:22:40 -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
Mark Harrah 29dd76da85 defer opening logging output files until an actual write 2012-08-27 10:49:13 -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 8c06949957 clean up token completions and make providing a general completion function easier 2012-07-13 14:33:27 -04:00
Mark Harrah ce3ed37c8c basic code for cleaning up Manifest.toString 2012-07-13 14:33:27 -04:00
Mark Harrah 0972791b58 clean up Completions and allow arbitrary 'display' for Token 2012-07-13 14:33:27 -04:00
Mark Harrah 72e05309c5 JLine completion integration now considers a suggestion with a newline to be preformatted 2012-07-13 14:33:27 -04:00
Mark Harrah 51da95644c methods for working with Scala identifiers 2012-07-13 14:33:27 -04:00
Mark Harrah 5dd2bb8a24 print completions containing a newline first and on separate lines 2012-07-13 14:33:27 -04:00
Eugene Vigdorchik b5a29987e6 Changes required to use sbt as-is from Scala-IDE. 2012-07-13 14:33:26 -04:00
Eugene Vigdorchik a6c2054292 Break compiler dependency from 'collection' project. 2012-07-13 14:33:26 -04:00
Mark Harrah b6b78618f5 in IO.copyFile, limit maximum size transferred via NIO. fixes #491 2012-07-06 10:28:51 -04:00
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