Commit Graph

1177 Commits

Author SHA1 Message Date
Grzegorz Kossakowski 785b750e47 Remove dead source file `F0.scala` from interface subproject.
It doesn't seem to be used anywhere.
2013-10-29 16:39:50 +01:00
Mark Harrah 59905741e1 Merge remote-tracking branch 'gkossakowski/separate-dependency-phase' into 0.13 2013-10-24 16:57:32 -04:00
Mark Harrah 10b5361e83 Merge remote-tracking branch 'benjy/interned_files' into 0.13 2013-10-24 16:55:16 -04:00
Mark Harrah cb7c12a4ad Transfer logging,trace levels from old to new global loggers. 2013-10-24 16:34:16 -04:00
Grzegorz Kossakowski 9c75143382 Remove AnalysisCallback.{beginSource, endSource} methods.
As pointed out by @harrah in #705, both beginSource and endSource are
not used in sbt internally for anything meaningful.

We've discussed an option of deprecating those methods but since they
are not doing anything meaningful Mark prefers to have compile-time
error in case somebody implements or calls those methods. I agree with
that hence removal.
2013-10-24 16:44:45 +02:00
Mark Harrah 8dc24826d3 shortcut heterogeneous AList to KList.toList 2013-10-23 09:46:43 -04:00
Mark Harrah a0540f5ce9 cleanups in Settings 2013-10-23 09:46:43 -04:00
Mark Harrah d30a3f3bfd drop view for iterator in IMap 2013-10-23 09:46:43 -04:00
Mark Harrah 4f422ccac7 Merge remote-tracking branch 'benjy/analysis_test' into 0.13 2013-10-17 15:17:57 -04:00
Mark Harrah 5197c2d001 Merge remote-tracking branch 'benjy/internpool2' into 0.13 2013-10-17 15:17:43 -04:00
Benjy 41e96dbc66 Test for Analysis split/merge.
Requires scalacheck generators for Analysis and its subobjects. These
may be useful for other tests in the future.

Also fixes a bug in RelationTest.
2013-10-17 11:56:10 -07:00
Mark Harrah 6e0281fa1c Merge remote-tracking branch 'benjy/relation' into 0.13 2013-10-13 22:27:10 -04:00
Mark Harrah 5c15b0a6da Merge remote-tracking branch 'benjy/datatype_codegen' into 0.13 2013-10-13 10:41:54 -04:00
Mark Harrah f7be74b882 Merge remote-tracking branch 'benjy/modifiers' into 0.13 2013-10-13 10:35:36 -04:00
Benjy 3cbe4f942b Add merge, partition and groupBy methods to Relation.
Also add equals/hashCode to Relation.

Also add a basic test for groupBy.
2013-10-10 21:05:20 -07:00
Benjy 00dba88c91 equals/hashCode on Modifiers. 2013-10-10 20:43:13 -07:00
Mark Harrah 5ac9390be6 TrapExit support for multiple, concurrent managed applications. Fixes #831. 2013-10-02 09:13:45 -04:00
James Roper a3a3dc1226 String upper/lower case no longer locale dependent
Fixed many instances of the Turkish i bug.

Spare a thought for the poor Turks!
2013-09-24 08:14:15 -04:00
Mark Harrah 8883ab324b The Process methods that are redirection-like should not discard the exit code of the input.
Only piping should do that.  This addresses an inconsistency with Fork, where using the CustomOutput
OutputStrategy makes the exit code always zero.
2013-09-19 12:38:16 -04:00
Mark Harrah 62137f708f Show source position of undefined setting. 2013-08-30 18:34:54 -04:00
Mark Harrah b71af2150e API docs for Attributes.scala 2013-08-16 14:22:14 -04:00
Mark Harrah a2ab8a3630 Cleaned up API docs for Relation. 2013-08-16 14:22:14 -04:00
Mark Harrah 9614c4f95a API docs for Parser(s). 2013-08-16 14:22:14 -04:00
Mark Harrah dae220ecad Restore lower case hex digits to HexDigit Parser, accidentally removed in 8545e912da. 2013-08-16 14:22:14 -04:00
Mark Harrah 3781820dda init/restore instead of setEchoEnabled in order to handle full jline customizations. Fixes #822. 2013-07-19 20:03:06 -04:00
Mark Harrah f6141d2862 Merge remote-tracking branch 'cancel-bug' into 0.13 2013-07-19 18:56:01 -04:00
Grzegorz Kossakowski 66a48b08c7 Handle compilation cancellation properly.
Incremental compiler didn't have any explicit logic to handle
cancelled compilation so it would go into inconsistent state.

Specifically, what would happen is that it would treat cancelled
compilation as a compilation that finished normally and try to
produce a new Analysis object out of partial information collected
in AnalysisCallback. The most obvious outcome would be that the
new Analysis would contain latest hashes for source files. The
next time incremental compiler was asked to recompile the same files
that it didn't recompile due to cancelled compilation it would think
they were already successfully compiled and would do nothing.

We fix that problem by following the same logic that handles compilation
errors, cleans up partial results (produced class files) and makes sure
that no Analysis is created out of broken state.

We do that by introducing a new exception `CompileCancelled`
and throwing it at the same spot as an exception signalizing compilation
errors is being thrown. We also modify `IncrementalCompile` to
catch that exception and gracefully return as there was no compilation
invoked.

NOTE: In case there were compilation errors reported _before_
compilation cancellations was requested we'll still report them
using an old mechanism so partial errors are not lost in case
of cancelled compilation.
2013-07-19 14:39:26 -07:00
Mark Harrah 1d829e2512 specify explicit type to work around 2.11 volatile override error 2013-07-18 22:38:16 -04:00
Mark Harrah 577424fe70 disable JLine event expansion 2013-07-12 09:42:16 -04:00
Mark Harrah e805eb919d Provide a better error message when an older launcher is used with 0.13 and JLine classes are incompatible. 2013-07-08 18:42:00 -04:00
Mark Harrah d21ccd1662 Merge remote-tracking branch 'inc-documentation' into 0.13 2013-06-27 09:40:17 -04:00
Mark Harrah 874a357f25 jline/jansi fixes for windows. Fixes #763, fixes #562.
The startup script should set sbt.cygwin=true if running from cygwin.
This will set the terminal type properly for JLine if not already set.
If sbt.cygwin=false or unset and os.name includes "windows", JAnsi is
downloaded by the launcher and installed on standard out/err.

The value for jline.terminal is transformed from explicit jline.X to
the basic types "windows", "unix", or "none".  Now that sbt uses JLine
2.0, these types are understood by both sbt's JLine and Scala's.
Older Scala versions shaded the classes but not the terminal property
so both couldn't be configured with a class name at the same time.
2013-06-26 13:40:33 -04:00
Mark Harrah a17c747415 deprecate xml process constructors, which are replaced by proper string interpolation in Scala 2.10 2013-06-24 17:48:44 -04:00
Mark Harrah f47ad3fb72 Experimental task progress interface. Fixes #592.
Set sbt.task.timings=true to print timings for tasks.
This sample progress handler shows how to get names for tasks and
deal with flatMapped tasks.  There are still some tasks that make
it through as anonymous, which needs to be investigated.

A setting to provide a custom handler should come in a subsequent commit.
2013-06-23 19:57:30 -04:00
Mark Harrah e7cdcc2deb set position on parameter references in task/setting macros 2013-06-19 11:53:11 -04:00
Mark Harrah 169a88dd30 Require projects to have unique target directories.
Configuring projects so that target directories overlap is usually
unintentional and the error message that results is usually unrelated
to the cause.
2013-06-18 18:43:50 -04:00
Mark Harrah aa2bd76e5e Support dynamic evaluations of optional settings (Initialize.evaluate). 2013-06-18 18:29:01 -04:00
Mark Harrah de63a2c448 SoftInvalid parser, which defers being invalid in order to preserve a failure message on empty input. 2013-06-17 12:06:13 -04:00
Mark Harrah 0f088ab25a invalid/failure Parser construction methods now accept definitive flag 2013-06-17 12:06:13 -04:00
Mark Harrah ac3bfc16ae Merge failures from a,b in a|b when a,b fail on the same input position.
Previously, only the failures from b were used.
2013-06-17 12:06:13 -04:00
Mark Harrah d4f6b9cf78 'definitive' Parser failures
Support a definitive flag for Failure that ignores later failures
instead of appending them.  This is useful to override the default
behavior of listing the failures of alternative parsers.
2013-06-17 12:06:13 -04:00
Mark Harrah 3dd714b1fa Fully implement StaticScopes subclass of Initialize in order to support use in Task flatMap. Fixes #784. 2013-06-15 23:55:05 -04:00
Mark Harrah 6b0bc78fd9 local SyncVar implementation to deal with std lib deprecations 2013-05-27 19:12:39 -04:00
Mark Harrah a1b793dc1e Merge ExtendedReporter into Reporter. 2013-05-27 19:12:39 -04:00
Mark Harrah 61decef972 Derived settings: handle scopeLocal in derive and allow triggering dependencies to be filtered 2013-05-09 17:28:50 -04:00
Mark Harrah 19c78ac413 Show defining locations when there are cycles between derived settings 2013-05-09 17:28:50 -04:00
Mark Harrah ed11008126 only derive settings when all dependencies are defined 2013-05-09 17:28:49 -04:00
Mark Harrah 7a10aeca37 Default settings, which give internal sbt settings something like Plugin.globalSettings. 2013-05-09 17:28:40 -04:00
Mark Harrah 6ffff6fb35 support filtering the Scopes that a derived setting is applied in 2013-05-09 17:28:39 -04:00
Mark Harrah 08e4e3786f more specific error when dependencies of a derived setting are undefined 2013-05-09 17:28:39 -04:00