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
Mark Harrah
ec3a0ba375
Attributed, attaches attributes to arbitrary data
2010-09-17 20:46:31 -04:00
Mark Harrah
fa10f1a614
relativize that takes File arguments
2010-09-17 20:28:36 -04:00
Mark Harrah
5017e326c1
toString for HList and KList
2010-09-12 22:27:11 -04:00
Mark Harrah
bef61ab9fd
correct order for IO.readLines
2010-09-08 14:29:38 -04:00
Mark Harrah
b03b56ea2e
hierarchical in-memory settings
2010-09-08 14:29:00 -04:00
Mark Harrah
67682f32d3
implement ~
2010-09-06 00:13:53 -04:00
Mark Harrah
050f9db501
rework ConsoleLogger
...
can send output to a PrintWriter
control over color, still need custom formatter
replace IvyLogger with normal Logger
2010-09-04 08:24:26 -04:00
Mark Harrah
763fbfb39f
fix PMap test
2010-09-04 08:12:17 -04:00
Mark Harrah
0c59e9d5a6
minor updates for p2
2010-08-30 09:10:25 -04:00
Mark Harrah
62691e6681
cross-configurations
2010-08-27 19:17:03 -04:00
Mark Harrah
4bb7c44730
fix Logger/Process
2010-08-22 19:07:46 -04:00
Mark Harrah
368bdd2701
task system cleanup
...
KList.map -> transform
can now drop trailing 'H' from multi-Task 'mapH'
compressed Action hierarchy by merging (Flat)Map{ped,All,Failure} into (Flat)Mapped
moved most information in Info into attributes: AttributeMap to allow future changes
2010-08-21 22:55:42 -04:00
Mark Harrah
0b39232445
clean up Process subproject
...
no longer has any dependencies
small ProcessLogger interface to send buffered out/err to
commented out (but working) implicit conversions from Logger -> ProcessLogger
for use in an integrating project to get original functionality
2010-08-21 22:49:11 -04:00
Mark Harrah
44c49ab531
remove Rewrite
2010-08-14 09:49:28 -04:00
Mark Harrah
714d21d865
add IO functions: InputStream -> File, BufferedReader -> List[String]
2010-08-14 09:48:46 -04:00
Mark Harrah
1602dd2715
KList updates
...
add conversion from List[M[_]] to KList[M, HList]
required KList to be covariant in its HList parameter
2010-08-14 09:46:49 -04:00
Mark Harrah
32150e7097
type alias A ~>| B for [T]A[T] => Option[B[T]]
2010-08-10 08:40:14 -04:00
Mark Harrah
14d1bc5282
split out read-only RMap from PMap
2010-08-10 08:39:30 -04:00
Mark Harrah
8caaabbdf4
Handle absolute paths passed to Path.fromString
2010-08-10 08:36:31 -04:00
Mark Harrah
ab78c8791a
remove call-by-name modifier for error function, doesn't work well
2010-08-04 19:48:48 -04:00
Mark Harrah
767a1e47c1
adding more commands
2010-07-27 23:01:45 -04:00
Mark Harrah
56b0b7592d
unnecessary import in BufferedLogger
2010-07-19 12:32:13 -04:00
Mark Harrah
d7b66458f2
first shot at general command/definition model
2010-07-17 12:07:41 -04:00
Mark Harrah
d0fa1eb461
* move Environment classes to util/env module
...
* move TrapExit, SelectMainClass to run module
* rearrange some compilation-related code
* Jetty-related code moved to web module
2010-07-14 19:24:50 -04:00
Mark Harrah
6f3c699435
- Stuart's improvements to triggered execution
...
- continue splitting original sbt module
* separated process, testing modules
* various IO, logging, classpath migration
* split out javac interface
2010-07-05 12:53:37 -04:00
Mark Harrah
37185c0fb6
discovery, persistence, frontend, and various fixes to incremental
2010-07-02 06:57:03 -04:00
Mark Harrah
3b8aeddbfb
Relation.make
2010-06-27 09:16:16 -04:00
Mark Harrah
c1b9cdb209
MList -> KList, Relation[T] -> Relation[A,B]
2010-06-24 18:09:07 -04:00
Mark Harrah
92cacef95d
relation data structure
2010-06-21 21:22:11 -04:00
Mark Harrah
b2077ce60c
more 2.8 updates, launcher compiles and runs with 2.8
2010-06-15 20:38:18 -04:00
Mark Harrah
1585d805bd
more reorganization, mostly IO. Also, move class file analyzer and history code to separate projects
2010-06-13 22:59:29 -04:00
Mark Harrah
d73762e203
more fixes
2010-06-10 22:47:04 -04:00
Mark Harrah
1ee470282d
Merge branch '0.9' of github.com:harrah/xsbt into 0.9
2010-06-10 21:34:13 -04:00
Mark Harrah
0d24118d93
first round of logger cleanup/migration
2010-06-10 21:26:27 -04:00
Mark Harrah
64618fe56a
wideConvert lets the serious errors pass through, use it in Execute
2010-06-10 21:25:37 -04:00
Mark Harrah
eb10dc160e
move StackTrace to util/log
2010-06-10 21:08:01 -04:00
Mark Harrah
899920a0a0
conversions
2010-06-10 08:14:50 -04:00
Mark Harrah
d1260eebd1
first update of io for 2.8
2010-06-09 00:56:07 -04:00
Mark Harrah
aaa36f6cd2
Merge branch 'cache' into 0.9
2010-06-07 10:55:25 -04:00
Mark Harrah
5eed8ccbef
graph evaluator, rewrite, general updates
2010-06-07 08:53:21 -04:00
Mark Harrah
ec19be6152
variance fixes, inference fixes with Result hierarchy
2010-06-01 08:38:56 -04:00
Mark Harrah
75a784d5ec
MList covariant, initial Node
2010-05-30 21:14:18 -04:00
Mark Harrah
9a4cfa0037
higher-kinded heterogeneous lists: MList[M[_]]
...
natural transformations: ~>[A[_], B[_]]
Scala 2.8
2010-05-30 18:42:58 -04:00
Mark Harrah
b28d0361d7
new method FileUtilities.stash
2010-05-21 18:48:14 -04:00
Mark Harrah
42f4a71584
xsbt.FileUtilities.writeLines
2010-05-03 08:16:43 -04:00
Mark Harrah
48b5b5d7dc
Added PathFinder.distinct, some API documentation, and started to clean up Path testing.
2010-04-03 14:09:32 -04:00
Mark Harrah
e1e60fe859
preserve compiler interface classes across invocations
2010-03-13 13:25:08 -05:00
Mark Harrah
a33223a02c
legal cleanup
2010-02-07 23:45:19 -05:00
Mark Harrah
5f9f3729d1
work on source api parts
2010-01-22 20:17:49 -05:00
Mark Harrah
b4c5168d1f
Fix '/' operator in Paths
2010-01-20 18:16:31 -05:00
Mark Harrah
a301df2ff1
Cleaning up tasks and caching
2009-12-11 18:56:09 -05:00
Mark Harrah
1eb42c0af0
rebase for PathMapper
2009-12-05 10:31:06 -05:00
Mark Harrah
f139e5a9c1
Changes to assist with scripted testing of sbt 0.6.x series
2009-12-04 21:31:03 -05:00
Mark Harrah
dfb7397b8a
A basic readLines method and moving the filtered class loader
2009-11-25 13:03:41 -05:00
Mark Harrah
38dbb1d23c
Type member support, linearization instead of parents and add inherited members for structure
2009-11-22 22:54:17 -05:00
Mark Harrah
2977fd4131
Source API extractor
2009-11-21 15:53:04 -05:00
Mark Harrah
74202668c6
Datatype generating subproject, to be used to represent public API of sources
2009-11-21 15:52:44 -05:00
Mark Harrah
4023e10fd6
New scripted test framework
2009-11-09 09:34:52 -05:00
Mark Harrah
b9d04c89b9
Fix jar creation on windows
2009-11-03 19:35:56 -05:00
Mark Harrah
7bb72ecb8b
Scaladoc, run, and console interfaces
2009-10-07 21:27:53 -04:00
Mark Harrah
8bfb2802fb
Filling in logging and making cross-compile work.
2009-09-05 12:19:34 -04:00
Mark Harrah
5fa328551c
Small improvements to I/O
2009-08-31 10:41:43 -04:00
Mark Harrah
05f4f60553
Add methods to FileUtilities to read entire file into String or Array[Byte]
2009-08-30 21:44:44 -04:00
Mark Harrah
6e414e96c5
Compile task with dependency tracking. Checkpoint: compiles successfully.
2009-08-30 11:10:37 -04:00
Mark Harrah
573994dd4e
tuple caches, stamped caches, Path API, another type of change detection, and copying/archiving based on (source,target) tuples
2009-08-29 10:19:00 -04:00
Mark Harrah
56547aad29
Composable dependency tracking on top of Tasks.
2009-08-26 08:38:20 -04:00
Mark Harrah
50d350abd0
Compilation with analysis independent of Scala version of sbt.
...
Basic test for this.
2009-08-23 22:21:15 -04:00
Mark Harrah
108807a773
Tests and fixes for component manager and cache interface.
2009-08-20 00:02:06 -04:00
Mark Harrah
67e13ad887
Setup interface project for testing
2009-08-18 00:51:08 -04:00
Mark Harrah
5644b936fe
Setting up compiler support and several related additions to util/io
...
* Added the top-level interface project for communicating across scala versions within a jvm.
* Added plugin project containing analysis compiler plugin
* Added component compiler to build xsbt components against required version of Scala on the fly
* Added interface to compiler that runs in the same version of Scala
* Added frontend that compiles against a given version of Scala with or without analysis.
2009-08-17 10:51:43 -04:00
Mark Harrah
65fc0e0453
Initial xsbt commit
2009-08-16 14:29:08 -04:00