Commit Graph

63 Commits

Author SHA1 Message Date
Dale Wijnand 039cb1591e
Add, configure & enforce sbt-whitesource 2018-01-11 14:02:45 +00:00
Dale Wijnand abf370adc3
Upgrade to sbt-houserules 0.3.5 2017-12-19 13:23:44 +00:00
Dale Wijnand 8fb23b4fe5
Add 1.1.1 to mimaPreviousArtifacts, & backfill 2017-12-18 16:25:32 +00:00
Eugene Yokota 68356306ec bump modules and plugins 2017-12-15 14:07:05 -05:00
David Pratt 204f0dcd6c Filter spurious mima errors. 2017-09-04 16:48:56 -05:00
Eugene Yokota 03b531ca1e Use sbt 1.0.0 2017-08-26 13:42:11 -04:00
Dale Wijnand df108f7c78
Scalafmt 1.2.0 2017-08-14 15:29:06 +01:00
Dale Wijnand 63e63f05fa
Add back, re-configure & re-enable Scalafmt 2017-08-10 12:04:58 +01:00
Dale Wijnand 8e8f9a5380
Bump mimaPreviousArtifacts to 1.0.0-RC3 2017-07-31 11:39:05 +01:00
eugene yokota a43947410e Merge branch '1.0.0' into wip/api_mod 2017-07-28 02:27:29 -04:00
Dale Wijnand 749a1c9a9b
Fix MiMa failures 2017-07-28 07:18:27 +01:00
Eugene Yokota f976c6824b Name the reverse missing methods 2017-07-28 02:11:20 -04:00
Eugene Yokota 208b8e4279 Exclude ReversedMissingMethodProblem sbt.internal.librarymanagement.formats.* 2017-07-28 02:00:17 -04:00
Eugene Yokota d6e2720201 Let `ModuleDescriptor` declare cache inputs 2017-07-28 01:37:01 -04:00
Dale Wijnand 1512d73a07
Upgrade to mima 0.1.15 & add exclusions 2017-07-26 11:40:54 +01:00
Dale Wijnand 66b8863d79
Add, configure & enable MiMa 2017-07-20 17:13:35 +01:00
Eugene Yokota d004e9e31a
sbt 1.0.0-RC2 2017-07-20 10:37:17 +01:00
Eugene Yokota 7b22e78fd9 Library management API
This splits the core of LM and Ivy-based implementation.

- InlineConfiguration is renamed to ModuleConfiguration
- IvyScala is renamed to ScalaModuleInfo
- UpdateConfiguration, RetrieveConfiguration, PublishConfiguration are refactored to use builder pattern.
- Adds ConfigRef for referencing Configuration
- Moves syntax related things into `sbt.librarymagement.syntax`
2017-07-15 11:17:23 -04:00
Eugene Yokota 13e803d199 Use ConfigRef in reports 2017-07-08 16:10:09 +02:00
Eugene Yokota bc0ed18308 define def config(...) as a macro to capture the Scala identifier 2017-07-08 11:14:37 +02:00
Dale Wijnand 178b079f40
No sbt-doge in sbt 1, switch back to + 2017-07-06 14:30:06 +01:00
Dale Wijnand 22df64365b
Replace util-collection dep with util-position
With Position being extracted to its own dependency we can drop this
dependency, allowing util-collection to move (back) to sbt/sbt!
2017-07-06 14:30:06 +01:00
Dale Wijnand f255894413
Drop RepositoriesParser & therefore util-completion
This code originates from a PR against sbt 0.13:
https://github.com/sbt/sbt/pull/2576

The sbt/librarymanagement part was forward-ported to
sbt/librarymanagement and merged, while the sbt/sbt part wasn't.

So let's get rid of this so we can drop the dependency on
util-completion.
2017-07-06 14:30:05 +01:00
Dale Wijnand 85cfe4d78c
Drop util-testing 2017-07-06 14:30:05 +01:00
Dale Wijnand f5d66db0a6
Format the build 2017-07-06 14:02:04 +01:00
Eugene Yokota 4ac724e529 bump to sbt-contraband 0.3.0-M7 and latest util 2017-07-01 19:44:49 -04:00
Eugene Yokota e8d5bcc600 bump sjson-new to latest 2017-07-01 19:16:16 -04:00
Eugene Yokota 60e1eb6275 Bump to sbt 1.0.0-M6 2017-06-17 02:19:37 -04:00
Eugene Yokota fd7cec0148 use okhttp to download the artifacts
This adds a custom URLHandler that internally uses Square OkHttp.

Fixes sbt/librarymanagement#95
2017-05-26 04:13:55 -04:00
Eugene Yokota dd4b33105b add Gigahorse 2017-05-15 16:34:38 -04:00
jvican 1a11fd86a3
Disable parallel execution 2017-05-09 11:02:34 +02:00
jvican d42ea869d0
Apply formatting 2017-04-26 22:55:38 +02:00
jvican 712c83f859
Configure scalafmt and disable scalariform 2017-04-26 22:53:17 +02:00
Eugene Yokota 9dd1dff6cb Bump util 2017-01-13 22:48:32 -05:00
Eugene Yokota 9d812f4d98 Cross publish to Scala 2.12 2017-01-07 00:49:45 -05:00
Dale Wijnand 71fddd5e3f
Upgrade from sbt/datatype to sbt/contraband 2017-01-05 15:42:29 +00:00
Dale Wijnand 7c221ef97f
Include managed sources in packageSrc 2016-12-14 10:31:11 +00:00
Dale Wijnand f9a066fe92
Id the root project as lmRoot
.. like sbt/util and sbt/zinc name their root projects
2016-11-17 00:40:15 +00:00
Dale Wijnand f2efa10af1
Switch to sbt-datatype, sjson-new & Vectors 2016-11-15 23:59:34 +00:00
Dale Wijnand 8c4a969c9a
Add props to define source dependencies on io & util
Use either -Dsbtio.path / -Dsbtutil.path on the command line
or sbtio.path= / sbtutil.path= in project/local.properties
2016-11-02 14:27:12 +00:00
cunei bc7ed0d784 Fix to bintray repo (#53) 2016-10-07 13:36:32 -05:00
Antonio Cunei a1f9b5ed64 Change bintray repo, see sbt #1696 2016-09-28 11:30:10 +02:00
Dale Wijnand 9706577c67 Drop Scala 2.10, add openjdk7 2016-06-21 17:51:16 +01:00
Dale Wijnand 931b7d7af5 Remove unused and unused imports
Note that the pickler/sbt-serlization macros are bringing in unused imports..
2016-06-21 16:06:40 +01:00
Dale Wijnand 7db91141e1 Remove re-setting publishArtifact in Test, defined in commonSettings
> show root/test:publishArtifact
    [info] lm/test:publishArtifact
    [info] 	false
    [info] root/test:publishArtifact
    [info] 	false
    > git diff
    [info] diff --git a/build.sbt b/build.sbt
    [info] index fed7303..6f1fb03 100644
    [info] --- a/build.sbt
    [info] +++ b/build.sbt
    [info] @@ -37,7 +37,6 @@ lazy val root = (project in file(".")).
    [info]      publish := {},
    [info]      publishLocal := {},
    [info]      publishArtifact in Compile := false,
    [info] -    publishArtifact in Test := false,
    [info]      publishArtifact := false,
    [info]      customCommands
    [info]    )
    [info] @@ -50,7 +49,6 @@ lazy val lm = (project in file("librarymanagement")).
    [info]        utilLogging, sbtIO, utilTesting % Test,
    [info]        utilCollection, utilCompletion, ivy, jsch, sbtSerialization, scalaReflect.value, launcherInterface),
    [info]      resourceGenerators in Compile <+= (version, resourceManaged, streams, compile in Compile) map Util.generateVersionFile,
    [info] -    publishArtifact in Test := false,
    [info]      binaryIssueFilters ++= Seq()
    [info]    )
    [info]
    RELOAD > reload
    [info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
    [info] Loading project definition from /d/sbt-library-management/project
    [info] Set current project to LM Root (in build file:/d/sbt-library-management/)
    > show root/test:publishArtifact
    [info] lm/test:publishArtifact
    [info] 	false
    [info] root/test:publishArtifact
    [info] 	false
2016-06-17 09:03:23 +02:00
Dale Wijnand 76a1f12b10 Remove scalacOptions that are already defined in sbt-houserules
> show lm/scalacOptions
    [info] List(-encoding, utf8, -deprecation, -feature, -unchecked, -Xlint, -language:higherKinds,
    -language:implicitConversions, -Xfuture, -Yinline-warnings, -Yno-adapted-args, -Ywarn-dead-code,
    -Ywarn-numeric-widen, -Ywarn-value-discard, -encoding, utf8, -deprecation, -feature, -unchecked, -Xlint,
    -language:higherKinds, -language:implicitConversions, -Xfuture, -Yinline-warnings, -Xfatal-warnings,
    -Yno-adapted-args, -Ywarn-dead-code, -Ywarn-numeric-widen, -Ywarn-value-discard)
    [success] Total time: 0 s, completed 17-Jun-2016 09:00:40
    > git diff
    [info] diff --git a/build.sbt b/build.sbt
    [info] index 254bb64..fed7303 100644
    [info] --- a/build.sbt
    [info] +++ b/build.sbt
    [info] @@ -16,21 +16,7 @@ def commonSettings: Seq[Setting[_]] = Seq(
    [info]    incOptions := incOptions.value.withNameHashing(true),
    [info]    crossScalaVersions := Seq(scala210, scala211),
    [info]    resolvers += Resolver.sonatypeRepo("public"),
    [info] -  scalacOptions ++= Seq(
    [info] -    "-encoding", "utf8",
    [info] -    "-deprecation",
    [info] -    "-feature",
    [info] -    "-unchecked",
    [info] -    "-Xlint",
    [info] -    "-language:higherKinds",
    [info] -    "-language:implicitConversions",
    [info] -    "-Xfuture",
    [info] -    "-Yinline-warnings",
    [info] -    "-Xfatal-warnings",
    [info] -    "-Yno-adapted-args",
    [info] -    "-Ywarn-dead-code",
    [info] -    "-Ywarn-numeric-widen",
    [info] -    "-Ywarn-value-discard"),
    [info] +  scalacOptions += "-Xfatal-warnings",
    [info]    previousArtifact := None, // Some(organization.value %% moduleName.value % "1.0.0"),
    [info]    publishArtifact in Compile := true,
    [info]    publishArtifact in Test := false
    RELOAD > reload
    [info] Loading global plugins from /Users/dnw/.dotfiles/.sbt/0.13/plugins
    [info] Loading project definition from /d/sbt-library-management/project
    [info] Set current project to LM Root (in build file:/d/sbt-library-management/)
    > show lm/scalacOptions
    [info] List(-encoding, utf8, -deprecation, -feature, -unchecked, -Xlint, -language:higherKinds,
    -language:implicitConversions, -Xfuture, -Yinline-warnings, -Yno-adapted-args, -Ywarn-dead-code,
    -Ywarn-numeric-widen, -Ywarn-value-discard, -Xfatal-warnings)
2016-06-17 09:01:32 +02:00
Eugene Yokota 87b3ca04c0 Don't depend on other projects' tests 2016-05-11 14:12:10 -04:00
Eugene Yokota 4abaec8622 Fix dependencies 2016-05-10 00:38:26 -04:00
Martin Duhem 65adc869d4 Implement static launcher for sbt
This is a combination of 13 commits. I squashed these 13 commits to make
forward porting those changes easier, since some commit undo the changes
of other commits.

The PRs that include these changes can be found at
https://github.com/sbt/sbt/pull/2564 and
https://github.com/sbt/sbt/pull/2576.

Static launcher, get bridge sources from resources

This commit introduces a new "static" launcher that does not use Ivy to
gather all the artifacts that it requires, but rather expect them to be
immediately available.

To be able to use sbt without Internet access, we add a new
`ComponentCompiler` that is able to retrieve the bridge sources from the
resources on classpath and compile it.

Fix classpath issues in static launcher

The launcher defines a top classloader that willbe used by all
`ScalaInstance`s. Previously, this top classloader had a parent that
contained the scala library 2.10, which prevented the correct
compilation of the compiler bridge for scala 2.11.

Also, we no longer need the scala-reflect JAR.

Tests for FakeResolver

Add `scala-reflect.jar` to JARs of `StaticScalaProvider`

It turns out we need to have `scala-reflect.jar` on classpath to compile
the compiler bridge for the static scala instance of the launcher.

Comply to Ivy's specification in `FakeResolver`

Remove `CompilerBridgeProvider` and `ResourceBridgeProvider`

It turns out that we can leverage the`FakeResolver` that has been
implemented to use with the static launcher, and resolve a "fake
compiler bridge" using it, rather than copying it from the resources.

This also has the advantage of not requiring to change the build
definition.

Fix NPE in FakeResolver

Add compiler bridge sources to fake resolver

This allows sbt to resolve the compiler bridge sources when using the
static launcher

Don't hardcode sbt version in static launcher

Add scala compiler and library to fake resolver

This allows us to still resolve them if we have no other resolver
configured.

Add `RepositoriesParser`

This parser is used by the static launcher to parse the definition of
resolvers that override the build resolvers.

Support repositories override in static launcher

The static launcher will now parse user-defined repositories like the
usual launcher does.

Specifically, the static launcher now uses the following configuration:

 - `sbt.boot.directory`: specifies the boot directory that sbt will use.
   Defaults to `~/.sbt/boot`.
 - `sbt.override.build.repos`: indicate whether we want to override the
   build resolvers. Defaults to false.
 - `sbt.repository.config`: specifies the path to the files that
   contains repositories definition. Defaults to
   `${sbt.boot.directory}/repositories`.

Notes for sbt/sbt#2564 & sbt/sbt#2576
2016-04-27 10:14:47 +02:00
Dale Wijnand 1bcefc6686 Bump sbt-houserules to add MiMa
See sbt/sbt#2383
2016-02-14 21:16:34 +00:00