Commit Graph

17940 Commits

Author SHA1 Message Date
Josh Suereth a1b3117a42 Track generated .class files and clean leftovers after project load.
Fixes #1524

* Track generated .class files from Eval
* While loading, join all classfiles throughout Load, lots of bookkeeping.
* When a given build URI is done loading, we can look at its
  project/target/config-classes directory and clean out any extra items
  that are lingering from previous build definitions.
* Add TODOs to handle the same thing in global directories.  Right now,
  given the shared nature of these projects, it's a bit too dangerous to
  do so.
2014-08-14 10:03:24 -04:00
Josh Suereth 0bfb5a4118 Ensure random file hash for .sbt DSL doesn't conflict across .sbt files.
Fixes #1465
2014-08-14 10:01:02 -04:00
Grzegorz Kossakowski cb9fcc9e56 Merge pull request #1531 from gkossakowski/positions-crash
Set currentRun and currentUnit in Eval
2014-08-14 15:52:01 +02:00
Grzegorz Kossakowski 994b672d7c Merge pull request #1531 from gkossakowski/positions-crash
Set currentRun and currentUnit in Eval
2014-08-14 15:52:01 +02:00
Grzegorz Kossakowski 7ecbc7f869 Merge pull request #1531 from gkossakowski/positions-crash
Set currentRun and currentUnit in Eval
2014-08-14 15:52:01 +02:00
Grzegorz Kossakowski 12b6bd148d Merge pull request #1531 from gkossakowski/positions-crash
Set currentRun and currentUnit in Eval
2014-08-14 15:52:01 +02:00
Grzegorz Kossakowski 3fa6b87319 Set currentRun and currentUnit in Eval
First of all, we revert changes to Eval made in
a9cdd96152. That was a work-around
for problem with broken positions set on some trees. The rest of
the commit describes a fix.

Scala compiler's Global has `currentRun` method which is supposed to
return an instance of Run currently in use. Sbt's Eval which wraps
Global would create an instance of Run but not register it in Global.
Similarly, Eval would create an instance of `CompilationUnit` but not
set it in Run.

This would result in some silent failures like assigning broken positions
to parsed trees even if parser *has* received an instance of compilation
unit. See https://issues.scala-lang.org/browse/SI-8794 for details.

We fix the issue by subclassing Global and making it possible to set
current Run instance externally. Then we use this capability to set a run
instance right before we call compiler phases. We also make sure that
current run has current compilation assigned to it.

Fixes #1181
Fixes #1501
Fixes #1523
2014-08-13 23:32:14 +02:00
eugene yokota 2bd109def3 Merge pull request #1512 from sbt/wip/fix-1506
Fix unknown host exception in junit xml listener.
2014-08-12 14:55:20 -04:00
eugene yokota 7e4c0b84d1 Merge pull request #1512 from sbt/wip/fix-1506
Fix unknown host exception in junit xml listener.
2014-08-12 14:55:20 -04:00
eugene yokota 218ddc24c3 Merge pull request #1512 from sbt/wip/fix-1506
Fix unknown host exception in junit xml listener.
2014-08-12 14:55:20 -04:00
eugene yokota 52fb91844f Merge pull request #1512 from sbt/wip/fix-1506
Fix unknown host exception in junit xml listener.
2014-08-12 14:55:20 -04:00
eugene yokota 835fc3482c Merge pull request #1521 from sbt/wip/fix-flaky-settings-test
Fixes flaky no-such-element exception from bad generation of random test...
2014-08-12 11:12:44 -04:00
eugene yokota 5ea3abe5ca Merge pull request #1521 from sbt/wip/fix-flaky-settings-test
Fixes flaky no-such-element exception from bad generation of random test...
2014-08-12 11:12:44 -04:00
eugene yokota 10e9ce3587 Merge pull request #1521 from sbt/wip/fix-flaky-settings-test
Fixes flaky no-such-element exception from bad generation of random test...
2014-08-12 11:12:44 -04:00
eugene yokota 4f18aea818 Merge pull request #1521 from sbt/wip/fix-flaky-settings-test
Fixes flaky no-such-element exception from bad generation of random test...
2014-08-12 11:12:44 -04:00
eugene yokota 5bc02e8894 Merge pull request #1516 from sbt/wip/fix-1455
Allow root plugins to be disabled.
2014-08-12 11:12:18 -04:00
eugene yokota 07b74c6187 Merge pull request #1516 from sbt/wip/fix-1455
Allow root plugins to be disabled.
2014-08-12 11:12:18 -04:00
eugene yokota 804772d10d Merge pull request #1516 from sbt/wip/fix-1455
Allow root plugins to be disabled.
2014-08-12 11:12:18 -04:00
eugene yokota 3d59b18aef Merge pull request #1516 from sbt/wip/fix-1455
Allow root plugins to be disabled.
2014-08-12 11:12:18 -04:00
Josh Suereth 7f71aafc7c Merge pull request #1520 from sbt/fix/1514
Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver
2014-08-12 10:04:10 -04:00
Josh Suereth b35e4b746d Merge pull request #1520 from sbt/fix/1514
Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver
2014-08-12 10:04:10 -04:00
Josh Suereth e49e6b46f9 Merge pull request #1520 from sbt/fix/1514
Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver
2014-08-12 10:04:10 -04:00
Josh Suereth 58175e28c1 Merge pull request #1520 from sbt/fix/1514
Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver
2014-08-12 10:04:10 -04:00
Eugene Yokota ad2ac6198f Using iterators 2014-08-11 22:49:48 -04:00
Eugene Yokota d11427dd85 Using iterators 2014-08-11 22:49:48 -04:00
Josh Suereth dbc8b2643f Ok, this is actually the flaky issue with the test.
We use the ch key for testing, so it can't be part of the autogenerated set.
2014-08-11 16:13:26 -04:00
Josh Suereth a151ac9c94 Ok, this is actually the flaky issue with the test.
We use the ch key for testing, so it can't be part of the autogenerated set.
2014-08-11 16:13:26 -04:00
Josh Suereth 515ec1f2e2 Fixes flaky no-such-element exception from bad generation of random tests. 2014-08-11 14:54:33 -04:00
Josh Suereth 0817800065 Fixes flaky no-such-element exception from bad generation of random tests. 2014-08-11 14:54:33 -04:00
Eugene Yokota 333eb706b0 Special treatment for a special resolver: inter-project 2014-08-11 12:45:14 -04:00
Eugene Yokota 01c95b5d62 Special treatment for a special resolver: inter-project 2014-08-11 12:45:14 -04:00
Josh Suereth 86d0cd9aeb Remove printlns. 2014-08-11 09:04:26 -04:00
Eugene Yokota b8ab638b74 So apparently scalariform was unable to parse these files. 2014-08-11 09:03:35 -04:00
Josh Suereth 274e0b446c Added notes so we have a merge conflict for @eed3si9n to deal with. 2014-08-11 09:03:31 -04:00
Josh Suereth 2d0aafc8b0 Allow root plugins to be disabled.
Fixes #1455

* Add a mechanism to detect if a plugin clause includes/excludes
  a particular plugin.
* Add a filter for our "enabling" clauses so that user-excluded
  root plugins do not show up.
* Add a test to ensure this succeed.
2014-08-11 09:01:18 -04:00
Josh Suereth ae8f99daa9 Merge pull request #1491 from sbt/fix/528
Unresolved dependency warning includes source position. Fixes #528
2014-08-11 07:51:33 -04:00
Josh Suereth d1aa2089fe Merge pull request #1491 from sbt/fix/528
Unresolved dependency warning includes source position. Fixes #528
2014-08-11 07:51:33 -04:00
Josh Suereth d20bfa50ef Merge pull request #1491 from sbt/fix/528
Unresolved dependency warning includes source position. Fixes #528
2014-08-11 07:51:33 -04:00
Josh Suereth f7c4898a97 Merge pull request #1491 from sbt/fix/528
Unresolved dependency warning includes source position. Fixes #528
2014-08-11 07:51:33 -04:00
Eugene Yokota 8e682691c2 Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver.
Adds `lastestSnapshots` flag to `updateOptions`, which controls the behavior of the chained resolver. Up until 0.13.6, sbt was picking the first `-SNAPSHOT` revision it found along the chain. When  is enabled (default: ), it will look into all resolvers on the chain, and compare them using the publish date.
The tradeoff is probably a longer resolution time if you have many remote repositories on the build or you live away from the severs. So here's how to disable it:

    updateOptions := updateOptions.value.withLatestSnapshots(false)

Ivy by default uses latest-revision as the latest strategy. This strategy I don't think takes in account for the possibility that a changing revision may exist in multiple repositories/resolvers with having identical version number like 0.1.0-SNAPSHOT.
The implementation is a bit hacky, but I think it attacks the core of this problem.
2014-08-10 18:56:58 -04:00
Eugene Yokota 286d567781 Fixes #1514, #321. Fixes -SNAPSHOT issue by re-implemeting ChainResolver.
Adds `lastestSnapshots` flag to `updateOptions`, which controls the behavior of the chained resolver. Up until 0.13.6, sbt was picking the first `-SNAPSHOT` revision it found along the chain. When  is enabled (default: ), it will look into all resolvers on the chain, and compare them using the publish date.
The tradeoff is probably a longer resolution time if you have many remote repositories on the build or you live away from the severs. So here's how to disable it:

    updateOptions := updateOptions.value.withLatestSnapshots(false)

Ivy by default uses latest-revision as the latest strategy. This strategy I don't think takes in account for the possibility that a changing revision may exist in multiple repositories/resolvers with having identical version number like 0.1.0-SNAPSHOT.
The implementation is a bit hacky, but I think it attacks the core of this problem.
2014-08-10 18:56:58 -04:00
Eugene Yokota 15185d9004 Minimizing scripted repro 2014-08-09 21:23:07 -04:00
Eugene Yokota 899d5295c8 Adds a test case that exercises the multiple-repository -SNAPSHOT issue. #1514
* Create a project "common" which publishes a "bad" artifact.
* Resolve project "dependent" which resolves the "bad" artifact into the cache.
* Publish a new "common" snapshot to a diffferent repository (publishLocal)
* Attempt to build the new project, leading to issues.
2014-08-09 20:42:19 -04:00
eugene yokota 1b5ecff914 Merge pull request #1515 from sbt/wip/fix-1398
Disable flaky test, as it's timeout based.
2014-08-09 18:31:41 -04:00
eugene yokota 6f0b6669f6 Merge pull request #1515 from sbt/wip/fix-1398
Disable flaky test, as it's timeout based.
2014-08-09 18:31:41 -04:00
eugene yokota d9355fb781 Merge pull request #1507 from sbt/wip/optional-https-maven-central
"Use HTTPS for downloading artifacts from Maven Central" + disable flag
2014-08-09 18:31:13 -04:00
eugene yokota b63ce455df Merge pull request #1507 from sbt/wip/optional-https-maven-central
"Use HTTPS for downloading artifacts from Maven Central" + disable flag
2014-08-09 18:31:13 -04:00
Roberto Tyley 1185e5b5dd Fix pom-export of Maven Central repository
Commit a1e26ca6 broke the `make-pom` & `pom-advanced` dependency-management
tests by replacing one reference to `IBiblioResolver.DEFAULT_M2_ROOT` in
`Resolver`, but not the other reference in `MakePom`:

https://travis-ci.org/sbt/sbt/jobs/31939788#L2517-L2519

...the secure url was no longer recognised as the default Maven Repository
root, so was erroneously exported.
2014-08-08 17:08:54 -04:00
Roberto Tyley d46087ff08 Fix pom-export of Maven Central repository
Commit a1e26ca6 broke the `make-pom` & `pom-advanced` dependency-management
tests by replacing one reference to `IBiblioResolver.DEFAULT_M2_ROOT` in
`Resolver`, but not the other reference in `MakePom`:

https://travis-ci.org/sbt/sbt/jobs/31939788#L2517-L2519

...the secure url was no longer recognised as the default Maven Repository
root, so was erroneously exported.
2014-08-08 17:08:54 -04:00
Eugene Yokota 9e245b3fc3 Adds sbt.repository.secure (default: true) #1494 2014-08-08 17:08:54 -04:00