Commit Graph

478 Commits

Author SHA1 Message Date
Eugene Yokota c796c77386 Add useJCenter setting, which is set to false. Fixes #2217
Adds a new setting `useJCenter`, which is set to `false` by default.
When set to `true`, JCenter will be placed as the first external
resolver to find library dependencies.

The implementation of `externalResolvers` is changed to incorporate the
setting by calling `Resolver.reorganizeAppResolvers`. These changes
were required because `externalResolvers` uses whatever that's in the
launchconfig, which the build user may not upgrade.
2015-12-25 23:20:56 -05:00
eugene yokota 8749a969c3 Merge pull request #2297 from sbt/wip/fix-2264
Fixes #2264. Fixes updateClassifiers when default configuration is missing + uses listed artifacts if any
2015-12-03 02:11:52 -05:00
Eugene Yokota 3a3965b5f5 Fixes #2264. Use explicit artifacts if any, fallback to hardcoded
Even though it's not really used, updateClassifiers constructs
dependency graph based on the result from update.
The direct cause of #2264 came from the fact that the `allModules`
returned from ConfigurationReport did not include dependency
configurations. For example it returned "compile" instead of
"compile->runtime". I've identified that in #2264 and was fixed by
@Duhemm in f49fb33e6d.

Martin identified that the fix still does not address the fact that
updateClassifier hardcodes the classifiers to be tried. This commit
adds the fallback behavior so for Ivy-published modules it will use the
explicit list of artifacts, and for others it will fallback to the
hardcoded list of classifiers.
2015-12-02 16:41:02 -05:00
Martin Duhem 13410ca68e WIP 2015-12-02 16:56:14 +01:00
Martin Duhem 6d7c8fe655 Correct separator for configurations 2015-11-30 22:53:36 +01:00
Martin Duhem f49fb33e6d Combine ConfigurationReport's conf with ModuleReport's confs 2015-11-30 10:03:40 +01:00
Dale Wijnand f270cd2a5c Add Resolver.bintrayIvyRepo 2015-11-25 09:26:58 +00:00
Martin Duhem 541bd4a6a4 Fix for sbt/sbt#1933
sbt was reporting warning abouts inconsistent versions of dependencies
even if these dependencies didn't have the same configuration (as in
`provided` vs `compile`).

This commit fixes this problem by comparing the dependencies by
organization, artifact name and configuration.

Fixes sbt/sbt#1933
2015-10-28 15:23:45 +01:00
Martin Duhem dcad8a5527 Specify the compiler bridge module in a setting
In order to restore reproducibility of builds, we no longer cascade over
the possibly available versions of the compiler bridge sources (a
specific version of the bridge sources may not be available one day, but
exist on the next day), but rather let the build definition configure
which module to use.

Fixes sbt/sbt#2196
2015-09-04 11:17:27 +02:00
Dale Wijnand 8e6e32d7cb Enable Ivy flag that fixes #1750. 2015-08-28 23:38:45 +01:00
Dale Wijnand 5662b2ceed Only set LocalIfFileRepo if MavenRepository.localIfFile is set. 2015-08-23 17:25:25 +01:00
Dale Wijnand 0bf7e63887 Add localIfFile to MavenRepository. 2015-08-23 17:24:54 +01:00
Dale Wijnand 9beaf21926 Use string interpolation. 2015-08-20 23:12:17 +01:00
eugene yokota 66af3adefa Merge pull request #2142 from pdalpra/fix-warnings
Fix additional warnings
2015-08-13 03:27:35 -04:00
Dale Wijnand a432c3def1 Merge remote-tracking branch 'origin/0.13.9' into merge-0.13.9-into-0.13
* origin/0.13.9:
  Notes
  0.13.9
  cached resolution: use mutable map to speed up breakLoops
  cached resolution: don't include callers from evicted modules
  Add debug logs
  Fixes #2129. break up circular dependency loops in cached resolution
  try breaking circular dependency and continue sorting
  refactored to use less stack space
  make sortModules tailrec
  Reproduce stack overflow using cached resolution with circular dependency
2015-08-11 22:42:31 +01:00
Pierre DAL-PRA 8f1fb2d232 Fix additional warnings 2015-08-07 00:23:14 +02:00
Eugene Yokota 868740a2ae cached resolution: use mutable map to speed up breakLoops 2015-08-05 07:01:21 -04:00
Eugene Yokota dd94cb90d9 cached resolution: don't include callers from evicted modules 2015-08-05 07:00:39 -04:00
Pierre DAL-PRA 54d54b9f4f Replace procedure syntax by explicit Unit annotation 2015-08-04 10:07:38 +02:00
Eugene Yokota ff729643e3 Add debug logs 2015-08-03 08:17:48 -04:00
Eugene Yokota 431a90264d Fixes #2129. break up circular dependency loops in cached resolution
Simple remove-one method to workaround for circular dependency did not
work. This fix traverses the entire graph to detect all loops and then
breaks them up.
2015-08-03 07:31:32 -04:00
Pierre DAL-PRA f0bd9001e6 Remove redundant collection conversions 2015-08-01 12:05:35 +02:00
Pierre DAL-PRA b9171e59ad Simplify operations on collections 2015-08-01 02:25:17 +02:00
Eugene Yokota 792a761599 try breaking circular dependency and continue sorting 2015-07-26 23:19:16 -04:00
Eugene Yokota bc5e7d5623 refactored to use less stack space 2015-07-25 22:40:18 -04:00
Eugene Yokota 593850562a make sortModules tailrec 2015-07-25 17:38:11 -04:00
Josh Suereth 9beff22d9a Add warning to MakePom for intransitive dependencies.
Intransitive does not work in Maven, and does not translate to pom.xml.
2015-07-24 10:42:49 -04:00
eugene yokota c703b2a6a0 Merge pull request #2116 from sbt/0.13.9
Merge 0.13.9 back into 0.13
2015-07-18 13:36:04 -04:00
Eugene Yokota 7eb7df017e Fixes #2105/#1763. Cached resolution: removes duplicate callers during merge 2015-07-18 02:17:25 -04:00
eugene yokota 5824ef6d7f Merge pull request #2106 from Duhemm/interface-specific-sources-clean
Find most specific version of compiler interface sources
2015-07-17 10:25:16 -04:00
Pierre DAL-PRA 13b37cc987 Fix several warnings 2015-07-17 09:17:42 +02:00
Martin Duhem 90a8423d8e Find most specific version of compiler interface sources
This commit introduces a mechanism that allows sbt to find the most
specific version of the compiler interface sources that exists using
Ivy.

For instance, when asked for a compiler interface for Scala 2.11.8-M2,
sbt will look for sources for:

 - 2.11.8-M2 ;
 - 2.11.8 ;
 - 2.11 ;
 - the default sources.

This commit also modifies the build definition by removing the
precompiled projects and configuring the compiler-interface project so
that it publishes its source artifacts in a Maven-friendly format.
2015-07-16 11:18:48 +02:00
Eugene Yokota 22c743cf8a #1763 fix by removing one but all artificial callers 2015-07-10 00:10:23 -04:00
Eugene Yokota 5412376d4b #1763 Remove artificial callers 2015-07-09 21:17:47 -04:00
Eugene Yokota 2994622ad4 Fixes #2046, Ref #1760 Fix minigraph stitching
This fixes the minigraph stitching logic by first sorting the graph
based on the level of inter-dependencies, and gradually resolving
conflict from the root-side that are not called by other libraries.
For each eviction, transitive evictions are propagated right away to
avoid double eviction observed in #2046

For the transitive eviction checking I needed to bring back the caller
information, which is notorious for its size. I am stuffing all
ModuleIDs into one ModuleID for the graph, and recovering them only
during the merging process.
2015-07-09 15:57:21 -04:00
Eugene Yokota 5256e64263 Reproduce #2046 2015-07-09 01:52:00 -04:00
Eugene Yokota 3d90d92dbd Fixes the releasing 2015-06-09 17:20:03 +02:00
Josh Suereth 13b2a8ff4b Minor fixes of leftover codes from review. 2015-05-29 09:49:47 -04:00
Josh Suereth 997037f7cd Fix corruption issues with sbt's CustomPomParser. 2015-05-28 09:36:11 -04:00
Dale Wijnand c47b28c0d9 Commit build auto-formatting changes for code in master. 2015-05-28 08:28:05 +01:00
Dale Wijnand 87455f369d Fix bincompat for project-level excludes in the POM. 2015-05-28 08:15:10 +01:00
Dale Wijnand 827d0011ed Add project-level exclusions in the POM.
Closes #1877.
2015-05-28 08:14:08 +01:00
Josh Suereth e05b747fdd Merge pull request #2027 from cunei/wip-fix-2001
Do not emit in the pom dependencies that are only sources or docs
2015-05-27 18:43:50 -04:00
Eugene Yokota da462aff15 Adds null guard 2015-05-23 17:32:56 -04:00
Eugene Yokota e22d84e312 Cached resolution: Clean up old dynamic minigraphs. Fixes #2014
Cached resolution saves dynamic mini graphs (including subproject
graphs) timestamped to the logical clock (State).
This enables graph caching across the subprojects.
On the other hand, it creates garbage that becomes stale almost
immediately. Prior to #2030 fix, this garbage would reach 1GB+.
This fix timestamps these graphs using calendar date, and cleans them
up after a day.
2015-05-23 03:25:26 -04:00
Eugene Yokota a6b9e18647 Fixes #1721/#1763. Cached resolution: summarize callers in graph.json
- On some of the builds graph.json is reaching 250MB+
- JSON parsing alone takes hours
- 97% of the content are caller info
- This change summarizes all callers into one (zero caller would have
correctness issues)
2015-05-21 23:04:52 -04:00
Antonio Cunei 1cb63c84e1 Do not emit in the pom dependencies that are only sources or docs
The pom generation code tries its best to map Ivy's configurations
to Maven scopes; however, sources and javadoc artifacts cannot be
properly mapped and they currently are emitted as dependencies in
the default scope (compile). That may lead to the source/doc jars
being erroneously processed like regular jars by automated tools.

Arguably, the source/docs jars should not be included in the pom
file as dependencies at all. This commit filters out the
dependencies that only appear in the sources and/or javadoc Ivy
configurations, thereby preventing them from appearing in the
final pom file.
2015-05-20 03:40:16 +02:00
Andrew Johnson b617b41ae1 Support configuring a subset of configurations from which to retrieve dependencies when retrieveManaged is true 2015-04-23 12:49:45 -04:00
eugene yokota 203c77c43a Merge pull request #1960 from asflierl/0.13
Honor overwrite flag when publishing locally.
2015-04-14 11:54:10 -07:00
Andreas Flierl 78642cb0ce Honor overwrite flag when publishing locally. 2015-04-10 13:29:26 +02:00