Commit Graph

1041 Commits

Author SHA1 Message Date
eugene yokota aea1a76ce3 Merge pull request #27 from dwijnand/bump-sbt-houserules-for-mima
Bump sbt-houserules to add MiMa
2016-02-15 15:15:09 -05:00
Dale Wijnand 1bcefc6686 Bump sbt-houserules to add MiMa
See sbt/sbt#2383
2016-02-14 21:16:34 +00:00
Dan Sanduleac 2324c720c4 Set branch onto the ModuleID when constructing a ModuleReport 2016-02-10 17:25:59 +00:00
Dan Sanduleac 797fe0aa63 Fix IvyActions.restrictedCopy to respect branch 2016-02-10 17:25:59 +00:00
Dan Sanduleac 0fd248a19b Add [branch] to pattern for sbt's resolution cache 2016-02-10 17:25:59 +00:00
Dan Sanduleac 5ea0e0e07a [branch] as part of Resolver.localBasePattern 2016-02-10 17:25:58 +00:00
Dan Sanduleac a9b2154092 ModuleID to have a branch now, that ends up in the ModuleRevisionId too.
Also, add branch when converting ModuleID -> Ivy XML and include it in
IvyActions.substitute.
2016-02-10 17:25:58 +00:00
Dan Sanduleac 01030a197a Add IvyRepoSpec which tests that source artifacts (in this case, with type=src, though in the same "compile" configuration) are resolved correctly when using IvyActions.updateClassifiers, and NOT resolved when using the normal IvyActions.updateEither. 2016-02-10 14:44:49 +00:00
Dan Sanduleac fcd52ee283 Expose the default UpdateConfiguration in BaseIvyConfiguration 2016-02-10 13:21:22 +00:00
Dan Sanduleac 0d4336bbaa Apply style fixes 2016-02-10 13:21:22 +00:00
Dan Sanduleac 31440bb147 Fix BaseIvySpeficiation's init of UpdateConfiguration with a sensible default ArtifactTypeFilter 2016-02-10 13:21:22 +00:00
Dan Sanduleac dc81a1813d Fix UpdateReport.substitute to not drop missing artifacts 2016-02-10 13:21:22 +00:00
Dan Sanduleac 55d13bd8cd Fix artifact, deprecate stuff 2016-02-10 13:21:22 +00:00
Dan Sanduleac 055859ea9a [2/2] updateClassifiers to 1) filter artifacts by type 2) ALSO retrieve artifacts defined in Ivy publications 2016-02-10 13:21:21 +00:00
Dan Sanduleac 9db3e86fd9 [1/2] Add {source,doc}ArtifactTypes settings, use them in update* tasks in conjunction with ArtifactTypeFilter 2016-02-10 13:21:21 +00:00
Dan Sanduleac 789ebee0f1 ModuleID + inclusions 2016-02-10 13:17:23 +00:00
Dan Sanduleac 00bcd222e6 ExclusionRule -> InclExclRule 2016-02-10 13:17:23 +00:00
Dan Sanduleac c7dfbbf705 Add ArtifactTypeFilter 2016-02-10 13:17:21 +00:00
Dan Sanduleac 83fbb212d9 Add include rules to ModuleID 2016-02-08 15:46:58 +00:00
Dan Sanduleac 565acc4e2a Get rid of sources/docs configurations 2016-02-08 15:46:51 +00:00
Eugene Yokota cf0fef5a85 Inter-project dependency tracking. Fixes #2266
Adds `trackInternalDependencies` and `exportToInternal` settings. These
can be used to control whether to trigger compilation of a dependent
subprojects when you call `compile`. Both keys will take one of three
values: `TrackLevel.NoTracking`, `TrackLevel.TrackIfMissing`, and
`TrackLevel.TrackAlways`. By default they are both set to
`TrackLevel.TrackAlways`.

When `trackInternalDependencies` is set to `TrackLevel.TrackIfMissing`,
sbt will no longer try to compile internal (inter-project) dependencies
automatically, unless there are no `*.class` files (or JAR file when
`exportJars` is `true`) in the output directory. When the setting is
set to `TrackLevel.NoTracking`, the compilation of internal
dependencies will be skipped. Note that the classpath will still be
appended, and dependency graph will still show them as dependencies.
The motivation is to save the I/O overhead of checking for the changes
on a build with many subprojects during development. Here's how to set
all subprojects to `TrackIfMissing`.

    lazy val root = (project in file(".")).
      aggregate(....).
      settings(
        inThisBuild(Seq(
          trackInternalDependencies := TrackLevel.TrackIfMissing,
          exportJars := true
        ))
      )

The `exportToInternal` setting allows the dependee subprojects to opt
out of the internal tracking, which might be useful if you want to
track most subprojects except for a few. The intersection of the
`trackInternalDependencies` and `exportToInternal` settings will be
used to determine the actual track level. Here's an example to opt-out
one project:

    lazy val dontTrackMe = (project in file("dontTrackMe")).
      settings(
        exportToInternal := TrackLevel.NoTracking
      )
2016-01-25 13:56:17 +01:00
Eugene Yokota 8f88a35922 Adds CompatibilityWarningOptions. Fixes #2347
This addresses 0.13.10 regression, which currently warns users about
Maven incompatibility on a private configuration. This adds a config
class so the build user can control the level of the warning as well as
the target configuration to be monitored.
By default, we are only going to look at `Compile` and `Runtime`.
2016-01-25 12:11:56 +01:00
Dale Wijnand 4f2729c0b0 Merge pull request #16 from dwijnand/travis-jdks
Travis JDKs
2016-01-18 07:29:59 +00:00
Dale Wijnand 77a1e5d871 Target Oracle JDK 7 & 8 in Travis 2016-01-17 22:17:54 +00:00
Dale Wijnand d017e2603e Merge pull request #21 from dwijnand/move-CompatibilityWarning
Move CompatibilityWarning to sbt.internal.librarymanagement
2016-01-17 21:22:27 +00:00
Dale Wijnand ffcec2fa35 Commit auto-formatted code 2016-01-17 21:12:36 +00:00
Dale Wijnand 0a8402a8a9 Add missing imports 2016-01-17 21:12:27 +00:00
Dale Wijnand d693d0cde9 Move CompatibilityWarning to sbt.internal.librarymanagement 2016-01-17 19:58:57 +00:00
eugene yokota 598ac3c34c Merge pull request #20 from dwijnand/fport/refix-snapshots
FPORT: Refix snapshots
2016-01-17 14:08:08 -05:00
eugene yokota 1c4e67fda7 Merge pull request #19 from dwijnand/fport/maven-compatibility-changes
FPORT: Maven compatibility changes (intransitive warnings and "configuration not public")
2016-01-17 14:07:56 -05:00
eugene yokota 7d7787bd83 Merge pull request #18 from dwijnand/fport/make-sbt-dotty-aware
FPORT: Make sbt aware of Dotty
2016-01-17 14:07:31 -05:00
Eugene Yokota 660d66ef1f Bump up ivy to 2.3.0-sbt-2cc8d2761242b072cedb0a04cb39435c4fa24f9a 2016-01-17 18:53:42 +00:00
Eugene Yokota bd792c3bb8 Fixes #1616. Fixes the "latest snapshot" chain resolver
The "latest snapshot" chain resolver was assuming that there's at least
one artifact per module. I think that was the root cause of #1616.
2016-01-17 18:53:06 +00:00
Eugene Yokota 33ae444041 Bump up ivy to 2.3.0-sbt-39ece6f17e1af62c2e89a9d88b59c0c3aad56145
Ref sbt/ivy#21
2016-01-17 18:53:03 +00:00
Eugene Yokota 409d1a7f4e Fixes #1514. Enable latest SNAPSHOT option by default
to check all resolvers to find the latest snapshot artifacts.
This behavior did not work well with Maven repositories where sbt was
failing to calculate the correct publication dates.
Now that #2075 fixes the Maven integration issue we should enable this
flag back again.

The build user can opt out by:

    updateOptions := updateOptions.value.withLatestSnapshots(false)
2016-01-17 18:49:46 +00:00
Eugene Yokota 54fa9dd416 Improve warning message 2016-01-17 18:37:23 +00:00
Eugene Yokota eef906e09a Fixes #1827. Adds withInterProjectFirst to update option.
withInterProjectFirst when set to true will prioritize inter-project
resolver over all other resolver and Ivy cache.
This aimed to workaround the fact that on Maven Test configuration is
considered private, and thus project dependency with `test->test`
configuration may not under some condition. The condition is when
someone resolves `x:y:1.0` and you have a subproject named and
versioned exactly that, and some other subproject tries to depend on
it. This happens when the project does not change the version number on
the Github.
2016-01-17 18:37:23 +00:00
Eugene Yokota b705d4e998 Update warning message a bit. 2016-01-17 16:43:44 +00:00
Eugene Yokota 6fb70aedf1 Reproduce "configuration not public" on local test->test. #1827 2016-01-17 16:43:44 +00:00
Eugene Yokota 17397249ae Move intransitive warning to update. Ref #2127 2016-01-17 16:43:40 +00:00
Guillaume Martres 368866bce9 Make sbt aware of Dotty
This small set of changes, together with the compiler-bridge I wrote
(https://github.com/smarter/dotty-bridge) enables us to compile code
using Dotty in sbt, see https://github.com/smarter/dotty-example-project
for an example.

Partial forward port of sbt/sbt#2344.
2016-01-17 16:35:41 +00:00
eugene yokota b0ca6f797e Merge pull request #17 from dwijnand/fport/make-JCenter-opt-in
FPORT: Make Make JCenter opt in
2016-01-16 15:00:21 -05:00
Dale Wijnand f87eabdc98 FPORT: Make Make JCenter opt in
Forward-port of sbt/sbt#2335.
2016-01-16 15:44:55 +00:00
eugene yokota 22d12cf996 Merge pull request #15 from sbt/wip/bumputil
Update util to 0.1.0-M8
2015-12-24 05:46:31 -05:00
Martin Duhem 84e7c5a360 Bump Scala version in .travis.yml and build.sbt 2015-12-24 09:07:02 +01:00
Eugene Yokota b87fb4627e Update util to 0.1.0-M8 2015-12-24 02:02:20 -05:00
eugene yokota 40b7ed8020 Merge pull request #9 from sbt/wip/richupdatereport
Split RichUpdateReport into internal
2015-12-07 16:02:28 -05:00
eugene yokota b34f1f2f73 Merge pull request #11 from Duhemm/port-2258
Don't warn on inconsistent versions in different configurations
2015-12-03 17:53:36 -05:00
eugene yokota fffae1b76c Merge pull request #13 from Duhemm/port-2297
Fixes sbt/sbt#2264. Use explicit artifacts if any, fallback to hardcoded
2015-12-03 16:43:41 -05:00
eugene yokota ac571371c6 Fixes sbt/sbt#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 sbt/sbt#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 sbt/sbt@f49fb33.

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-03 17:23:32 +01:00