Commit Graph

5624 Commits

Author SHA1 Message Date
Mark Harrah ea3e5c3548 Allow cleanKeepFiles to contain directories
The directory contents will be kept as will empty directories.
2012-12-19 10:17:56 -05:00
Mark Harrah 6c748d97c5 Docs: note that plugins are loaded in a parent loader of build code 2012-12-19 10:17:56 -05:00
Mark Harrah 329b42453b move Eval test to correct location 2012-12-19 10:17:56 -05:00
Mark Harrah f6317a5c75 remove deprecated Extracted.evalTask 2012-12-19 10:17:56 -05:00
Mark Harrah dd66d8b17a API documentation in Extracted 2012-12-19 10:17:56 -05:00
Mark Harrah c86c24c560 Docs: fix typo 2012-12-19 10:17:56 -05:00
Mark Harrah c2968afa25 initial 0.13 change summary 2012-12-17 19:15:26 -05:00
Mark Harrah 8ada452fa7 Docs: fix typo 2012-12-17 08:32:20 -05:00
Mark Harrah d156ccfe4e Further refinements to Scala version handling
- override location of resolved Scala jars when scalaInstance is unmanaged
- document current behavior: scalaHome, update, scalaInstance, autoScalaLibrary, managedScalaInstance
2012-12-16 18:56:22 -05:00
Grzegorz Kossakowski ae211ee33e Cleanup parameter list of `ScriptedTests`.
All of `sbtVersion`, `defScalaVersion` and `buildScalaVersions` were
not used anymore. According to @harrah they are coming from really
old days of sbt and are not needed because of changes to how sbt
interacts with different Scala versions.
2012-12-14 12:57:47 -05:00
Mark Harrah 71f12fbcdb 2.9 compatibility for incremental compilation modules 2012-12-11 14:41:22 -05:00
Grzegorz Kossakowski 4c1c31e190 Fix for dependency on class file corresponding to a package. (#620)
While trying to determine binary dependencies sbt lookups class files
corresponding to symbols. It tried to do that for packages and most of the
time would fail because packages don't have corresponding class file
generated. However, in case of case insensitive file system, combined
with special nesting structure you could get spurious dependency.
See added test case for an example of such structure.

The remedy is to never even try to locate class files corresponding to
packages.

Fixes #620.
2012-12-10 13:53:52 -05:00
Grzegorz Kossakowski 482b59be5d Add test for pickled refinement types bug (#610). 2012-12-10 09:22:57 -05:00
Grzegorz Kossakowski bdfc16b5f4 Add test for pickled existential types bug (#616)
This test fails at the moment because there's one unnecessary
compile iteration performed. Thus the test is marked as pending.

Since the test is compiler version specific, I set it to 2.9.2
(latest stable version).
2012-12-10 09:22:38 -05:00
Grzegorz Kossakowski 78b0f485fa Add `compilations` field to `Analysis`.
We store `Seq[xsbt.api.Compilation]` in `Analysis`. Compilation are
being appended to sequence for every iteration of the incremental
compiler.

Note that `Compilation`s are never removed from the sequence unless
you start from scratch with empty `Analysis`. You can do that by using
sbt's `clean` command.

The main use-case for using `compilations` field is to determine how
many iterations it took to compilen give code. The `Compilation` object
are also stored in `Source` objects so there's an indirect way to recover
information about files being recompiled in every iteration.

Since `Analysis` is persisted you can use this mechanism to track entire
sessions spanning multiple `compile` commands.
2012-12-10 09:15:52 -05:00
Mark Harrah 532c72e60e initial list of 0.12.2 changes 2012-12-09 20:40:41 -05:00
Mark Harrah 230a13d010 use new input task syntax for project/settings 2012-12-09 20:40:41 -05:00
Mark Harrah f388b07632 fix inputTask construction method and put sbt package object in proper directory 2012-12-09 20:40:41 -05:00
Mark Harrah e3745540c9 More cleanup of Scala version handling, including managedScalaInstance to control automatic 'scala-tool' configuration and dependencies. 2012-12-09 20:40:41 -05:00
Mark Harrah 912948f5c8 update 'apply' help string to include -cp option 2012-12-09 20:40:41 -05:00
Mark Harrah 1d18532bf0 mark Typesafe repositories as bootOnly, remove Sonatype snapshots now that Scala is resolved by the project 2012-12-09 20:40:41 -05:00
Mark Harrah d4fd136192 support defining Projects in .sbt files
vals of type Project are added to the Build
2012-12-09 20:40:41 -05:00
Mark Harrah 9a79af69c9 Pending test for #466, which is not fixed by running after pickler instead of typer. Ref #609. 2012-12-09 20:40:41 -05:00
xuwei-k ce9b43e9bd add some plugins and update url 2012-12-09 09:01:27 -05:00
Grzegorz Kossakowski e719c5fb2e Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Grzegorz Kossakowski ef39aeb9c1 Follow source layout convention supported by Eclipse.
Moved source files so directory structure follow package
structure. That makes it possible to use Scala Eclipse plugin
with sbt's source code.
2012-12-07 10:27:08 -08:00
Grzegorz Kossakowski 56dff4855d Follow package structure for generated `ScalaKeywords.scala`.
`ScalaKeywords.scala` is now being generated at location that
follows package structure.
2012-12-07 10:18:34 -08:00
Adriaan Moors f7be122eb4 Run apiExtractor after pickler (configurable)
Extract the api after picklers, since that way we see the same symbol
information/structure irrespective of whether we were typechecking
from source / unpickling previously compiled classes.

Previously, the apiExtractor phase ran after typer.

Since this fix is hard to verify with a test (it's based on the
conceptual argument above, and anecdotal evidence of incremental
compilation of a big codebase), we're providing a way to restore the
old behaviour: run sbt with -Dsbt.api.phase=typer.

This fixes #609.
2012-12-06 19:35:51 -05:00
Adriaan Moors cb0e723923 Fix #610: represent refinement typerefs stably
goal:

a representation of a type reference to a refinement class that's stable
across compilation runs (and thus insensitive to typing from source or
unpickling from bytecode)

problem:

the current representation, which corresponds to the owner chain of the
refinement:

  1. is affected by pickling, so typing from source or using unpickled
  symbols give different results (because the unpickler "localizes"
  owners -- this could be fixed in the compiler in the long term)

  2. can't distinguish multiple refinements in the same owner (this is
  a limitation of SBT's internal representation and cannot be fixed in
  the compiler)

solution:

expand the reference to the corresponding refinement type: doing that
recursively may not terminate, but we can deal with that by
approximating recursive references (all we care about is being sound for
recompilation: recompile iff a dependency changes, and this will happen
as long as we have one unrolling of the reference to the refinement)
2012-12-06 19:11:12 -05:00
Mark Harrah f55c8ca15e Tab completion of right side of setting in 'set' command no longer necessary with the new task syntax. 2012-12-06 19:11:07 -05:00
Mark Harrah 518bbc4077 Docs: more cleanup for 0.13 2012-12-06 19:11:07 -05:00
Mark Harrah 154134adb0 fix scripted tests/* 2012-12-06 12:15:34 -05:00
Mark Harrah 24be2e5f25 Only make one call to test frameworks per test name. Fixes #520.
- Requires selecting one fingerprint if there are more than one
- The selected fingerprint is by reverse ordering of Framework.tests
- Reverse ordering chosen to work with junit-interface without changes
2012-12-06 12:15:34 -05:00
Mark Harrah a3047acc20 fix scripted tests 2012-12-06 07:25:41 -05:00
Mark Harrah 769ecbace5 add scala-tool configuration and dependencies when configuring via pom.xml/ivy.xml 2012-12-06 07:25:41 -05:00
Mark Harrah 214cd62a2a use latest, renamed proguard-base artifact 2012-12-06 07:25:40 -05:00
Mark Harrah 8f25b07d71 -cp/-classpath option to 'apply' command 2012-12-04 21:08:39 -05:00
Mark Harrah 96ddf5b742 move to proguard 4.6 to avoid index out of bounds in variable remapper
upgrading Proguard changed what gets included: now need scala package object, which brings in 100kB more bytecode with it
2012-12-04 21:08:39 -05:00
Mark Harrah b7084ffa1f fix scoping issue in launcher tests 2012-12-04 21:08:38 -05:00
Mark Harrah 005b2b356f fix IO tests, which needed scala-compiler.jar on the classpath 2012-12-04 13:20:03 -05:00
Josh Suereth f338018bd1 Modified SBT defualts to pull in app repositories.
* If SBT launcher supports app repositories these are added by default.
* IF SBT launcher does not support app repositories, previous defaults are used.
2012-12-04 13:10:10 -05:00
Josh Suereth 4210936163 Adding app-repositories feature to Launcher.
* Added appRepositories method to Launcher interface
* Added 'bootOnly' configuration, such that repositories can be used only for boot and not applications.
* Added tests to ensure 'bootOnly' and 'mavenCompatible' behave well
* Updated documentation on launcher to reflect new options.
2012-12-04 13:10:10 -05:00
Josh Suereth e07dc32b7e Adding some documentation to Launcher interface.
* Documented most of the heavily used methods in Launcher.
* Need to decide whether or not getScala is 'deprecated' or just disuaded in the future.
2012-12-04 13:10:10 -05:00
Josh Suereth 0c08c1169e Bumped the Scalatest/Specs versions for 2.10.0-RC3
* Modified tests to use mutable Specs API
* Fixed a few minor specs issues.
2012-12-04 13:10:09 -05:00
Mark Harrah cdd2e72cdf move top-level settingKey,taskKey,inputKey objects to Def and package object
avoids class file name collision on case insensitive filesystem
2012-12-04 13:08:52 -05:00
Lex Spoon b7250bb528 Fix -Yrangepos. Unlike other settings, it requires that a mixin be added to Global. 2012-12-03 20:34:11 -05:00
Mark Harrah c1051f1f1e Source dependency on sbinary for 2.10.0-RC* for now 2012-12-03 08:56:55 -05:00
Mark Harrah 495e7c6f62 Disable aggregation for `run-main` by default 2012-12-03 08:56:22 -05:00
Mark Harrah 130402b238 Docs: section on `state` task 2012-12-03 08:55:04 -05:00
xuwei-k 4b17d12de0 xsbt-web-plugin moved 2012-12-02 03:19:29 -05:00