Commit Graph

426 Commits

Author SHA1 Message Date
Eugene Yokota 333eb706b0 Special treatment for a special resolver: inter-project 2014-08-11 12:45:14 -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 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 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
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
Eugene Yokota 9e245b3fc3 Adds sbt.repository.secure (default: true) #1494 2014-08-08 17:08:54 -04:00
Roberto Tyley 16eb7b28fd Use HTTPS for downloading artifacts from Maven Central
Sonatype have enabled HTTPS access for Maven Central:

http://central.sonatype.org/articles/2014/Aug/03/https-support-launching-now/

Note that the Ivy class IBiblioResolver contains the old http url
(ie DEFAULT_M2_ROOT="http://repo1.maven.org/maven2/"):

http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/IBiblioResolver.java?revision=1557968&view=markup#l72
2014-08-08 17:07:44 -04:00
Josh Suereth 5e8a061485 Merge pull request #1509 from sbt/fix/1501
Fixes #1181/#1501. Fixes ArrayIndexOutOfBoundsException: -1
2014-08-08 13:39:01 -04:00
Josh Suereth a79d3e2e08 Merge pull request #1508 from sbt/wip/jcenter-fix
Moves JCenter and Bintray repo into object Resolver. #1405
2014-08-08 11:04:31 -04:00
Eugene Yokota 8ecc9edbea Moves JCenter and Bintray repo into object Resolver. #1405
This is more consistent with other hardcoded repos like Sonatype.
Also hardcoding everything to https.
2014-08-07 15:50:57 -04:00
Josh Suereth 9c8ac782b0 Merge pull request #1405 from evgeny-goldin/0.13
BintrayMavenRepository added
2014-08-06 15:50:05 -04:00
Evgeny Goldin 89049a58de JCenter and BintrayMavenRepository resolvers added 2014-08-06 01:43:19 +02:00
eugene yokota 22cdfde29e Merge pull request #1498 from sbt/wip/fix-broken-cross
Fix broken cross versioning semantics using +
2014-08-04 17:38:34 -04:00
eugene yokota cc53647138 Merge pull request #1497 from sbt/wip/0.13.5-merge
0.13.5 merge
2014-08-04 11:51:11 -04:00
eugene yokota 03ac266b54 Merge pull request #1490 from sbt/wip/1484
Fixes NullPointerException during update. Fixes #1484
2014-08-04 11:50:47 -04:00
Eugene Yokota f143a20428 Merged 0.13.5 to remove documents 2014-08-04 10:14:46 -04:00
Eugene Yokota 78def4d4e3 Fixes NullPointerException during update. Fixes #1484 2014-08-01 21:00:41 -04:00
Josh Suereth 2c9f1e0d98 Merge pull request #1477 from puffnfresh/dont-warn-not-simple-types
Change "Not a simple type" warning to log message
2014-07-31 17:51:22 -04:00
eugene yokota 80581e3bf8 Merge pull request #1476 from sbt/wip/exclude-rules-ivy
Add caching around dependency exclude rule evaluation
2014-07-31 17:14:01 -04:00
Eugene Yokota 5bcff4c5c9 scalariform formatting 2014-07-29 22:03:02 -04:00
eugene yokota d0e94a70ef Merge pull request #1473 from sbt/wip/resolve-consolidation2
Improved consolidated resolution testing. #1454
2014-07-29 21:29:47 -04:00
Josh Suereth 984bcf589c Merge pull request #1467 from sbt/wip/eviction-warning
Eviction warnings (Fixes #1200)
2014-07-29 11:08:42 -04:00
Eugene Yokota f4cae232bb Improve doc on ModuleDetailReport per @jsuereth 2014-07-28 13:25:54 -04:00
Eugene Yokota 2b8fa35b8d Implements eviction warning stories. #1200
This implements all stories from https://github.com/sbt/sbt/wiki/User-Stories%3A-Conflict-Warning.
When scalaVersion is no longer effective an eviction warning will display.

    Scala version was updated by one of library dependencies:
        * org.scala-lang:scala-library:2.10.2 -> 2.10.3

When there're suspected incompatibility in directly depended Java libraries,
eviction warnings will display.

   There may be incompatibilities among your library dependencies.
   Here are some of the libraries that were evicted:
      * commons-io:commons-io:1.4 -> 2.4

When there's suspected incompatiblity in directly depended Scala libraries,
eviction warnings will display.

  There may be incompatibilities among your library dependencies.
  Here are some of the libraries that were evicted:
      * com.typesafe.akka:akka-actor_2.10:2.1.4 -> 2.3.4

This also adds 'evicted' task, which displays more detailed eviction warnings.
2014-07-27 12:26:12 -04:00
Eugene Yokota 439f8498b6 pseudo-case class VersionNumber
VersionNumber is a pseudo-case class that represents any form of
version number. The unapply extractor can parse String into
three sequences that makes up VersionNumber.
VersionNumberCompatibility trait uses two VersionNumber instances
to evaluate binary compatibility between them.
Two implementations SemVer and SecondSegment are provided.
2014-07-27 12:14:30 -04:00
Eugene Yokota 3fe8f41a69 Fixing more NullPointerError by wrapping license URL with Option 2014-07-27 12:01:11 -04:00
Eugene Yokota 71e7e12b99 Fixing NullPointerError caused by reading String from Ivy directly 2014-07-25 03:51:20 -04:00
Eugene Yokota 05b97b4007 Implemented general eviction warning. #1200
a> update
    [info] Updating {file:/foo/}a...
    [info] Resolving org.fusesource.jansi#jansi;1.4 ...
    [info] Done updating.
    [warn] Some dependencies were evicted:
    [warn]  * org.scala-lang:scala-library (2.10.1) -> 2.10.3
2014-07-25 03:51:20 -04:00
Eugene Yokota 5e6f0c4ff1 Expand ModuleReport into the full Ivy resolution report. #1200
Currently sbt's update task generates UpdateReport from
Ivy's resolution report.
For each configuration there's ConfigurationReport, which contains
just enough information on the resolved module/revision/artifact.

Speaking of module, in Ivy module means organization and name,
and organization, name, and version is called module revision.
In sbt, module revision is called Module.
This is relevant because to talk about evictions, we need
a terminology for organization and name combo.

In any case ConfigurationReport is expanded to have `details`
field, which contains Seq[ModuleDetailReport], which represents
organization and name combo plus all the modules
just like Ivy's resolution report XML.
Furthermore, ModuleReport is expanded to include licenses,
eviction, callers, etc.
2014-07-25 03:51:19 -04:00
eugene yokota 26f6e68b69 Merge pull request #1454 from sbt/wip/resolve-consolidation
Consolidated resolution
2014-07-24 02:13:01 -04:00
Eugene Yokota 8d33aa6482 Consolidated resolution. Fixes #413
This adds a new setting key called updateOptions, which can enable
consolidated resolution for update task.
The consolidated resolution automatically generates an artificial
module descriptor based on the SHA-1 of all external dependencies.
This consolidates the Ivy resolution of identical Ivy dependency
graph across multiple subprojects.

This is how it's enabled:

    updateOptions := updateOptions.value.withConsolidatedResolution(true)
2014-07-24 02:12:46 -04:00
Josh Suereth 3262631fd8 Merge pull request #1447 from sbt/wip/improve-resolve-exception
Improve resolve exception
2014-07-14 10:05:13 -04:00
Eugene Yokota f040f80215 Improves unresolved dependencies error by displaying the deps nodes. fixes #1422, #381 2014-07-10 17:49:52 -04:00
Josh Suereth 192c40dd91 Merge pull request #1433 from henrikengstrom/wip/h3nk3-regex-fix
Regex now handles versions that contain multiple '-' characters in the v...
2014-07-07 15:49:06 -04:00
Henrik Engstrom 77aa9ea87e Regex now handles versions that contain multiple '-' characters in the version. 2014-07-03 18:57:48 -04:00
Josh Suereth c3abb9fad4 Merge pull request #1400 from dpratt/0.13
Add 'scala-jar' to the list of jar artifacts.
2014-07-03 11:57:12 -04:00
Josh Suereth 02c11c53e4 Merge pull request #1367 from dansanduleac/issue/1366
Don't update classifiers of projectDependencies
2014-07-02 10:09:45 -04:00
Josh Suereth 15f5dff96a Merge pull request #1426 from lpiepiora/fix-plugin-command
Fixes #1416: Plugin command doesn't work
2014-07-02 10:01:16 -04:00
eugene yokota 19d8582196 Merge pull request #1401 from xuwei-k/watch
Triggered Execution should be aware of rename or move file
2014-06-27 12:05:59 -04:00
eugene yokota 1fe20338b1 Merge pull request #1409 from vn971/0.13
make it possible to reference a branch of a local git repository
2014-06-24 23:00:45 -04:00
eugene yokota 2e9dadb5cc Merge pull request #1424 from jaceklaskowski/deprecated-annotation-param-positions
Message and since parameters in @deprecated properly placed
2014-06-24 22:59:55 -04:00
eugene yokota e0f2d212df Merge pull request #1425 from jaceklaskowski/typo-fixes
Typo fixes + removing unnecessary semicolons
2014-06-24 22:58:59 -04:00
Jacek Laskowski d7c7237d2c Typo fixes + removing unnecessary semicolons 2014-06-25 00:08:25 +02:00
David Pratt 9209dba52a Merge remote-tracking branch 'upstream/0.13' into 0.13 2014-06-09 13:56:16 -05:00
David Pratt 648ab3a8dd Make jar artifact a 0-byte file. 2014-06-09 13:54:20 -05:00
David Pratt f38cd6d8c3 Add a unit test for the 'scala-jar' mapping. 2014-06-07 20:58:31 -05:00
eugene yokota 42b85a99d8 Merge pull request #1391 from sbt/wip/1390
Improve test failure message for #1390.
2014-06-06 13:24:11 -04:00
Josh Suereth cd6c5f7b65 Merge pull request #1397 from havocp/wip/havocp-try-harder-for-errors
Try harder to get diagnostics on server launch failure
2014-06-06 10:04:41 -04:00
David Pratt 1c92e42c44 Add 'scala-jar' to the list of jar artifacts.
The CustomPomParser has a hard-coded list of 'blessed' Maven POM packaging types
that are actually packaged as jar files, but Ivy incorrectly maps the file extension.
This patch allows artifacts published with the 'scala-jar' packaging to be properly
resolved and used in an SBT project.
2014-06-05 18:11:37 -05:00
Josh Suereth fce9345a9f Merge pull request #1396 from skyluc/2.12-support
Adds support for Scala 2.12
2014-06-05 16:26:21 -04:00