Commit Graph

17940 Commits

Author SHA1 Message Date
Eugene Yokota 92214f739a Based on Ivy's behavior, bringing back approximation
I assumed 1.1+ should be treated as 1.+, but it seems like Ivy treats
it more as “any version that starts with 1.1” including 1.10.
Josh’s original implementation approximates this by making ranges for
multiple digits, 1.1~1.2, 1.10~1.20, etc.
2014-08-22 03:54:32 -04:00
Eugene Yokota f99c5817f5 Based on Ivy's behavior, bringing back approximation
I assumed 1.1+ should be treated as 1.+, but it seems like Ivy treats
it more as “any version that starts with 1.1” including 1.10.
Josh’s original implementation approximates this by making ranges for
multiple digits, 1.1~1.2, 1.10~1.20, etc.
2014-08-22 03:54:32 -04:00
Josh Kalderimis 6e5a57d1bd Use the new Docker queue on Travis
faster, better, stronger

vms boot in seconds, network is more stable

also cleaned up the .travis.yml file a little :)
2014-08-22 09:53:26 +02:00
Eugene Yokota fc504d87d7 notes 2014-08-22 02:56:04 -04:00
eugene yokota 18597ac93a Merge pull request #1536 from benmccann/typesafe-https
Fetch typesafe artifacts using https
2014-08-22 02:48:59 -04:00
eugene yokota 8af683a1f8 Merge pull request #1536 from benmccann/typesafe-https
Fetch typesafe artifacts using https
2014-08-22 02:48:59 -04:00
eugene yokota c69b0066af Merge pull request #1546 from gkossakowski/nameHashingOnByDefault
Enable name hashing incremental compilation by default.
2014-08-21 20:28:39 -04:00
Grzegorz Kossakowski c440c578fc Enable name hashing incremental compilation by default.
This commit changes the default value of `IncOptions.nameHashing` to be
set to true. It means, the improved incremental compilation algorithm
known as "name hashing" will be enabled by default.

In order to disable it, users should add this to their sbt configuration:

  incOptions := incOptions.value.withNameHashing(false)

Number of tests has been cleaned up as part of this change. All tests
that were marked as name hashing specific are removed. The list includes:

  * constants-name-hashing
  * import-class-name-hashing
  * java-static-name-hashing
  * macro-name-hashing
  * struct-name-hashing

We'll keep just regular version of those tests. The tests will just
exercise the default algorithm: name hashing. This is the first step
towards phasing out of the old incremental compilation algorithm.

Apart from that, a few tests changed its status due to enabling name
hashing algorithm.

The `constants` test has been marked pending due to issue described in
#1543.

The `import-class` test has been marked as passing because name hashing
tracks dependencies introduced by import statements correctly, now.

The `macro` test has been marked as pending due to issue described in
#1544.

The `struct` test has been marked as pending due to issue described in
#1545.

The `java-static` has been slightly modified to exercise just static field
and not run into the same issue as with `constants` test.

There are no other known issues related to name hashing so we conclude
that name hashing is ready to be shipped to all sbt, Scala IDE and zinc
users.
2014-08-22 02:08:07 +02:00
Havoc Pennington 9728c086bc Merge pull request #1538 from sbt/fix/1439
Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
2014-08-20 14:26:02 -04:00
Havoc Pennington b202bd6848 Merge pull request #1538 from sbt/fix/1439
Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
2014-08-20 14:26:02 -04:00
Havoc Pennington 7dd1949ab2 Merge pull request #1540 from sbt/wip/quieter-cleaning
Removes println when removing unused *.class files.
2014-08-18 12:12:04 -04:00
Havoc Pennington b827768faa Merge pull request #1540 from sbt/wip/quieter-cleaning
Removes println when removing unused *.class files.
2014-08-18 12:12:04 -04:00
Havoc Pennington ed03a6c42d Merge pull request #1539 from sbt/wip/1201
Fixes #1201. Display instruction to overrideScalaVersion
2014-08-18 12:11:56 -04:00
Havoc Pennington ca8ca042ec Merge pull request #1539 from sbt/wip/1201
Fixes #1201. Display instruction to overrideScalaVersion
2014-08-18 12:11:56 -04:00
Grzegorz Kossakowski 099ce16f8d Merge pull request #1408 from Duhemm/fix-again-1237
Never inspect twice the same macro application, fix (again) #1237
2014-08-18 13:43:26 +02:00
Martin Duhem 26e2449263 Never inspect twice the same macro application
In Scala 2.10.4, this macro can produce a stack overflow :

    def foo(a: Any): Any = macro impl
    def impl(c: Context)(a: c.Expr[Any]): c.Expr[Any] = a

Here, an application such as `foo(someVal)` will produce the expansion
`someVal`. As expected, `someVal` has `original` tree `foo(someVal)`,
but if we inspect this tree, we will find that `someVal` has an
original tree, but it shouldn't.

Moreover, in Scala 2.11, some macros have their own application as
`original` trees.

See sbt/sbt#1237 for a description of these problems.

This commit fixes these two problems.

Fixes sbt/sbt#1237
2014-08-18 09:22:16 +02:00
Martin Duhem aef9933d87 Add new pending test for sbt/sbt#1237
This test shows that macros that simply return their argument produce
a stack overflow during extraction of used names.

Consider a macro `foo(c: Context)(a: c.Expr[Any]) = a`. An
application of this macro such as `foo(someVal)` will lead to the
expansion `someVal`. sbt will extract the `original` tree from it,
and find `foo(someVal)`, and recurse infinitely on `someVal`.
2014-08-18 09:22:16 +02:00
Eugene Yokota e2412740b2 Removes println when removing unused *.class files.
#1525 removes unused *.class files created by the metabuid.
The implementation currently prints out a long list of *.class files
it’s about to remove. Unless something bad happens, this information is
not very useful to the user, so I suggest we don’t display it.
2014-08-18 01:12:39 -04:00
Eugene Yokota 676e95eaee Fixes #1201. Display instruction to overrideScalaVersion
scala-library is currently treated as just one of the library modules.
This means that it’s at the mercy of eviction if some other library
uses newer version of scala-library.
This commit displays a instruction on how to force scalaVersion if
warnScalaVersionEviction flag is true on EvictionWarningOptions.
2014-08-18 00:54:19 -04:00
Eugene Yokota 8c90e7eb74 Fixes #1201. Display instruction to overrideScalaVersion
scala-library is currently treated as just one of the library modules.
This means that it’s at the mercy of eviction if some other library
uses newer version of scala-library.
This commit displays a instruction on how to force scalaVersion if
warnScalaVersionEviction flag is true on EvictionWarningOptions.
2014-08-18 00:54:19 -04:00
Eugene Yokota cc02bcef87 Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
Scala instance is added to the Ivy graph via autoLibraryDependency.
For metabuilds, scala-library is scoped under “provided” configuration,
which does not seem to evict modules on “compiled” configuration.
This commit turns overrideScalaVersion flag to true for the metabuilds,
so override rules are added for the following modules:
- scala-library
- scala-compiler
- scala-reflect
2014-08-17 23:18:32 -04:00
Eugene Yokota 8a069d0fb2 Fixes #1439. Fixes metabuild downloading unused Scala 2.10.2
Scala instance is added to the Ivy graph via autoLibraryDependency.
For metabuilds, scala-library is scoped under “provided” configuration,
which does not seem to evict modules on “compiled” configuration.
This commit turns overrideScalaVersion flag to true for the metabuilds,
so override rules are added for the following modules:
- scala-library
- scala-compiler
- scala-reflect
2014-08-17 23:18:32 -04:00
Eugene Yokota 697a28771e Fixes #1275. Fixes pom dynamic revision conversion
Ivy and pom uses slightly different notation for version range and
dynamic revision.
This change fixes the dynamic revisions involving “+”.
First, when a revision like “1.1+” is found, it will now be treated as
“1.+”.
Next, when it finds a revision like “1+” is found, it will be treated
as “+”.
The conversion of “+” is hardcoded to be “[0,)”.
2014-08-16 22:38:35 -04:00
Eugene Yokota b812cdc916 Fixes #1275. Fixes pom dynamic revision conversion
Ivy and pom uses slightly different notation for version range and
dynamic revision.
This change fixes the dynamic revisions involving “+”.
First, when a revision like “1.1+” is found, it will now be treated as
“1.+”.
Next, when it finds a revision like “1+” is found, it will be treated
as “+”.
The conversion of “+” is hardcoded to be “[0,)”.
2014-08-16 22:38:35 -04:00
Ben McCann 6508429d81 Fetch tyesafe artifacts using https. See http://blog.ontoillogical.com/blog/2014/07/28/how-to-take-over-any-java-developer/ 2014-08-16 16:17:07 -07:00
eugene yokota d00520319e Merge pull request #1535 from sbt/fix/670
Fixes #670. Exclude http.proxyPassword from update.log
2014-08-16 17:11:10 -04:00
eugene yokota 05c77ae1e9 Merge pull request #1535 from sbt/fix/670
Fixes #670. Exclude http.proxyPassword from update.log
2014-08-16 17:11:10 -04:00
eugene yokota 23f9dc26c7 Merge pull request #1535 from sbt/fix/670
Fixes #670. Exclude http.proxyPassword from update.log
2014-08-16 17:11:10 -04:00
eugene yokota 6276fb3880 Merge pull request #1534 from havocp/wip/havocp-server-mem
Set JVM memory options for server applications
2014-08-16 17:10:47 -04:00
eugene yokota 1b83a50dde Merge pull request #1534 from havocp/wip/havocp-server-mem
Set JVM memory options for server applications
2014-08-16 17:10:47 -04:00
eugene yokota ad34bf77e7 Merge pull request #1534 from havocp/wip/havocp-server-mem
Set JVM memory options for server applications
2014-08-16 17:10:47 -04:00
eugene yokota 6cc4c18405 Merge pull request #1533 from sbt/fix/1530
Fixes #1530. Fixes NPE by using IO.listFiles
2014-08-16 14:42:11 -04:00
eugene yokota 770766c27d Merge pull request #1533 from sbt/fix/1530
Fixes #1530. Fixes NPE by using IO.listFiles
2014-08-16 14:42:11 -04:00
eugene yokota 32990f3570 Merge pull request #1533 from sbt/fix/1530
Fixes #1530. Fixes NPE by using IO.listFiles
2014-08-16 14:42:11 -04:00
eugene yokota eaaa47a81c Merge pull request #1532 from sbt/fix/1484-again
Fix NPE during update again
2014-08-16 14:39:33 -04:00
eugene yokota 60c8404d5c Merge pull request #1532 from sbt/fix/1484-again
Fix NPE during update again
2014-08-16 14:39:33 -04:00
Eugene Yokota 6b6332a069 Fixes #670. Exclude http.proxyPassword from update.log 2014-08-15 18:25:06 -04:00
Havoc Pennington 705b60dc11 Use java Pattern directly in launcher instead of Scala API
This keeps the launch jar smaller
2014-08-15 15:34:11 -04:00
Havoc Pennington d7ca9c5637 Server launcher: Print errors running java -version to stderr
We forward errors from the spawned server to stderr, so we are
already using stderr and this should save someone some pain
vs. just swallowing the fail.
2014-08-15 15:24:21 -04:00
Havoc Pennington 081f6bac07 Ignore "java -version" IOException when launching servers
process.start and reading from the stderr stream could in
theory throw IOException, we want to return None then
rather than crashing.
2014-08-15 15:24:09 -04:00
Havoc Pennington 3a065dc047 Set Java memory options for server applications
The defaults here are copied from Activator which
in turn are probably copied from somewhere else.
They are of course basically arbitrary, but the
JVM's defaults if we don't set memory options
are insufficient to run most apps.

If the user sets any memory options in the configuration,
we completely leave them alone and don't set any of
our own. So it's always possible to override.
2014-08-15 11:07:19 -04:00
Havoc Pennington b0db0a847e Scalariform reformat of JUnitXmlTestsListener.scala 2014-08-15 09:56:44 -04:00
Eugene Yokota f6c43b917d Fixes #1530. Fixes NPE by using IO.listFiles 2014-08-15 03:52:54 -04:00
Eugene Yokota 65e4b773d4 Fixes #1530. Fixes NPE by using IO.listFiles 2014-08-15 03:52:54 -04:00
Eugene Yokota 74c6c18a4c Fixes #1484. Fixes another variant of update NPE
Ivy gives an array that contains null for caller configurations.
sbinary barfs when it sees null. Curiously two of the sbt plugins that
hit this bug happens to be from Typesafe:
    addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.2")
    addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager"  % "0.7.3")
2014-08-15 02:57:17 -04:00
Eugene Yokota e1d60b6de0 Fixes #1484. Fixes another variant of update NPE
Ivy gives an array that contains null for caller configurations.
sbinary barfs when it sees null. Curiously two of the sbt plugins that
hit this bug happens to be from Typesafe:
    addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.2")
    addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager"  % "0.7.3")
2014-08-15 02:57:17 -04:00
Eugene Yokota 1e3f31df16 ModuleDetailReport => OrganizationArtifactReport
ModuleDetailReport hasn’t been released yet, so this rename is safe.
2014-08-15 01:57:21 -04:00
Eugene Yokota 074fbdb9e6 ModuleDetailReport => OrganizationArtifactReport
ModuleDetailReport hasn’t been released yet, so this rename is safe.
2014-08-15 01:57:21 -04:00
Eugene Yokota 482bdc1b77 scalariform changes 2014-08-15 01:52:31 -04:00
eugene yokota 12c748e0ef Merge pull request #1525 from sbt/wip/fix-eval-issues
Fix Eval issues
2014-08-14 17:48:22 -04:00