sbt, the interactive build tool
Go to file
Grzegorz Kossakowski d77930394f 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
cache deprecations 2013-02-25 09:24:04 -05:00
compile Handle compilation cancellation properly. 2013-07-19 14:39:26 -07:00
interface Handle compilation cancellation properly. 2013-07-19 14:39:26 -07:00
ivy Revert packaging='pom' behavior change introduced in c5823ad1e7. Fixes #810. Ref #636. 2013-07-11 18:49:30 -04:00
launch Whitespace OCD 2013-07-02 08:21:32 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Apply setup and cleanup hooks to forked tests. 2013-07-16 13:55:10 -04:00
project Scala 2.11 modularized dependencies 2013-07-09 14:55:30 -04:00
run Fork run directly with 'java' to avoid additional class loader from 'scala' command. Fixes #702. 2013-04-05 09:02:24 -04:00
sbt fix tests/fork. It relied on being able to run a test multiple times in the same forked group. 2013-07-16 13:55:10 -04:00
scripted scripted support for disabled tests 2013-06-28 00:01:19 -04:00
src Docs: Use more lazy vals on Tasks. 2013-07-15 07:36:54 -04:00
tasks fix task execution test compilation 2013-06-28 00:01:19 -04:00
testing test arguments no longer need to be passed throughout- they are now only used in Runner construction 2013-07-11 21:13:06 -04:00
util disable JLine event expansion 2013-07-12 09:42:16 -04:00
.gitattributes Added .gitattributes file. 2013-04-25 00:06:51 +08:00
.gitignore support defining Projects in .sbt files 2012-12-09 20:40:41 -05:00
CONTRIBUTING.md clean up CONTRIBUTING and README 2013-06-28 19:06:56 -04:00
LICENSE * move Environment classes to util/env module 2010-07-14 19:24:50 -04:00
NOTICE * move Environment classes to util/env module 2010-07-14 19:24:50 -04:00
README.md clean up CONTRIBUTING and README 2013-06-28 19:06:56 -04:00
api.specification Macro def aware recompilation. 2012-03-04 17:35:51 +01:00
scripted.specification New scripted test framework 2009-11-09 09:34:52 -05:00

README.md

sbt 0.13

This is the 0.13.x series of sbt.

  • Setup: Describes getting started with the latest binary release.
  • See CONTRIBUTING for how to build from source, open an issue, fix or add documentation, or submit a pull request.
  • FAQ: Explains how to get help and more.
  • Google Code: hosts sbt 0.7.7 and earlier versions