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