Commit Graph

541 Commits

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