Commit Graph

409 Commits

Author SHA1 Message Date
Eugene Yokota c685b44482 Generalize the logic to all config inheritance 2015-02-24 15:00:19 -05:00
Eugene Yokota 497374f459 Fixes #1711, #1730. Cached resolution: fixes internal project
Re-fixes cached resolution's internal dependency issue by recursively
calling customResolve instead of including the transitive dependencies
from internal dependencies into your own graph.
Transformation of configuration still happens, but at the level of
resolved graph (UpdateReport), which is much less granular, and
hopefully less error-prone.
2015-02-24 15:00:19 -05:00
Eugene Yokota 263c7cc001 Adds an hook treating InlineConfigurationWithExcludes structurally 2015-02-13 16:59:20 -05:00
Indrajit Raychaudhuri 1f90ef6b43 Fix params order in `@deprecated` 2015-01-17 08:25:57 +05:30
eugene yokota be78b7fc4c Merge pull request #1759 from jedesah/topic/minor_cleanup
Minor code cleanup
2015-01-14 16:13:06 -05:00
Josh Suereth 42424b4cdb Refactoring code.
* remove debugging statements
* Move each class so it's one name-per-file
* Migrate out of org.apache namespace into sbt.mavenint
2015-01-12 14:48:23 -05:00
Eugene Yokota 406c80ddd6 Adjust tests. 2015-01-10 22:55:50 -05:00
Eugene Yokota f36a5b88d8 Turn Aether integration into sbt-maven-resolver 2015-01-09 14:36:51 -05:00
Josh Suereth 16a64d70ef Migrate pom extra attributes out of CustomPomParser for deprecation. 2015-01-09 14:14:40 -05:00
Josh Suereth 095c129eda Appropriately transfer sbt-plugin transitive 'extra attribute' properties.
* Propogate the extra dependnecy attribute out of pom files into Aether
* Use the extra depednency attributes to ensure transitive plugins can be resolved.
* Add TODOs for further cleanup work.
2015-01-09 11:14:27 -05:00
Josh Suereth beb051879b Fix upload/copy semantics to handle non-file based uploads. 2015-01-09 11:11:37 -05:00
Josh Suereth e3931dbfec Create a new Ivy DependencyResolver which uses Aether.
* Here we wire Aether into the Ivy dependency chain
* Add hooks into Aether to use Ivy's http library (so credentials are configured the same)
* Create the actual Resolver which extracts metadata information from Aether
* Deprecate old Ivy-Maven integrations
* Create hooks in existing Resolver facilities to expose a flag to enable the new behavior.
* Create notes documenting the feature.
* Create a new resolver type `MavenCache` which denotes how to read/write local maven cache metadata
  correctly.  We use this type for publishM2 and mavenLocal.
* Update failing -SNAPSHOT related tests to use new Aether resolver
* Create specification for expected behavior from the new resolvers.

Known to fix #1322, #321, #647, #1616
2015-01-08 08:53:25 -05:00
Josh Suereth 7311242bc0 Merge pull request #1634 from sbt/fix/1634
A library is missing from dependencyClasspath if it's added to libraryDependencies twice in ascending order
2014-12-15 16:05:57 -05:00
Josh Suereth c8fc6d0223 Merge pull request #1620 from sbt/fix/1620
sbt resolves dependencies every compile when using %% with dependencyOverrides
2014-12-15 16:04:18 -05:00
Eugene Yokota 9d09af9568 Fixes #1634. Adds inconsistent duplicate warning
#1634 is about a library getting wiped out of deps graph when it’s
included twice in ascending order of version.
I’d say that’s a logically inconsistent state, and we should just issue
warning instead of trying to fix it.
2014-12-14 07:52:05 -05:00
Eugene Yokota 46f56851d4 'evicted' task to display all evictions 2014-12-12 23:30:05 -05:00
Eugene Yokota 40e5f7538a Fixes #1615. Move the invocation of eviction warning.
This moves the invocation of eviction warning so it’s called only when
actual ivy update is being performed.
2014-12-12 17:46:19 -05:00
Eugene Yokota 59121cddf7 Fixes #1620. Fixes Set[ModuleID] serialization that broke update cache. 2014-12-08 09:27:56 -05:00
Eugene Yokota 07afc67c7a Adds excludeDependencies. Fixes #1748
Adds project-level dependency exclusions:

  excludeDependencies += "org.apache.logging.log4j"
  excludeDependencies += "com.example" %% "foo"

In the first example, all artifacts from the organization
`"org.apache.logging.log4j"` are excluded from the managed dependency.
In the second example, artifacts with the organization `"com.example"`
and the name `"foo"` cross versioned to the current `scalaVersion` are
excluded.
2014-12-04 17:35:30 -05:00
Eugene Yokota 607b686cb2 Fixes #1752. Fixes cached resolution too verbose.
- Fixes cached resolution being too verbose
- Adds new UpdateLogging named "Default"
- When global logLevel or logLevel in update is Debug, Default will
bump up to Full UpdateLogging.
2014-12-04 12:34:30 -05:00
Jean-Rémi Desjardins ca736e55d3 Minor code cleanup 2014-12-03 09:56:34 -08:00
Eugene Yokota cef4479685 Fixes #1723. classifier-related fixes
- minigraph sha now contains extra attributes from artifacts
- artifacts are merged from different mini graphs (in some cases, this
should result to better resolution than stock ivy)
2014-11-11 21:15:11 -05:00
Eugene Yokota 867e2b7a18 fixes #1711, #1716. Fixes configuration remapping
The actual change is one line at line 64. nextConfMap takes dep instead
of dd.
2014-11-10 01:10:37 -05:00
Eugene Yokota 4fd5d505f1 fixes #1719. cached resolution: fixes handling of classifier and other explicit artifacts 2014-11-09 23:32:03 -05:00
Eugene Yokota af9e520e28 expand internal dependencies more accurately 2014-11-06 00:28:26 -05:00
Eugene Yokota 760a4ab5d2 Fixes #1704. Fixes cached resolution + module-level exclusions 2014-11-04 19:01:30 -05:00
Eugene Yokota ca0f3530f5 Fixes #1711. Fixes cached resolution pulling in % "test" from subproj deps 2014-11-04 17:56:34 -05:00
Eugene Yokota 398e15ab63 Fixes #1710. Fixed cached resolution mutual eviction
When stitching the minigraphs together only exclude the artifacts that
were evicted in *all* graphs, instead of some graphs.
Consider the following scenario:
- Y1 evicts slf4j-api 1.6.6 and picks 1.7.5
- Y2 evicts slf4j-api 1.7.5 and picks 1.6.6
At the root level, we need to use our own judgement and pick 1.7.5.
2014-11-01 20:50:41 -04:00
Eugene Yokota 9482509b32 added comments 2014-10-28 22:31:20 -04:00
Eugene Yokota a54777d4f2 Fixes #1699. ignore transitive force during cached resolution
When Ivy translates pom to ivy.xml, it adds force=“true”.
So when both non-Maven dependencies and Maven dependencies are mixed, Maven dependencies always wins, which is the case for scala-library dependency added by the user.
2014-10-28 14:28:33 -04:00
Eugene Yokota 65e663ee8e Fixes #1684. cached resolution applies overrides on conflict
This change brings over dependency overrides to artificial graph.
However, it seems forced might win, so I need to take overrides logic
in account during conflict resolution.
2014-10-22 19:15:54 -04:00
Josh Suereth c367c83d21 Revert chain resolver by default, for older behavior.
The issue comes into play where we cannot accurately get a publication date from Maven artifacts, leading to the current
mechanism having undefined behavior and causing other bugs to pop up in resolution.
2014-10-20 12:26:40 -04:00
Eugene Yokota ff18062c86 Fixes #1677. Provide URLSerializer.
Without this json4s is unable to parse URLs.
2014-10-18 07:15:52 -04:00
Josh Suereth d7c76aabf1 Merge pull request #1663 from sbt/wip/avoid-deprecated
enable -deprecation for Scala 2.10
2014-10-12 12:31:08 -04:00
Eugene Yokota c47cbf5d02 Implement configuration.missingOk to fix updateClassifiers
updateClassifiers sets missingOk to true.
cached resolution wasn’t respecting the looseness.
2014-10-10 17:25:43 -04:00
Eugene Yokota 3f958a5bce enable -deprecation for Scala 2.10
Enable -deprecation flag to catch old code being use when we migrate
things.
In this commit I moved error to sys.error.
2014-10-10 15:42:26 -04:00
Eugene Yokota 1043d027d0 Make sure all files exist in minigraph. 2014-10-10 06:50:36 -04:00
Eugene Yokota b8873614e0 Use correct stats for cached resolution 2014-10-10 06:40:56 -04:00
Eugene Yokota be763ad655 Make sure IvyAction.update works 2014-10-10 03:20:12 -04:00
Eugene Yokota 8ddff28a9e Fixes #1660
Provide overloads for transitiveScratch and updateClassifiers that work
with IvyActions.updateEither.
2014-10-10 00:34:05 -04:00
Eugene Yokota 09bca754b5 Fixes #1639. Fixes cached resolution interacting with force()
When conflicts are found for a given module, a forced one
is selected before conflict manager kicks in.
The problem is that DependencyDescriptor seems to mark transitive
forced dependency as forced as well,
so the actual forced dependency are sometimes not prioritized.
To work around this, I’ve introduced a mixin called
SbtDefaultDependencyDescriptor, which carries around ModuleID to detect
direct dependencies.
2014-10-09 13:11:13 -04:00
Eugene Yokota 54032ddd5f Fixes #1649. Adds exclusion rules into SHA-1 of minigraph path 2014-10-08 17:14:06 -04:00
eugene yokota 0f2c6f89a1 Merge pull request #1645 from sbt/wip/no-blankies-rebased
Natural whitespace handling for SBT configuration parser AKA 'no more blankies'
2014-10-06 14:27:50 -04:00
eugene yokota 821591d9a3 Merge pull request #1629 from sbt/wip/less-chatty-errors
Reduce the noise when resolving maven artifacts.
2014-10-06 13:52:51 -04:00
Eugene Yokota 5afb9e1af7 Fixed json serialization turning license into {}. 2014-10-05 04:24:22 -04:00
Josh Suereth a8370880e0 Remove binary compatibility breakages and migrate new parser features into an internal package. 2014-10-03 14:22:51 -04:00
Jean-Remi Desjardins ff466c5cd3 Change additional constructor to what it should probably be
I am at a total loss for why this is not compiling.
2014-10-03 14:22:51 -04:00
eugene yokota e452f77b81 Merge pull request #1635 from sbt/wip/fix-1632
Wip/fix 1632
2014-10-01 14:50:15 -04:00
Josh Suereth 2b3f34f6f6 Add file existence check for Eugene. 2014-10-01 08:18:09 -04:00
Josh Suereth ef9e88a115 Fix regression where IOExceptions were not caught on trying to access disk.
Fixes #1632
2014-10-01 08:04:39 -04:00