Commit Graph

1760 Commits

Author SHA1 Message Date
Scala Steward b1b8f2c441
Update sbt-ci-release to 1.5.3 (#216) 2020-05-04 12:40:13 +02:00
Eugene Yokota d29bfbbb25 Zinc 1.4.0-M5 2020-04-28 14:57:13 -04:00
Eugene Yokota af746d269e Zinc 1.4.0-M3 2020-04-24 17:44:15 -04:00
Eugene Yokota da999f60aa Update source deps 2020-04-24 17:44:15 -04:00
Eugene Yokota 2396b449fe Contraband 0.4.6 2020-04-24 17:44:15 -04:00
Eugene Yokota 3ce4d22b84 integrate with VirtualFile changes
Ref https://github.com/sbt/zinc/pull/712
2020-04-24 17:44:14 -04:00
Scala Steward 9ef19d5154
Update sbt, scripted-plugin to 1.3.10 (#214) 2020-04-15 17:32:31 +02:00
eugene yokota 3b3aa2f495
Merge pull request #331 from eed3si9n/wip/contraband_
Bump Contraband
2020-04-06 18:26:03 -04:00
Eugene Yokota fd71e8cb17 Bump Contraband 2020-04-06 18:15:46 -04:00
Eugene Yokota ab06affe7c Bump util 2020-04-06 18:15:29 -04:00
Scala Steward e421e02c8d
Update sbt, scripted-plugin to 1.3.9 (#211) 2020-04-01 13:39:07 +02:00
Alexandre Archambault c7975b9f1a
Add FromCoursier to mima exclusions (#210)
Maybe that object should be moved to lmcoursier.internal…
2020-03-31 02:16:21 +02:00
Eugene Yokota e95dd544fc ipcsocket 1.0.1 that uses latest JNA 2020-03-30 12:33:57 -04:00
Eugene Yokota 5dd5296bcf lm-coursier-shaded 2.0.0-RC6-2 2020-03-29 21:01:11 -04:00
Eugene Yokota d2def1ac74 Use Array to talk to proper build 2020-03-18 16:28:51 -04:00
Anil Kumar Myla 887eb17f9e
Update scala to 2.12.11 2020-03-18 00:49:14 -07:00
Scala Steward af3f8aed05
Update sbt-mima-plugin to 0.7.0 (#203) 2020-03-02 10:42:33 +01:00
Eugene Yokota 2d6f102f9a Ivy 2.3.0-sbt-fa726854dd30be842ff9e6d2093df6adfe3871f5
Fixes https://github.com/sbt/sbt/issues/2366
2020-02-22 15:30:26 -05:00
Dale Wijnand 8d6ca826f9 Update sbt to 1.3.8 2020-02-15 08:49:53 +00:00
Eugene Yokota 72aa0780fc Format build.sbt 2020-02-14 00:06:34 -05:00
Eugene Yokota 02152cc41b Refactor server test
This refactors the server test to reuse the server instance for the tests against the same build.
2020-02-13 23:31:09 -05:00
Scala Steward b220a05775
Update sbt-ci-release to 1.5.2 (#192) 2020-02-09 12:26:57 +01:00
Scala Steward 57b9ae2f5e Update sbt-mima-plugin to 0.6.4 (#191) 2020-02-08 15:31:35 +01:00
Dale Wijnand 9eb51211d6 Fix Coursier classpath order 2020-02-07 07:04:38 +00:00
Dale Wijnand 0849574331
Forward classpathOrder into SbtUpdateReport (#187)
* Add a scripted test for "cp order"

* Forward classpathOrder into SbtUpdateReport

* Bump the target sbt version to 1.2.8

* Preserve order all through SbtUpdateReport.moduleReports

* Update scala-jars scripted test

Seems some changes in the way sbt handles the scala-library / reflect /
compiler JARs made it stale…

Co-authored-by: Alexandre Archambault <alexarchambault@users.noreply.github.com>
2020-02-05 19:10:28 +01:00
Anil Kumar Myla 6e25f1419b
Update coursier to 2.0.0-RC6 2020-02-04 11:47:08 -08:00
Anil Kumar Myla bbc25c5ec4
Update coursier to 2.0.0-RC5-6 2020-02-04 11:40:17 -08:00
Alexandre Archambault caf77f06c3 Ignore incompatible signature problems
Seems these are spurious (only getting them on CI)
2020-02-04 13:00:43 +01:00
Alexandre Archambault cf7498d256 Switch to sbt-mima 0.6.3
And restrict checked versions in mima (incompatible signature problem
with former versions).
2020-02-04 12:21:47 +01:00
Scala Steward a6cbe9a214
Update sbt, scripted-plugin to 1.3.8 (#185) 2020-02-04 10:03:27 +01:00
Scala Steward 6f710c526f
Update sbt-coursier, sbt-shading to 2.0.0-RC5-3 (#177) 2020-02-03 17:49:10 +01:00
Ethan Atkins ae4d3aecb8 Explicitly set scripted and server test classpath
This commit makes it so that the scalaVersion, sbtVersion and classpath
are always passed in as parameters to any method that creates an sbt
server -- either for scripted or for the sbt server tests. By making
that change, I was able to change the implementation of scripted in the
sbt project to use publishLocalBin instead of publishLocal. This makes
the scripted tests start much faster (doc alone can easily take 30
second) with messing with the build to exclude slow tasks from
publishLocal.

As part of this change, I removed the test dependency on scriptedSbtRedux for
sbtProj and instead had scriptedSbtRedux depend on sbtProj. This allowed
me to remove some messy LocalProject logic in the resourceGenerators for
scriptedSbtReduxProj. I also had to remove a number of imports in the
scriptedSbtReduxProj because the definitions available in the sbt
package object became available.

I also removed the dependency on sbt-buildinfo and instead pass the
values from the build into test classes using scalatest properties. I
ran into a number of minor issues with the build info plugin, namely
that I couldn't get fullClasspathAsJars to reliably run as a BuildInfo
key. It also is somewhat more clear to me to just rely on the built in
scalatest functionality. The big drawback is that the scalatest
properties can only be strings, but that restriction isn't really a
problem here (strangely the TestData structure has a field configMap
which is effectively Map[String, Any] but Any is actually always String
given how the TestData is created as part of framework initialization.

Since scripted no longer publishes, scriptedUnpublished is now
effectively an alias for scripted.

To get publishLocalBin working, I had to copy private code from
IvyXml.scala into PublishBinPlugin. Once we publish a new version of
sbt, we can remove the copied code and invoke IvyXml.makeIvyXmlBefore
directly.
2020-01-19 09:04:26 -08:00
Ethan Atkins 2f99797bac Fix RunFromSourceMain sbt.Package$ bug
The main reason for having both the RunFromSourceMain and LauncherBased
scripted tests was that RunFromSourceMain would fail for any test that
ended up accessing the sbt.Package$ object. This commit fixes this bug
by reworking the classloader generated by RunFromSourceMain to invoke
sbt, switching from the classpath to jar classpath (by setting exportJars =
true) and entering sbt by calling `new xMain().run` rather than
`xMain.run`.

The reason for switching to the jar classpath is that the jvm seems to
have issues when there are two classes provided in different directories
that have the same case insensitive name, e.g. `sbt.package$` and
`sbt.Package$`. If those classes are instead provided in different
jars, the jvm seems to be able to handle it.

Exporting the jars is not enough though, I had to rework the
ClassLoader created in the launch method to have a layout that was
recognized by xMainConfiguration. I reimplemented the AppConfiguration
in java so that it could bootstrap itself in a single jar classloader
(the only needed jar is the Scripted.

If we export the jars in the build, then the NoClassDefErrors for
`sbt.Package$` go away during scripted tests using RunSourceFromMain.
This might make running tests in subprojects slightly slower but I think
its a worthy tradeoff.
2020-01-19 09:04:26 -08:00
Ethan Atkins 17deb8b5d6 Make publishLocalBin work without prior publishLocal
In order for the sbt launcher to be able to resolve a local version of
sbt, we must publish the main jar, the sources jar, the doc jar, the pom
and an ivy.xml file. The publish and publishLocal tasks are wired in
IvyXml.scala to create an ivy.xml file before running publish. This
wasn't done with publishLocalBin which made it not work when no ivy.xml
file was already present (which was the case after running clean).
2020-01-18 16:11:37 -08:00
Ethan Atkins c18284948d Bump sbt version 2020-01-18 16:11:37 -08:00
eugene yokota cfa410cbd7
Merge pull request #5358 from dwijnand/cleanup/Deps
build: Cleanup Dependencies
2020-01-17 14:20:35 -05:00
Scala Steward 12e6dcb001 Update sbt, scripted-plugin to 1.3.7 (#179) 2020-01-16 13:22:31 +01:00
Ethan Atkins 813864ec0f Add swoval java formatting plugin
The swoval javafmt plugin uses the google java formatter (which I
believe is the only widely used java formatter) to format source files.
It does not provide an automatic javafmtOnCompile method like the
scalafmt plugin so I had to manually implement that functionality. In
general the java formatter is much faster than scalafmt so the impact of
having javafmtOnCompile set to true is very low.
2020-01-14 14:20:23 -08:00
Ethan Atkins adfdb945f8 Upgrade scalafmt
Intellij has problems with older versions of scalafmt (see
https://github.com/scalameta/scalafmt/issues/1630). Not sure if this a
scalafmt issue or an intellij issue. I pinned the edition to October
2019 to avoid reformatting tons of files. Once development stabilizes,
we may wish to drop the edition but, for now, it's disruptive to change
the formatting.
2020-01-12 13:52:10 -08:00
Dale Wijnand 6b7b572e1a build: Cleanup Dependencies 2020-01-10 15:25:49 +00:00
Eugene Yokota 9d857d3d95 lm-coursier-shaded 2.0.0-RC5-3
Fixes https://github.com/sbt/sbt/issues/5333
Fixes https://github.com/sbt/sbt/issues/5324
Fixes https://github.com/sbt/sbt/issues/5268
Ref https://github.com/sbt/sbt/issues/5282
2020-01-09 13:14:04 -05:00
Eugene Yokota 36a16673c0 reduce compiler warnings 2020-01-08 09:41:29 -05:00
Scala Steward 03e6e7b47e Update sbt-ci-release to 1.5.0 (#172) 2019-12-29 19:57:06 +01:00
eugene yokota bf9225bccf
Merge pull request #5344 from eed3si9n/wip/repeatable
Don't emit timestamps when packaging to jar, take 2
2019-12-29 02:58:53 -05:00
Arnout Engelen 989a37a776 Update sbt.io to 1.4.0-M2 2019-12-29 02:31:21 -05:00
Eugene Yokota e77dc68e34 bump sbt and IO 2019-12-28 16:09:02 -05:00
Eugene Yokota ea9d382b89 add hook for nightly build 2019-12-28 16:04:18 -05:00
Scala Steward 039d8ea17a Update sbt, scripted-plugin to 1.3.6 (#171) 2019-12-27 21:19:16 +01:00
Eugene Yokota d21d698e96 sbt 1.3.6 2019-12-27 01:51:25 -05:00
Eugene Yokota 80aeb7eed9 add aggregate project for lower utils and upper modules 2019-12-27 00:24:03 -05:00
Scala Steward 21e752a7da Update sbt, scripted-plugin to 1.3.5 (#168) 2019-12-14 17:18:27 +01:00
Ethan Atkins ee56140f5c Use logger in scripted instead of println 2019-12-10 10:52:18 -08:00
Ethan Atkins 8bfae66b9d Update build.sbt to handle util projects
As part of re-integrating util into the sbt main project, I had to
update the build.sbt and a few dependencies (like the contraband plugin).
2019-12-08 10:28:31 -08:00
eugene yokota bb938e761d
Merge pull request #5256 from eatkins/scalafmt
Bump scalafmt and run on metabuild
2019-11-30 23:27:52 -05:00
Ethan Atkins d7a191e277 Bump sbt version 2019-11-30 14:59:44 -08:00
Ethan Atkins bb73730c00 Run scalafmtSbt
Also add scalafmtSbtCheck to travis.
2019-11-30 14:57:57 -08:00
Ethan Atkins 094d730b06 Bump scalafmt 2019-11-30 14:57:20 -08:00
Dale Wijnand 02e26465f7 Cleanup project/Transform.scala 2019-11-28 21:25:49 +00:00
Scala Steward ebc860f31a Update sbt, scripted-plugin to 1.3.4 (#160) 2019-11-23 17:17:52 +01:00
Scala Steward 0ea55698a6 Update sbt-coursier, sbt-shading to 2.0.0-RC5-2 (#159) 2019-11-23 17:17:37 +01:00
Eugene Yokota 0e3f94ea53 lm-coursier-shaded 2.0.0-RC5-2
Fixes #5132
Fixes #4706
Fixes #4688
2019-11-22 14:00:48 -05:00
Scala Steward cb842cff67 Update sbt-coursier, sbt-shading to 2.0.0-RC5-1 (#157) 2019-11-21 08:57:22 +01:00
Scala Steward de3b4f0458 Update sbt-coursier, sbt-shading to 2.0.0-RC4-1 (#153) 2019-11-14 20:22:04 +01:00
Eugene Yokota 6200255eed ivy 2.3.0-sbt-88d6a93d15f9b029958c1c289a8859e8dfe31a19 2019-10-20 11:42:41 -04:00
Eugene Yokota 6f49065a56 in-source sbt-houserules 2019-10-20 00:41:53 -04:00
Eugene Yokota 417de34779 util 1.3.2, zinc 1.3.1 2019-10-20 00:28:25 -04:00
Eugene Yokota 675430dad2 io 1.3.1 2019-10-20 00:28:17 -04:00
Eugene Yokota 6807e91edd Scala 2.12.10 2019-10-19 19:59:13 -04:00
Eugene Yokota e0d2455982 sbt 1.3.3 2019-10-19 19:56:19 -04:00
Eugene Yokota 8aeb43fc11 in-source sbt-houserules 2019-10-19 19:53:11 -04:00
Alexandre Archambault ce2544d776
Use data-class in lm-coursier (#152) 2019-10-18 13:39:03 +02:00
Filipe Regadas cb46943cec
Fix librarymanagement project Id 2019-10-16 19:27:32 +01:00
Filipe Regadas 9cdf5957ed
Add sbt-mima-plugin 2019-10-16 19:27:11 +01:00
Scala Steward d38dd69572 Update sbt, scripted-plugin to 1.3.3 (#150) 2019-10-14 17:59:01 +02:00
Scala Steward 03249a84ea Update sbt-coursier, sbt-shading to 2.0.0-RC4 (#149) 2019-10-14 17:16:03 +02:00
Ethan Atkins ae84e162ad Limit scripted page numbers
The completions were generating page numbers that didn't make sense if
there were a small number of scripted tests. For example, suppose that
there were only two tests defined, it would generate *1of3 *2of3 and
*3of3 completions even though there weren't even three tests.
2019-10-06 14:07:30 -07:00
Ethan Atkins 9dff18d736 Fix scripted parser crash
In a local progress, I was able to induce a crash in tab completions
because the group key did not exist in pairMap.
2019-10-06 14:07:30 -07:00
Charles O'Farrell 67a3eca698 Use hedgehog in ParseKey, Delegates, and ParserSpec test 2019-09-30 01:52:57 -04:00
Alexandre Archambault 14a4a6998a
Switch to sbt-ci-release 1.4.31 (#146) 2019-09-28 15:27:58 +02:00
Alexandre Archambault c1e43d1c6a Pin sbt dependency version
See https://github.com/sbt/sbt/issues/5049
2019-09-21 16:50:13 +02:00
Alexandre Archambault fbd43de9b9 Switch to sbt 1.3.2 2019-09-21 16:34:58 +02:00
Scala Steward 25c4fd9662 Update sbt-coursier, sbt-shading to 2.0.0-RC3-6 (#141) 2019-09-17 12:50:53 +02:00
Scala Steward bdbf031566 Update sbt-ci-release to 1.3.2 (#140) 2019-09-17 12:50:38 +02:00
Alexandre Archambault 2a37eb24e2
Remove explicit dependency on sbt-pgp (#139)
sbt-ci-release should pull the right version itself
2019-09-17 12:50:15 +02:00
Alexandre Archambault ea54d912bc
Switch to scala 2.12.10 (#135) 2019-09-13 16:18:37 +02:00
Alexandre Archambault 777bf0ba54
Switch to sbt-coursier 2.0.0-RC3-5 (#134) 2019-09-12 14:34:50 +02:00
Eugene Yokota 5d0793fece Scala 2.12.10 2019-09-11 23:02:50 -04:00
Eugene Yokota e59c447e00 lm-coursier-shaded 2.0.0-RC3-4 2019-09-11 22:53:36 -04:00
Alexandre Archambault 50404c552f
Switch to sbt-ci-release 1.3.1 (#129) 2019-09-11 09:18:46 +02:00
Ethan Atkins a0dc3fc06a Bump sbt dogfood version 2019-09-05 10:20:24 -07:00
Ethan Atkins 7c2a1c858b 1.3.0
-----BEGIN PGP SIGNATURE-----
 
 iQEcBAABAgAGBQJdbz/aAAoJEDeJDimNmiv6Am8IAKv23f6BPIWZFeokzJLkUt8v
 DDLyzIwzE0hTFKInCNhGDCFtACFFgoD8/7t9D5gmLttQr4F9ke94DqWBEP3kbgan
 Qb4rR8uwglPUJmOhzBj2Qs3A8fAXdg3wm/6OlllQzBwCYNxFf3MhmJc3hF4vd+jO
 93JqwbY50entqha9z299+NpLPTKWtVC5R+1pAF+LwObjLOYqlxiGvAcl7jWx1qte
 VN+BabBYT4Hw43kJCutglHu8vttG68m+fqYGxjAmZXYBAbn0NPyE7GHmqkQ5baAz
 DUbc0vU2nY6tpUFNlNfu9PTPnRwHdSjSJTa9Ug7hw24z2oTg2tapNDXIpt6n6ZA=
 =onwH
 -----END PGP SIGNATURE-----

Merge tag 'v1.3.0' into 1.3.x-merge

1.3.0
2019-09-05 10:15:41 -07:00
Eugene Yokota fa3a09368e bump io, lm, and zinc to 1.3.0 2019-09-03 23:51:13 -04:00
Ethan Atkins 7c31e03d27 Improve supershell appender management
To avoid reliance on jvm global variables, we need to share the super
shell state with each of the console appenders that write to the console
out. We only set the progress state for the console appenders for the
screen. This prevents messages that are below the global logging level
from modifying the progress state without preventing them from being
written to other appenders.

The ability to set the ProgressState for each of the console appenders
is added in a companion util PR.

I verified that the test output of io/test was correctly written to the
streams after this change (there were no progress lines in the output).
2019-09-03 15:22:34 -07:00
Ethan Atkins 97f59d20a0 Remove FixScalafmtPlugin
The underlying issue in https://github.com/scalameta/scalafmt/issues/1399
has supposedly been fixed in sbt-scalafmt 2.0.1 and we're on 2.0.2.
2019-09-01 19:20:13 -07:00
Ethan Atkins 49bcef029d Display only valid pages in scripted completions
The tab completions for scripted have long been broken. They display a
number of non-sensical pages like '*0of9' or '*1of0'. Some of the
multiparser changes seem to have caused these invalid
2019-08-31 17:32:34 -07:00
Ethan Atkins 34bdc21adc Bump sbt version to 1.3.0-RC5 2019-08-29 16:20:37 -07:00
Eugene Yokota 4bb5979502 util 1.3.0-M12 2019-08-29 15:08:10 -04:00
Eugene Yokota 377c6dd661 util 1.3.0-M11 2019-08-28 23:56:08 -04:00
Eugene Yokota caaa8f1fb5 io 1.3.0-M17, lm 1.3.0-M8 2019-08-28 23:21:56 -04:00
Eugene Yokota 75e609cba2 Deprecate HTTP resolvers (take 2)
Ref https://github.com/sbt/sbt/issues/4905

This is a companion PR to https://github.com/sbt/librarymanagement/pull/318.

This will print the following warnings:

```
sbt:hello> compile
[warn] insecure HTTP request is deprecated 'Artifact(jsoup, jar, jar, None, Vector(), Some(http://jsoup.org/packages/jsoup-1.9.1.jar), Map(), None, false)'; switch to HTTPS or opt-in using from(url(...), allowInsecureProtocol = true) on ModuleID or .withAllowInsecureProtocol(true) on Artifact
[warn] insecure HTTP request is deprecated 'http://repo.typesafe.com/typesafe/releases/'; switch to HTTPS or opt-in as ("Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/").withAllowInsecureProtocol(true)
[warn] insecure HTTP request is deprecated 'http://repo.typesafe.com/typesafe/releases/'; switch to HTTPS or opt-in as ("Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/").withAllowInsecureProtocol(true)
[warn] insecure HTTP request is deprecated 'http://repo.typesafe.com/typesafe/releases/'; switch to HTTPS or opt-in as ("Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/").withAllowInsecureProtocol(true)
[warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/releases/[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[artifact]-[revision](-[classifier]).[ext]), isMavenCompatible=true, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("Typesafe Ivy Releases", url(...)).withAllowInsecureProtocol(true)
[warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/releases/[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[artifact]-[revision](-[classifier]).[ext]), isMavenCompatible=true, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("Typesafe Ivy Releases", url(...)).withAllowInsecureProtocol(true)
[warn] insecure HTTP request is deprecated 'Patterns(ivyPatterns=Vector(), artifactPatterns=Vector(http://repo.typesafe.com/typesafe/releases/[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[artifact]-[revision](-[classifier]).[ext]), isMavenCompatible=true, descriptorOptional=false, skipConsistencyCheck=false)'; switch to HTTPS or opt-in as Resolver.url("Typesafe Ivy Releases", url(...)).withAllowInsecureProtocol(true)
```
2019-08-28 23:20:09 -04:00
Eugene Yokota b8dd2a514a launcher 1.1.3 2019-08-27 23:24:11 -04:00
Eugene Yokota 4a1b6232e4 deprecate CrossVersion.Disabled 2019-08-22 13:11:10 -04:00
Ethan Atkins 58ff066b64 Bump sbt to use 1.3.0-RC4 2019-08-20 15:28:08 -07:00
Eugene Yokota ecb0375de2 reimplement stack trace suppression
Fixes #4964

Together with https://github.com/sbt/util/pull/211, this brings back stack trace supression for custom tasks by default.
Debug levels logs are available in `last`, and this prints a message informing the user of the fact. BLUE on dark background is difficult to read, so I am chaning the color hilight to MAGENTA.
2019-08-20 13:56:52 -04:00
Eugene Yokota 01e7b5d191 ScalaTest 3.0.8 2019-08-19 02:34:07 -04:00
Eugene Yokota 6d54ad3745 launcher 1.1.2 2019-08-19 02:31:03 -04:00
Eugene Yokota 13b110faef io 1.3.0-M16, util 1.3.0-M9, lm 1.3.0-M6, zinc 1.3.0-M9 2019-08-19 02:27:52 -04:00
Eugene Yokota 153ac7161d bump modules 2019-08-18 23:56:20 -04:00
Scala Steward d61ee8d6c2 Update sbt-coursier, sbt-shading to 2.0.0-RC3-3 (#124) 2019-08-16 10:02:05 +02:00
Eugene Yokota 35bc79063c lm-coursier-shaded 2.0.0-RC3-3 2019-08-15 15:40:43 -04:00
Eugene Yokota 46e92949ed use Relaxed reconciliation strategy by default
Fixes #4720
Ref https://github.com/coursier/coursier/pull/1293
Ref https://github.com/coursier/sbt-coursier/pull/112
2019-08-15 15:40:43 -04:00
Eugene Yokota a22e4889f4 reproduce "Conflicting dependencies"
Ref #4720
2019-08-15 15:40:43 -04:00
Alexandre Archambault 43d24c9609
Remove unused methods in lmcoursier.credentials (#123) 2019-08-15 17:33:52 +02:00
Eugene Yokota 8c16fd0edf switch to using scala-verify 2019-08-14 12:32:49 -04:00
Scala Steward a1f3d24bd9 Update sbt-coursier, sbt-shading to 2.0.0-RC3-2 (#117) 2019-08-13 13:38:22 +02:00
Ethan Atkins 3f026972d5 Bump io to 1.3.0-M15
This fixes a bug with IO.delete on windows.
2019-08-09 12:18:22 -07:00
Ethan Atkins 440a4e2b51 Bump io version to 1.3.0-M14
This adds the PathFilter apis.
2019-08-09 12:18:22 -07:00
Alexandre Archambault c0acb02efd Check that lmcoursier is the only ns in lm-coursier-shaded JAR 2019-08-09 18:15:57 +02:00
Alexandre Archambault cd1b9a39ce
Don't run MIMA checks for borked release (#119)
2.0.0-RC2-3
2019-08-09 18:15:10 +02:00
eugene yokota ebe96c613f Include reconciliation to CoursierConfiguration (#112)
Also re-enable sbt-contraband, and deal with Dependency change.
2019-08-09 11:55:57 +02:00
Ethan Atkins 9a1d874c37 Fix divide by zero 2019-08-08 16:06:13 -07:00
Ethan Atkins d86afb5745 Revert "Merge pull request #4930 from eatkins/2.12.9"
This reverts commit 053b72005d, reversing
changes made to d6b8e0388c.
2019-08-08 11:09:29 -07:00
Scala Steward e0ade0d6ba Update sbt-coursier, sbt-shading to 2.0.0-RC3-1 (#115) 2019-08-06 10:35:32 +02:00
Ethan Atkins b26ce819ca Bump default scala version to 2.12.9
I automatically generated with:

git grep "2.12.8" | \
  cut -d ':' -f1 | uniq | xargs perl -p -i -e "s/2.12.8/2.12.9/"
2019-08-05 13:12:28 -07:00
Eugene Yokota 1df9020249 launcher 1.1.1 2019-08-02 15:56:59 -04:00
Ethan Atkins 4cee23043a Bump scalafmt
The latest version may fix some issues with concurrent builds running
scalafmt: https://github.com/scalameta/scalafmt/issues/1399.
2019-08-01 11:57:29 -07:00
Eugene Yokota 8bd1615e1f use sbt 1.3.0-RC3 2019-07-17 14:53:39 -04:00
Ethan Atkins 1e1c92c57a Bump io version
This fixes the excludeFilter issue: #4868.
2019-07-16 20:35:44 -07:00
Eugene Yokota 0d1ce8ddcf bump io, util, lm, and zinc
Fixes #4841
Fixes #4011
2019-07-15 14:52:35 -04:00
Ethan Atkins a5db9e86d7 Rename typesafe release resolver in sbt build
I was still seeing a number of warnings in the sbt project itself in
spite of 9bb88cd342. This made those go
away.
2019-07-09 14:29:44 -07:00
Alexandre Archambault 00b51d53b2 Tweak mima config 2019-07-08 17:31:36 +02:00
Eugene Yokota 83d35c8ed0 lm-coursier-shaded 2.0.0-RC2-1
Fixes #4823
2019-07-04 23:13:46 +09:00
Scala Steward 22981b947c Update sbt-coursier, sbt-shading to 2.0.0-RC2-1 (#98) 2019-07-03 09:29:51 +02:00
Alexandre Archambault 50c69c3634 Fix mima checks 2019-07-02 14:01:08 +02:00
Alexandre Archambault 8bd4073ec2 Switch to sbt-coursier 2.0.0-RC2 2019-07-01 10:17:53 +02:00
Scala Steward 1a297411b7 Update sbt-coursier, sbt-shading to 1.1.0-M14-4 (#89) 2019-06-20 10:29:47 +02:00
Scala Steward 32e4d44e6d Update sbt-ci-release to 1.2.6 (#88) 2019-06-20 09:42:22 +02:00
Eugene Yokota ef4311acc8 Gigahorse 0.5.0 2019-06-18 23:10:35 -04:00
Eugene Yokota 44451b9a24 sbt 1.3.0-RC2 2019-06-10 17:36:01 +02:00
Eugene Yokota f697e3a907 Zinc 1.3.0-M7 2019-06-09 23:04:32 +02:00
Eugene Yokota dabc4f8c8e IO 1.3.0-M11 2019-06-04 00:14:42 -04:00
Eugene Yokota 81d7edb6c6 lm-coursier-shaded 1.1.0-M14-3
Fixes #4738
2019-05-29 23:48:05 -04:00
Eugene Yokota 19b3704c36 lm-coursier-shaded 1.1.0-M14-3 2019-05-29 02:29:06 -04:00
Ethan Atkins dee744d4b3 Bump zinc dependency
This supports a custom ClassLoaderCache and multiple scala library jars
in the ScalaInstance.
2019-05-28 10:20:38 -07:00
Ethan Atkins 0446ec26cf Bump launcher
This new versions layers the classpath so that the
test-interface-1.0.jar appears before the scala library. This allows us
to bypass reconstructing the AppConfiguration at startup which reduces
the metaspace utilization of sbt.
2019-05-28 09:53:36 -07:00
Alexandre Archambault bed2d2dd28
Easier bin compat for stuff under lmcoursier.definitions (#73) 2019-05-28 12:48:16 +02:00
Eugene Yokota 1f372805c4 sbt 1.2.8 2019-05-22 15:19:59 -04:00
Eugene Yokota 08c49358c7 Reduce concurrency of scalafmtCheck
Ref scalameta/scalafmt#1399
2019-05-17 14:51:07 -04:00
Eugene Yokota 2376de63d1 sbt 1.3.0-RC1 2019-05-17 11:23:02 -04:00
Eugene Yokota 39d9748303 Zinc 1.3.0-M5 2019-05-13 22:40:03 -04:00
Eugene Yokota 3f5a872001 lm-coursier 1.1.0-M14-2 2019-05-13 13:59:58 -04:00
Eugene Yokota d15b406d14 util 1.3.0-M7 2019-05-13 13:40:52 -04:00
Ethan Atkins b6ad077a72 Update io
The new io verion removes the PathFinder <-> Glob implicit translations.
It also has a number of small bug fixes related to directory listing via
FileTreeView.
2019-05-11 21:34:02 -07:00
Eugene Yokota 3a0ce65362 IO 1.3.0-M10, and nightly version
Fixes #305
2019-05-11 19:49:04 -04:00
Eugene Yokota 511dafb0e8 sbt 1.3.0-M3 2019-05-09 17:57:31 -04:00
Eugene Yokota 668a0379eb sbt 1.3.0-M3 2019-05-03 16:43:52 -04:00
Ethan Atkins 2deac62b00 Bump io
The newest version of io repackages a number of classes into the
sbt.nio.* packages. It also changes some of the semantics of glob
related apis. This commit updates all of the usages of the updated apis
within sbt but should have no functional difference.
2019-05-02 14:33:01 -07:00
Eugene Yokota 180af46fe5 bump plugins 2019-04-29 23:31:20 -04:00
Eugene Yokota 2e3ceb2d92 Zinc 1.3.0-M4 2019-04-28 17:27:10 -04:00
Eugene Yokota f5444f7715 Merge branch 'develop' into pr/4617 2019-04-28 17:22:54 -04:00
Eugene Yokota f354a626c7 use lm-coursier-shaded
This uses lm-coursier-shaded, and follows along the changes in https://github.com/coursier/sbt-coursier/pull/58.
2019-04-26 17:33:14 -04:00
Eugene Yokota 38f94a6e31 Coursier dependency resolution integration
This adds dependency to LM implemented using Coursier.
I had to copy paste a bunch of code from sbt-coursier-shared to break the dependency to sbt.

`Global / useCoursier := false` or `-Dsbt.coursier=false` be used to opt-out of using Coursier for the dependency resolution.
2019-04-26 12:25:52 -04:00
Alexandre Archambault 62d1ab0249 Ensure we don't break binary compatibility in lm-coursier 2019-04-26 10:20:59 +02:00
Alexandre Archambault 6bdd0f985a Vendor more stuff in lmcoursier, shade coursier in it
Along with shapeless, argonaut, argonaut-shapeless that coursier depends
on now.
2019-04-25 16:34:08 +02:00
Dale Wijnand e978357e47
In-source zinc's LM integration code 2019-04-25 11:57:37 +01:00
eugene yokota 4074cb32d3
Merge pull request #4605 from eed3si9n/wip/bumplm
bump to lm 1.3.0-M3
2019-04-23 13:52:08 -04:00
Eugene Yokota 2a206a6c40 Util 1.3.0-M6 2019-04-21 16:56:50 -04:00
Eugene Yokota 78c007c910 sbt-scalafmt 2.0.0 2019-04-20 03:23:08 -04:00
Dale Wijnand b38a7486dd
Upgrade to sbt-buildinfo 0.9.0 2019-04-13 09:44:09 +01:00
Eugene Yokota 8790a7b45d bump to lm 1.3.0-M3
This also adds `CustomHttp.okhttpClient` and `CustomHttp.okhttpClientBuilder` settings to experimentally customize HTTP client.
2019-04-05 15:28:49 -04:00
Alexandre Archambault cf3705ff82 Switch to sbt-coursier 1.1.0-M13-4 in build 2019-04-05 09:07:38 +02:00
Eugene Yokota 8c01d9f215 bump to Gigahorse 0.4.0 2019-04-04 00:19:34 -04:00
Eugene Yokota 2f8d9ad8ca move CrossVersion to src/
Fixes sbt/sbt#4595
Ref #290
Ref #280

This is bit of an odd one.

To keep bincompat and also to fix sbt 0.13 compatibility issue we have made `Disabled` companion object extend `Disabled` type.
This actually created a subtle deserialization issue:

```
[error] scala.MatchError: Disabled() (of class sbt.librarymanagement.Disabled$)
[error] 	at sjsonnew.FlatUnionFormats$$anon$5.write(FlatUnionFormats.scala:220)
[error] 	at sjsonnew.JsonWriter.addField(JsonFormat.scala:40)
[error] 	at sjsonnew.JsonWriter.addField$(JsonFormat.scala:37)
[error] 	at sjsonnew.FlatUnionFormats$$anon$5.addField(FlatUnionFormats.scala:208)
[error] 	at sjsonnew.Builder.addField(Builder.scala:43)
[error] 	at sbt.librarymanagement.ModuleIDFormats$$anon$1.write(ModuleIDFormats.scala:46)
```

This is because Contraband generates `flatUnionFormat5[CrossVersion, Disabled, ...]` for all of the subtypes of `CrossVersion`, which uses the runtime type information. Now that `Disabled` object is also in the mix, this created JSON that `CrossVersionFormats` cannot deserialize. This brings the code into src/ so we can write this part manually.
2019-04-01 23:35:39 -04:00
Dale Wijnand 8ce806251c
sbt-whitesource 0.1.14
Avoid coursier failing to find pecoff4j.
2019-04-01 17:25:09 +02:00
Ethan Atkins e868c43fcc Refactor Watched
This is a huge refactor of Watched. I produced this through multiple
rewrite iterations and it was too difficult to separate all of the
changes into small individual commits so I, unfortunately, had to make a
massive commit. In general, I have tried to document the source code
extensively both to facilitate reading this commit and to help with
future maintenance.

These changes are quite complicated because they provided a built-in
like api to a feature that is implemented like a plugin. In particular,
we have to manually do a lot of parsing as well as roll our own
task/setting evaluation because we cannot infer the watch settings at
project build time because we do not know a priori what commands the
user may watch in a given session. The dynamic setting and task
evaluation is mostly confined to the WatchSettings class in Continuous.
It feels dirty to do all of this extraction by hand, but it does seem to
work correctly with scopes.

At a high level this commit does four things:
1) migrate the watch implementation to using the InputGraph to collect
   the globs that it needs to monitor during the watch
2) simplify WatchConfig to make it easier for plugin authors to write
   their own custom watch implementations
3) allow configuration of the watch settings based on the task(s) that
   is/are being run
4) adds an InputTask implemenation of watch.

Point #1 is mostly handled by Point #3 since I had to overhaul how _all_
of the watch settings are generated. InputGraph already handles both
transitive inputs and triggers as well as legacy watchSources so not
much additional logic is needed beyond passing the correct scoped keys
into InputGraph.

Point #3 require some structural changes. The watch settings cannot in
general be defined statically because we don't know a priori what tasks
the user will try and watch. To address this, I added code that will
extract the task keys for all of the commands that we are running. I
then manually extract the relevant settings for each command. Finally, I
aggregate those settings into a single WatchConfig that can be used to
actually implement the watch. The aggregation is generally
straightforward: we run all of the callbacks for each task and choose
the next watch state based on the highest priority Action that is
returned by any of the callbacks.

Because I needed Extracted to pull out the necessary settings, I was
forced to move a lot of logic out of Watched and into a new singleton,
Continuous, that exists in the main project (Watched is in the command
project). The public footprint of Continuous is tiny. Even though I want
to make the watch feature flexible for plugin authors, the
implementation and api remain a moving target so I do not want to be
limited by future binary compatibility requirements. Anyone who wants to
live dangerously can access the private[sbt] apis via reflection or by
adding custom code to the sbt package in their plugin (a technique I've
used in CloseWatch).

Point #2 is addressed by removing the count and lastStatus from the
WatchConfig callbacks. While these parameters can be useful, they are
not necessary to implement the semantics of a watch. Moreover, a status
boolean isn't really that useful and the sbt task engine makes it very
difficult to actually extract the previous result of the tasks that were
run. After this refactor, WatchConfig has a simpler api. There are fewer
callbacks to implement and the signatures are simpler. To preserve the
_functionality_ of making the count accessible to the user specifiable
callbacks, I still provided settings like watchOnInputEvent that accept
a count parameter, but the count is actually tracked externally to
Watched.watch and incremented every time the task is run.

Moreover, there are a few parameters of the watch: the logger and
transitive globs, that cannot be provided via settings. I provide
callback settings like watchOnStart that mirror the WatchConfig
callbacks except that they return a function from Continuous.Arguments
to the needed callback. The Continuous.aggregate function will check if
the watchOnStart setting is set and if it is, will pass in the needed
arguments. Otherwise it will use the default watchOnStart implementation
which simulates the existing behavior by tracking the iteration count in
an AtomicInteger and passing the current count into the user provided
callback. In this way, we are able to provide a number of apis to the
watch process while preserving the default behavior.

To implement #4, I had to change the label of the `watch` attribute key
from "watch" to "watched". This allows `watch compile` to work at the
sbt command line even thought it maps to the watchTasks key. The actual
implementation is almost trivial. The difference between an
InputTask[Unit] and a command is very small. The tricky part is that the
actual implementation requires applying mapTask to a delegate task that
overrides the Task's info.postTransform value (which is used to
transform the state after task evaluation). The actual postTransform
function can be shared by the continuous task and continuous command.
There is just a slightly different mechanism for getting to the state
transformation function.
2019-03-30 16:38:56 -07:00
Eugene Yokota 38018eb69f use sbt 1.3.0-M2 2019-03-24 13:32:20 -04:00
Eugene Yokota 7ae61567a2 log4j 2.11.2 2019-03-23 03:00:08 -04:00
Eugene Yokota db45b456ef switch to official sbt-scalafmt 2019-03-22 17:47:48 -04:00
Eugene Yokota 138c250fe2 Bump modules 2019-03-22 17:38:14 -04:00
Eugene Yokota 83a28b0b3d bump IO and Util 2019-03-22 13:53:17 -04:00
Eugene Yokota 7f19274304 sbt 1.2.8 2019-03-22 13:47:32 -04:00
Ethan Atkins 03cb79bbfc Stop using ---/pair in SbtLauncherPlugin
I'd like to remove '---' and 'pair' in sbt 2 so I'm inlining the logic where
I find it. The '---' method is trivially implemented with a filter on
the sequence of files and filtering the output will not require io,
unlike '---'. For pair, I get confused every time I see it in the code
and it is rarely saving more than a line. While I understand that it may
have been convenient when the code using pair was originally written, I
don't think it is worth the maintenance cost. My specific issue is that
to me pair means tuple2, full stop. The definition of pair is:
def pair[T](mapper: File => Option[T], errorIfNone: Boolean = true): Seq[(File, T)]
First of all, it's not at all obvious when seen inline in the code that
it has the side effect of evaluating PathFinder.get. Moreover, it
doesn't return a general pair, it's a very specific pair with a File in
the first position. I just don't see how using pair improves upon, say:

val func: File => Option[(File, String)] = ???
globs.all.flatMap(func)

or

val func: File => Option[(File, String)] = ???
globs.all.map(f => func(f) match {
  case Some(r) => r
  case None => throw new IllegalStateException("Couldn't evaluate func for $f")
}) // or just define `func = File => (File, String)` and throw on an error
2019-03-22 07:53:41 -07:00
Ethan Atkins f7f7addff7 Bump io
This new version of io breaks source and binary compatibility everywhere
that uses the register(path: Path, depth: Int) method that is defined on
a few interfaces because I changed the signature to register(glob:
Glob). I had to convert to using a glob everywhere that register was
called.

I also noticed a number of places where we were calling .asFile on a
file. This is redundant because asFile is an extension method on File
that just returns the underlying file.

Finally, I share the IOSyntax trait from io in AllSyntax. There was more
or less a TODO suggesting this change. The one hairy part is the
existence of the Alternative class. This class has unfortunately somehow
made it into the sbt package object. While I doubt many plugins are
using this, it doesn't seem worth breaking binary compatibility to get
rid of it. The issue is that while Alternative is defined private[sbt],
the alternative method in IOSyntax is public, so I can't get rid of
Alternative without breaking binary compatibility.

I'm not deprecating Alternative for now because the sbtProj still has
xfatal warnings on. I think in many, if not most, cases, the Alternative
class makes the code more confusing as is often the case with custom
operators. The confusion is mitigated if the abstraction is used only in
the file in which it's defined.
2019-03-22 07:53:41 -07:00
Alexandre Archambault 585634b49d Switch to sbt-coursier 1.1.0-M13-3 in build 2019-03-22 15:11:07 +01:00
Alexandre Archambault 81341d04c0 Remove unused stuff in build 2019-03-22 15:10:57 +01:00
eugene yokota 354f85cecb
Merge pull request #4556 from eed3si9n/wip/progress
Make sure progress thread gets shutdown
2019-03-08 20:41:41 -05:00
Eugene Yokota cd1d2e0994 Util 1.3.0-M5 2019-03-08 19:18:53 -05:00
Alexandre Archambault 852e73e036 Use coursier-based sbt launcher 2019-03-06 10:59:35 +01:00
Alexandre Archambault 2fda1c1c45 Switch to sbt-coursier 1.1.0-M11 in build 2019-02-26 13:29:55 +01:00
Eugene Yokota 1d09a15cb3 sbt 1.2.8 2019-02-23 04:36:06 -05:00
Alexandre Archambault 5377b537b1 Allow to disable publishing Javadoc with -Dpublish.javadoc
Useful when testing the plugin locally
2019-02-18 14:03:54 +01:00
Ethan Atkins 7b8ed4d13f Allow sbt scripted tests to run in parallel
I'm not sure if this is a huge benefit or not, but it's nice to have the
option to run the scripted tests in parallel. The default behavior
should be the same as before.
2019-01-31 17:43:14 -08:00
Ethan Atkins b2c9d3e2cf Use custom classloader for scripted tests
We had previously used reflection to load the bridge class, but
continued using sbt's default classloader. This was problematic because
the metabuild could have a different classpath from that required by the
scripted tests.

Bonus: scalafmt

Fixes: #4514
2019-01-31 17:43:14 -08:00
Eugene Yokota e91b651a03 Zinc 1.3.0-M2, Util 1.3.0-M4 2019-01-29 18:15:40 -05:00
Scala steward cc50de8804 Update sbt-contraband to 0.4.3 (#30) 2019-01-25 11:13:15 +01:00
Scala steward 80f661e9e4 Update sbt-contraband to 0.4.2 (#29) 2019-01-24 01:06:28 +01:00
Eugene Yokota 75c319e6bb make object Disabled extend Disabled
Ref https://github.com/sbt/librarymanagement/pull/280

This is to workaround bincompat error detected by sbt community build.

```
[cats] [error] java.lang.NoSuchMethodError: sbt.librarymanagement.CrossVersion$.Disabled()Lsbt/librarymanagement/Disabled$;
```
2019-01-23 15:06:47 -05:00
Eugene Yokota d58cc75e39 IO 1.3.0-M5 2019-01-16 22:35:12 -05:00
Scala steward 2d8e389787 Update paradise to 2.1.1 (#23) 2019-01-13 23:52:53 +01:00
Scala steward c71ec889a6 Update sbt-pgp to 1.1.2 (#19) 2019-01-13 23:51:22 +01:00
Scala steward da203ab116 Update argonaut-shapeless_6.2 to 1.2.0-M9 (#17) 2019-01-12 15:55:44 +01:00
Ethan Atkins 541d4047e6 Bump scala version 2.12.8
I ran a zsh one liner to generate this:
git grep "2.12.7" | cut -d ':' -f1 | sort | uniq | xargs perl -p -i -e "s/2.12.7/2.12.8/"
2019-01-08 11:11:23 -08:00
Eugene Yokota 6001c4e2e6 sbt-assembly 0.14.9 2019-01-02 14:37:29 -05:00
Eugene Yokota e36ddd64ab Bump Ivy
Ref https://github.com/sbt/ivy/pull/31
2018-12-28 17:15:43 -05:00
Eugene Yokota cb6bb1bfcb Bump dependencis 2018-12-14 00:11:44 -05:00
Alexandre Archambault 6b1a84c563
Add addSbtCoursier helper to sbt-lm-coursier too (#16) 2018-12-12 11:19:05 +01:00
Antonio Cunei cf1034e28e Bump scalatest to 3.0.6-SNAP5 2018-12-08 13:12:26 -05:00
Antonio Cunei 9104bde061 Bump log4j2 to 2.11.1 2018-12-08 13:09:02 -05:00
Alexandre Archambault 4cbb9082cc Allow to adjust plugin name in scripted tests 2018-11-20 11:31:16 +01:00
Alexandre Archambault 55f457a6f7 Add DependencyResolutionInterface implementation in lm-coursier
Originally based on https://github.com/sbt/librarymanagement/pull/270
2018-11-20 11:25:16 +01:00
Eugene Yokota 44074983bc util 1.3.0-M3 2018-11-18 12:12:38 -05:00
Alexandre Archambault 49236d2e8f Remove unused stuff in build 2018-11-14 14:47:52 +01:00
andrea 39493f7869 adding a fatjar release (aka sbt-big) to the build 2018-11-07 08:37:49 +00:00
Eugene Yokota 08b8491c7f Bump IO and Util 2018-10-29 14:25:01 -04:00
Alexandre Archambault a3abe32525 Clean-up build 2018-10-17 14:18:03 +02:00
Alexandre Archambault 3b81a4ad5e Setup sbt-ci-release (WIP) 2018-10-17 14:18:03 +02:00
andrea d18c37974a going on, everything but sbt-plugins looks working 2018-10-16 12:31:07 +01:00
andrea e1ce3a07c5 compilation and tests are ok 2018-10-15 10:34:14 +01:00
Leonard Ehrenfried ed25bcba43 Add implementation of coursier 2018-10-15 10:24:34 +01:00
Eugene Yokota 93c8ab0a2d librarymanagement 1.2.2 2018-10-15 05:13:43 -04:00
Eugene Yokota cb92556c7f sbt-scalafmt 0.15 to align with sbt/sbt 2018-10-15 03:10:00 -04:00
andrea 8b53d4a5c1 Scripted integration test infrastructure with Sbt 2018-10-12 09:18:17 +01:00
eugene yokota 1f8e9c9657
Merge pull request #4410 from eed3si9n/wip/semantic
ThisBuild / enableSemanticDB
2018-10-12 01:00:16 -04:00
Eugene Yokota 9c611f2c07 -Yrangepos for sbt 2018-10-11 15:44:15 -04:00
andrea 0c11bc6add Build time configurable library management 2018-10-09 09:03:55 +01:00
Ethan Atkins 6725b39a84 Bump io to 1.3.0-M3
I had to turn off -Xfatal-warnings in commandProj because after updating
io, commandProj depends on the deprecated EventMonitor class. In #4335,
I stop using EventMonitor, but deprecate the Watched class which is both
defined and used (as an unused attribute key) in commandProj. I think we
can probably get rid of Watched in 1.4.x and certainly in a hypothetical
2.x, so hopefully we can restore -Xfatal-warnings sooner than later.

I also had to replace uses of IO.classLocationFile with
IO.classLocationPath to avoid compilation failures due to
-Xfatal-warnings.
2018-10-08 13:59:34 -07:00
eugene yokota 4867e87eca
Merge pull request #4396 from eed3si9n/wip/progress
"super shell" for sbt
2018-10-06 13:07:11 -04:00
Eugene Yokota c64166ea8d check PluginCross.scala consisntency 2018-10-05 13:32:40 -04:00
Eugene Yokota fa23e785d6 sbt-houserules 0.3.9 2018-10-05 03:03:59 -04:00
Eugene Yokota 6224b1dda1 Util 1.3.0-M2 2018-10-02 11:08:49 -04:00
Eugene Yokota 467d653efb Bump up test frameworks used in scripted tests
This is in part to test these on JDK 11 by bumping tests to Scala 2.12.7.
2018-09-29 23:19:49 -04:00
Alexandre Archambault 4855caa0f5 Move modules under modules/ 2018-09-28 18:36:32 +02:00
Alexandre Archambault 3e05d920a4 Keep only sbt plugins 2018-09-28 18:23:43 +02:00
Eugene Yokota b0ea8ec55f Scala 2.12.7 2018-09-28 04:50:55 -04:00
Eugene Yokota 7c1caaf079 sbt 1.2.3 2018-09-28 04:33:50 -04:00
Eugene Yokota 949b5ec4ba Merge branch '1.2.x' into wip/merge-1.2.x 2018-09-28 04:33:26 -04:00
Eugene Yokota fb168d24bb Scala 2.12.7 2018-09-27 12:38:39 -04:00
Alexandre Archambault 49f7654b59
Use scalajs-bundler (#907) 2018-09-26 17:10:22 +02:00
Alexandre Archambault 528c2adc2f
Switch to latest scalajs-react, split web module sources (#906) 2018-09-26 12:09:29 +02:00
Alexandre Archambault dd7c8c19d4
Switch to sbt 1.2.3 (#887) 2018-09-25 12:30:30 +02:00
Alexandre Archambault db1884a84e Remove 2.10 stuff 2018-09-24 15:03:50 +02:00
Eugene Yokota 02475c7a66 -Xfatal-warnings 2018-09-21 01:16:55 -04:00
Alexandre Archambault fd6e56f2f8 Silence slf4j in proxy tests 2018-09-19 17:55:20 +02:00
Eugene Yokota ef49a95b7d address more warnings 2018-09-18 17:45:24 -04:00
Eugene Yokota 4b23036c63 contraband 0.4.1 2018-09-18 16:56:19 -04:00
Eugene Yokota 3e1dac5161 -Xfatal-warnings in most subprojects 2018-09-18 11:47:55 -04:00
Eugene Yokota f2bc786fd1 cleaning up a few compiler warnings 2018-09-17 22:30:14 -04:00
eugene yokota 8af7a5acae
Merge pull request #4358 from eed3si9n/wip/license
Apache License 2.0
2018-09-14 11:11:17 -04:00
Eugene Yokota 0843cd6a3c sbt 1.2.3 2018-09-14 03:28:12 -04:00
Eugene Yokota 45c857d152 Bump modules 2018-09-14 03:16:17 -04:00
Eugene Yokota f4ae038023 Fix single repo emulation script
Fixes #4330
Ref 5b179a2611 (diff-fdc3abdfd754eeb24090dbd90aeec2ce)
2018-08-24 06:25:40 -04:00
Eugene Yokota fa3b0f0313 sbt 1.2.1 2018-08-16 15:55:25 -04:00
Eugene Yokota a1d1c77311 Zinc 1.2.1, IO 1.2.1 2018-08-06 16:46:55 -04:00
Alexandre Archambault 496e40a2be
Updates for 1.1.0-M7 2018-08-02 23:16:59 +02:00
Eugene Yokota 98f15d8c8a 1.2.1-SNAPSHOT 2018-08-01 00:13:09 -04:00
Eugene Yokota 305a8de319 1.2.1-SNAPSHOT 2018-07-30 20:28:42 -04:00
Eugene Yokota 3d5b198f88 Zinc, LM, Util 1.2.0 2018-07-29 22:45:46 -04:00
Eugene Yokota 5dd1e6adc3 Util 1.2.0 2018-07-29 20:34:40 -04:00
Alexandre Archambault 7dee5f65bd
Updates for 1.1.0-M6 2018-07-17 20:12:29 +02:00
Alexandre Archambault d4fff47ebe
Switch to scala-native 0.3.8 (#883) 2018-07-17 11:44:48 +02:00
Eugene Yokota 29fa4fb20c Zinc 1.2.0-M2 2018-07-14 03:17:52 -04:00
Alexandre Archambault 8265c143bb
Updates for 1.1.0-M5 2018-07-10 19:56:57 +02:00
eugene yokota 18602c521d
Merge pull request #4258 from eed3si9n/wip/scripted
scripted-sbt-redux
2018-07-10 10:03:26 -04:00
Eugene Yokota d7dc4b3e29 create scripted-sbt-redux
Fixes #4241
Fixes #4242

This introduces a new subproject named scripted-sbt-redux. The purpose of this new subproject is to workaround the 'sbt.test` package vs `Keys.test` key confusion (#4242) while maintaining the forward compatibility of 0.13.17's sbt cross testing ^^ (#4241).

The new subproject uses `sbt.scriptedtest` package name, and that's the one that will be used by the mothership.

Meanwhile "scripted-sbt" subproject will also be published for compatibility purpose.
2018-07-10 03:13:47 -04:00
xuwei-k f01ff3dd03 simplify build settings. sbt 1.x no longer support old scala versions 2018-07-10 11:51:14 +09:00
xuwei-k b8b9e96bf5 remove unused project/SiteMap.scala
added d6ca66d406
unused since 7f2bd2cc4b
2018-07-09 14:54:24 +09:00
Eugene Yokota c0030d594c LM 1.2.0-M3
Fixes https://github.com/sbt/sbt/issues/3773
Ref https://github.com/sbt/librarymanagement/pull/211
Ref https://github.com/sbt/librarymanagement/pull/253
2018-07-01 03:12:44 -04:00
Sean Sullivan 127241f2c6 cleanup plugins.sbt 2018-06-28 05:59:58 -07:00
Eugene Yokota 17e0042bd8 Util 1.2.0-M2, LM 1.2.0-M2 2018-06-27 21:07:03 -04:00
Eugene Yokota e97c79a243 IO 1.2.0-M2 2018-06-26 19:24:25 -04:00
Eugene Yokota 14b9bd6e7a IO 1.2.0-M2
Fixes https://github.com/sbt/sbt/issues/4223
2018-06-25 17:02:32 -04:00
Alexandre Archambault 8a02ee8f15
Update things (#866) 2018-06-20 16:30:25 +02:00
Eugene Yokota ddf0f4f43d bump modules to 1.2.0-M1 2018-06-18 22:39:40 -04:00
Eugene Yokota 8e1e1e8121 IO, Util 1.2.0-M1 2018-06-18 04:46:51 -04:00
Eugene Yokota 8ec0e0193e sbt-houserules 0.3.7 2018-06-14 02:51:09 -04:00
Eugene Yokota 6b86d05ce6 sbt-houserules 0.3.7 2018-06-14 02:22:38 -04:00
Eugene Yokota c0a0b7db0c Merge branch '1.1.x' into wip/merge-1.1.x 2018-06-14 01:42:01 -04:00
Eugene Yokota 86427c7ce7 Merge branch '1.1.x' into wip/merge-1.1.x 2018-06-12 23:33:47 -04:00
Eugene Yokota 833e61635e IO 1.1.10 and Zinc 1.1.5 2018-05-27 22:38:58 -04:00
sullis 5504f21a1e sbt 1.1.5 (#860) 2018-05-24 16:44:02 +02:00
Alexandre Archambault b926591133
Updates for 1.1.0-M4 2018-05-21 19:47:09 +02:00
Eugene Yokota b849894a36 IO 1.1.8 2018-05-08 17:52:30 -04:00
Eugene Yokota 24946189f0 Zinc 1.1.7 2018-05-07 16:18:46 -04:00
Alexandre Archambault 2a689408f7
Updates for 1.1.0-M3 2018-05-05 13:04:53 +02:00
Eugene Yokota 38d53a941a IO 1.1.7, Zinc 1.1.6 2018-05-05 04:53:34 -04:00
Eugene Yokota 96287f1ad5 Merge branch '1.1.x' into wip/merge-1.1.x 2018-05-04 21:55:50 -04:00
Eugene Yokota 94a57dcf00 Move fakeboot to home
https://github.com/sbt/sbt/pull/4143 kept failing, and while I was debugging,
I noticed that the target that it was downloading scala-compiler was in
/tmp/... for the remote instance.
This moves the fakeboot to a full path, which should make the build
less susceptible to failure due to random network issues.
2018-05-04 19:37:42 -04:00
Eugene Yokota 8409735077 Merge branch '1.1.x' into wip/merge-1.1.x 2018-05-04 12:40:43 -04:00
Alexandre Archambault 3ebe181152
Switch to scala 2.12.6 (#851) 2018-04-30 10:51:04 +02:00
Eugene Yokota 28e90ea09b Merge branch '1.1.x' into wip/merge-1.1.x 2018-04-29 14:31:30 -04:00
Alexandre Archambault 66c7f7e900
Updates for 1.1.0-M2 2018-04-28 15:56:42 +02:00
Eugene Yokota 3b6df7d105 Scala 2.12.6 and other dependencies
sbt 1.1.4
Scala 2.12.6
ScalaCheck 1.14.0
ScalaTest 3.0.5
2018-04-28 03:58:44 -04:00
Seth Tisue 4477a42b5a upgrade Scala 2.12.4 -> 2.12.6
I have no specific user-visible benefit in mind other than fewer
JARs to download for people who are on current versions of things
2018-04-27 23:20:51 -04:00
Dale Wijnand 490f57c779
Upgrade to sbt-scalafmt 1.15 & scalafmt 1.4.0 2018-04-24 16:09:48 +01:00
Denys Shabalin 07989f0040 Upgrade to Scala Native 0.3.7 (#849) 2018-04-24 11:42:14 +02:00
Dale Wijnand 065b65a05e
Drop -Ywarn-unused:-params
Previously we'd get in the build logs:

    [error] params cannot be negated, it enables other arguments

and lots of wawrnings.

Now we just get lots of warnings without the non-fatal error message.
2018-04-24 07:29:49 +01:00
Dale Wijnand a8c1239e32
Merge pull request #4058 from retronym/topic/quietly-cancel
Avoid printing RejectedExectionExeption stack trace after cancellation
2018-04-11 12:00:03 +01:00
Heikki Vesalainen e5a37cad42
Update to Jline 2.14.6
This version of Jline fixes three things for Emacs users:
- ANSI colors are now enabled for Emacs.
- Terminal echo is now disabled for Emacs.
- History is enabled for all dump terminals.
2018-04-11 00:10:56 +03:00
Dale Wijnand 54a6262f7f
Merge pull request #4041 from dwijnand/Scoped.equals
Give Scoped a default equals/hashCode implementation
2018-04-10 06:10:55 +01:00
Eugene Yokota b9eb7764f3 Zinc 1.1.5 2018-04-09 12:37:42 -04:00
Jason Zaugg 58bb203858 Upgrade to latest sbt-houserules 2018-04-08 14:36:41 +10:00
Jason Zaugg 1abb0a3641 Upgrade to latest sbt-houserules 2018-04-08 14:31:48 +10:00
Eugene Yokota 32385c8bb7 launcher 1.0.4 2018-04-06 18:36:10 -04:00
Eugene Yokota 8781c16cbb bump IO and Zinc 2018-04-06 16:30:33 -04:00
Eugene Yokota 707bf08c4e Add new closewatch mode 2018-04-05 20:29:26 -04:00
Dale Wijnand 3692db9068
Give Scoped a default equals/hashCode implementation 2018-04-04 15:04:53 +01:00
Dale Wijnand 218621b745
Merge pull request #4061 from eed3si9n/wip/perf
document profiling tools
2018-04-04 14:22:44 +01:00
Alexandre Archambault e4361d6fde
Only specify scala release versions in one place (#830) 2018-04-04 11:30:59 +02:00
Eugene Yokota 56ffac22b7 document profiling tools 2018-04-04 01:29:56 -04:00
Jason Zaugg 0b801e7598 Bump Scala version to 2.12.5 2018-04-03 14:25:59 +10:00
Alexandre Archambault 4e4aa7cfa2 Switch to scala 2.12.5 2018-03-31 15:30:27 +02:00
Heikki Vesalainen e30c0fbd1e Update to Jline 2.14.6
This version of Jline fixes three things for Emacs users:
- ANSI colors are now enabled for Emacs.
- Terminal echo is now disabled for Emacs.
- History is enabled for all dump terminals.
2018-03-28 14:31:21 +00:00
Alexandre Archambault 2e7df0e8dd
Bump a few stuff (#826)
* Bump a few stuff

* Update README

Looks like tut changed its default variable name logic
2018-03-28 16:16:15 +02:00
Eugene Yokota c2837c7714 Merge branch 'wip/bumpsbt' into wip/merge-1.1.x 2018-03-27 10:16:10 -04:00
Eugene Yokota f607b6c73f sbt 1.1.2 2018-03-27 06:52:32 -04:00
Eugene Yokota 1073513b49 Merge branch '1.1.x' into wip/merge-1.1.x 2018-03-27 06:19:28 -04:00
Eugene Yokota e0eb46a99e sbt 1.1.2 2018-03-26 22:50:03 -04:00
Eugene Yokota 9d2d81645b bump modules 2018-03-24 11:02:40 +09:00
Eugene Yokota a29a12054a bump contraband to 0.4.0
Ref https://github.com/sbt/contraband/issues/119
2018-03-23 22:21:05 +09:00
Eugene Yokota f3b06bc18e bump util to 1.1.3 2018-03-23 18:13:59 +09:00
Alexandre Archambault e1800e74a9 Remove milestone from MIMA checks
And ensure the ones to come aren't added either
2018-03-19 10:48:49 +01:00
Alexandre Archambault f8884d4170 Re-enable Nexus proxy tests, launch the mirrors from the tests 2018-03-16 13:44:43 +01:00
Alexandre Archambault 44b4ffee84
Updates for 1.1.0-M1 2018-03-14 12:29:36 +01:00
Dale Wijnand 512684f3e0
Merge pull request #217 from ryandbair/jsch
Bump to latest jsch to support stronger key exchange algorithms
2018-03-13 10:40:38 +00:00
Alexandre Archambault b1fde7291d Don't require manually running npm install before the JS tests 2018-03-12 21:50:35 +01:00
Alexandre Archambault dc2e4996f4 Require Java 8 from now on 2018-03-12 21:50:35 +01:00
Alexandre Archambault 5bd162d5fe Tweak scalac options 2018-03-12 21:50:35 +01:00
Dale Wijnand dd4de14593
Upgrade to contraband 0.4.0 2018-03-12 15:39:07 +00:00
Ryan Bair 14cc5ea626 Bump to latest jsch to support stronger key exchange algorithms 2018-03-09 08:43:41 -05:00
Dale Wijnand 866b0a1d3f
Upgrade to contraband 0.3.3 2018-03-09 12:54:15 +00:00
Dale Wijnand ed5a8c118b
Upgrade to contraband 0.3.3 2018-03-08 12:49:38 +00:00
Dale Wijnand 9d808a389c
Update PublishBinPlugin to current sbt 2018-03-06 11:54:13 +00:00
Dale Wijnand 8187a51d31
Cleanup local Scripted plugin 2018-03-06 11:54:11 +00:00
Dale Wijnand 41249f707a
Define local Scripted plugin keys with macros 2018-03-06 11:54:11 +00:00
Dale Wijnand b9e3d6aa2d
Define local Scripted plugin keys in Global scope 2018-03-06 11:54:11 +00:00
Dale Wijnand 90cd60f3b9
Merge branch '1.1.x' into merge-1.1.x-into-1.x
* 1.1.x:
  Use Java's redirectInput rather than sys.process's connectInput
  Re-write toolboxClasspath to use sbt-buildinfo
  Cleanup generateToolboxClasspath
  Upgrade to sbt-buildinfo 0.8.0
  Fix how fullClasspath is defined in TestBuildInfo
  delete buildinfo.BuildInfo from sbt main

Conflicts:
	project/plugins.sbt
2018-02-28 10:30:53 +00:00
Sean Sullivan 2747d1e55a
Update sbt plugins (#792)
sbt-release 1.0.7, sbt-sonatype 2.3, sbt-updates 0.3.4
2018-02-26 11:36:16 +01:00
Dale Wijnand edb828a8d7
Upgrade to sbt-buildinfo 0.8.0 2018-02-23 13:19:05 +00:00
Alexandre Archambault 0123a377e2 Bump version, remove 1.0.x mima checks 2018-02-22 18:17:10 +01:00
Alexandre Archambault b093c77193 Tweak comment 2018-02-22 11:30:51 +01:00
eugene yokota e078c126d1
Merge pull request #3964 from sbt/1.1.x
1.1.x
2018-02-21 15:12:44 -05:00
Alexandre Archambault 4adf65f7e9
Automatically initialize git submodules if necessary (#785) 2018-02-21 11:26:16 +01:00
Eugene Yokota 594738bb9c add publishLocalAllModule command 2018-02-21 02:28:33 -05:00
Dale Wijnand 76e2f550ec
Merge branch '1.1.x' into merge-1.1.x-into-1.x
* 1.1.x:
  Update mimaPreviousArtifacts/sbt.version
  Introduce SBT_GLOBAL_SERVER_DIR env var to override too long paths
  Handle very long socket file paths on UNIX

Conflicts:
	project/build.properties
2018-02-14 14:38:07 +00:00
Dale Wijnand fce6d46bf3
Merge branch '1.1.x' into merge-1.1.x-into-1.x
* 1.1.x:
  Update version/mimaPreviousArtifacts/sbt.version
  clarify intent
  avoid deadlocks on spotty connections, fix https://github.com/sbt/sbt/issues/3738
  Add version 1.1.2 to mimaPreviousArtifacts
2018-02-14 11:02:29 +00:00
Dale Wijnand e8d1a30474
Update mimaPreviousArtifacts/sbt.version 2018-02-14 10:53:37 +00:00
Dale Wijnand bfe347cd22
Update version/mimaPreviousArtifacts/sbt.version 2018-02-14 10:46:24 +00:00
Eugene Yokota 3db0e09b33 Merge branch '1.1.x' into wip/1.1.1
# Conflicts:
#	main/src/main/scala/sbt/internal/CommandExchange.scala
#	main/src/main/scala/sbt/internal/ConsoleProject.scala
#	notes/1.0.2/sample.md
#	notes/1.1.1/sample.md
#	notes/sample.md
#	sbt/src/test/scala/sbt/ServerSpec.scala
2018-02-09 23:55:23 -05:00
Leonard Ehrenfried be486c01be Upgrade to sbt 1.1.1 2018-02-09 14:14:59 +01:00
Leonard Ehrenfried c30421e145 Upgrade to sbt 1.1.0, update sbt-pack 2018-02-09 14:14:58 +01:00
Alexandre Archambault 37aff72ada
Updates for 1.0.2 2018-02-09 11:26:37 +01:00
Eugene Yokota 7df32cff84 Zinc 1.1.1, LM 1.1.3, IO 1.1.4 2018-02-08 01:06:09 -05:00
eugene yokota 4a8adbb8e0
Merge pull request #3923 from dwijnand/PluginCross-scala-versions
Upgrade Scala versions that ^^ uses
2018-02-07 22:02:10 -05:00
Eugene Yokota a2347332ab Use ipcsocket 2018-02-07 17:46:23 -05:00
Alexandre Archambault 506e14a90b Switch cli to scala 2.12 and latest case-app 2018-02-07 10:23:07 +01:00
Dale Wijnand 2db5c77442
Upgrade Scala versions that ^^ uses
Refs #3907
2018-02-06 16:02:45 +00:00
Alexandre Archambault 9c274c23d6 Update release process
tut seems not to work anymore here in 2.12…
2018-02-03 18:12:28 +01:00
Alexandre Archambault d36cf0c57b Updates for 1.0.1 2018-02-03 18:11:16 +01:00
Alexandre Archambault 886b4647d9 Update release process 2018-02-01 23:59:46 +01:00
Alexandre Archambault 695c677269 Updates for 1.0.1-M1 2018-02-01 23:57:24 +01:00
Eugene Yokota 50f3dd2e20 Use ipcsocket 2018-01-30 23:21:10 -05:00
Dale Wijnand e3f33ddf7d
Merge pull request #3897 from dwijnand/misc
Misc tweaks and cleanups
2018-01-30 13:02:55 +00:00
Dale Wijnand bee69ebb92
Get rid of old MavenResolverPluginTest 2018-01-30 07:29:17 +00:00
Eugene Yokota c20029ce16 Work around package name confusion
This works around the name conflict between sbt.test package and sbt.Keys.test.

1. sbt.test package is renamed to sbt.scriptedtest. This allows 1.0 plugins and builds to use `test` to mean `Keys.test`.
2. To keep binary compatibility for sbt 0.13 scripted, I am adding `sbt.test.ScriptedRunner` and `sbt.test.ScriptedTests` in `scripted-plugin` artifact.
3. Another affected user is Giter8 plugin that uses ScriptedPlugin. Since the intereactions are limited to `sbt.ScriptedPlugin.*`, we should be fine here. - https://github.com/foundweekends/giter8/blob/v0.11.0-M2/plugin/src/main/scala-sbt-1.0/giter8/SBTCompat.scala
2018-01-22 14:03:02 -05:00
Eugene Yokota c0ac7061db Reorganize existing tests 2018-01-12 23:10:15 -05:00
Dale Wijnand cdba3e6bea
Add, configure & enforce sbt-whitesource 2018-01-11 14:13:21 +00:00
Dale Wijnand 039cb1591e
Add, configure & enforce sbt-whitesource 2018-01-11 14:02:45 +00:00
Dale Wijnand 70fa5f13cb Update, extract & override scala versions for plugins (#730)
* Update, extract & override scala versions for plugins

* Only override crossScalaVersions in sbt-plugins

That way (hopefully) the current CI setup using ++ doesn't break. See #730
2018-01-10 17:24:16 +01:00
Dale Wijnand cb2042c283
Upgrade to sbt 1.1.0 2018-01-10 16:08:13 +00:00
Dale Wijnand 0c187fa9ec
Upgrade to sbt 1.1.0 2018-01-10 16:06:25 +00:00
Dale Wijnand 7953cc4d67
Enable reflective class in the hackaround of tweakedScriptedTask 2018-01-09 14:49:57 +00:00
Dale Wijnand a0b27d29b7
Merge pull request #3854 from sbt/1.1.x
1.1.x
2018-01-08 11:16:26 +00:00
Eugene Yokota 47d66eef0f Zinc 1.1.0 2018-01-05 14:07:04 -05:00
Alexandre Archambault 0bbdcb8446 Remove remaining sbt launcher stuff 2017-12-28 11:47:04 +01:00
Alexandre Archambault 0002798221 Remove sbt-launcher project
Now lives in its own repo at https://github.com/coursier/sbt-launcher
2017-12-28 10:19:05 +01:00
Alexandre Archambault d3360d640d Workaround for method not found for sbt 0.13 scripted tests 2017-12-27 16:38:21 +01:00
Alexandre Archambault 948361e429 More refined, and manual, activation of scripted
Allows to do a `sbt ++2.11.11 test:compile`, without the sbt plugin
modules or scripted being an issue.
2017-12-27 16:38:21 +01:00
Alexandre Archambault 6f37e95be6 Switch to sbt 1.0.4 2017-12-27 16:38:21 +01:00
Alexandre Archambault e97eaa18b5 Remove http-server module
Now has its own repo at https://github.com/coursier/http-server

Same Maven coordinates as before, `io.get-coursier:http-server_2.12`
2017-12-27 02:18:35 +01:00
Yi Cheng a4258f48ce
Add json report to fetch and local exclusion option (#692)
This patch introduces changes for cli with json output #659. Format as follows:
```
{
  "conflict_resolution": {
    "org:name:version" (requested): "org:name:version" (reconciled) 
  },
  "dependencies": [
    {
      "coord": "orgA:nameA:versionA",
      "files": [
        [
          <classifier>,
          <path>
        ]
      ],
      "dependencies": [ // coodinates for its transitive dependencies
        <orgX:nameX:versionX>,
        <orgY:nameY:versionY>,
      ]
    },
    {
      "coord": "orgB:nameB:versionB",
      "files": [
        [
          <classifier>,
          <path>
        ]
      ],
      "dependencies": [ // coodinates for its transitive dependencies
        <orgX:nameX:versionX>,
        <orgZ:nameZ:versionZ>,
      ]
    },
  ]
}
```
For example:
```
fetch -t org.apache.avro:trevni-avro:1.8.2  org.slf4j:slf4j-api:1.7.6 --json-output-file x.out
  Result:
├─ org.apache.avro:trevni-avro:1.8.2
│  ├─ org.apache.avro:trevni-core:1.8.2
│  │  ├─ org.apache.commons:commons-compress:1.8.1
│  │  ├─ org.slf4j:slf4j-api:1.7.7
│  │  └─ org.xerial.snappy:snappy-java:1.1.1.3
│  └─ org.slf4j:slf4j-api:1.7.7
└─ org.slf4j:slf4j-api:1.7.6 -> 1.7.7
```
would produce the following json file:
```
$ jq < x.out 
{
  "conflict_resolution": {
    "org.slf4j:slf4j-api:1.7.6": "org.slf4j:slf4j-api:1.7.7"
  },
  "dependencies": [
    {
      "coord": "org.apache.avro:trevni-core:1.8.2",
      "files": [
        [
          "",
          "/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/avro/trevni-core/1.8.2/trevni-core-1.8.2.jar"
        ]
      ],
      "dependencies": [
        "org.slf4j:slf4j-api:1.7.7",
        "org.xerial.snappy:snappy-java:1.1.1.3",
        "org.apache.commons:commons-compress:1.8.1"
      ]
    },
    {
      "coord": "org.apache.avro:trevni-avro:1.8.2",
      "files": [
        [
          "",
          "/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/avro/trevni-avro/1.8.2/trevni-avro-1.8.2.jar"
        ]
      ],
      "dependencies": [
        "org.apache.avro:trevni-core:1.8.2",
        "org.slf4j:slf4j-api:1.7.7",
        "org.xerial.snappy:snappy-java:1.1.1.3",
        "org.apache.commons:commons-compress:1.8.1"
      ]
    },
    {
      "coord": "org.slf4j:slf4j-api:1.7.7",
      "files": [
        [
          "",
          "/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar"
        ]
      ],
      "dependencies": []
    },
    {
      "coord": "org.apache.commons:commons-compress:1.8.1",
      "files": [
        [
          "",
          "/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar"
        ]
      ],
      "dependencies": []
    },
    {
      "coord": "org.xerial.snappy:snappy-java:1.1.1.3",
      "files": [
        [
          "",
          "/Users/yic/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.1.3/snappy-java-1.1.1.3.jar"
        ]
      ],
      "dependencies": []
    }
  ]
}

```
2017-12-26 10:46:35 -08:00
Eugene Yokota 7f0ff7c90a IO 1.1.3, Zinc 1.1.0-RC4 2017-12-22 11:45:31 -05:00
Eugene Yokota fa472179f5 sbt 1.0.4 2017-12-22 08:35:26 -05:00
Eugene Yokota b53c37b54f IO 1.1.3 and Util 1.1.2 2017-12-22 08:35:11 -05:00
Antonio Cunei 94e36a14c8 Change modifiedTime definitions 2017-12-22 01:55:37 +01:00
Antonio Cunei ebff7919e9 Revert *ModifiedTime() calls to *lastModified*() calls
There are just too many instances in which sbt's code relies on
the `lastModified`/`setLastModified` semantics, so instead of moving
to `get`/`setModifiedTime`, we use new IO calls that offer the new
timestamp precision, but retain the old semantics.
2017-12-22 01:55:37 +01:00
Antonio Cunei 72dd0064c3 Change modifiedTime definitions 2017-12-22 00:55:24 +01:00
Antonio Cunei 42f23e62aa Revert *ModifiedTime() calls to *lastModified*() calls
There are just too many instances in which sbt's code relies on
the `lastModified`/`setLastModified` semantics, so instead of moving
to `get`/`setModifiedTime`, we use new IO calls that offer the new
timestamp precision, but retain the old semantics.
2017-12-22 00:27:30 +01:00
Eugene Yokota 13e1862c2f set jna.nosys to true programmatically
Previously I was seeing the error upon the first scripted test. I thought it was because Main was somehow not early enough. It might just be because scripted technically runs as part of the build.

Ref sbt/io#110
2017-12-21 00:08:56 -05:00
Eugene Yokota 4c3b770b27 bump to sbt 1.0.4 2017-12-19 20:57:09 -05:00
eugene yokota 34d311f9ce
Merge pull request #3807 from dwijnand/remove-warnings
Remove warnings
2017-12-19 13:18:59 -05:00
Dale Wijnand 257712c052
Merge pull request #3824 from eed3si9n/wip/windows
Add Windows testing
2017-12-19 17:01:13 +00:00
Dale Wijnand ad2d71cae4
Upgrade to sbt-houserules 0.3.5 2017-12-19 13:25:58 +00:00
Dale Wijnand abf370adc3
Upgrade to sbt-houserules 0.3.5 2017-12-19 13:23:44 +00:00
Eugene Yokota 294110e2b8 Remove JNA from sbt/sbt
There's a conflict in JNA version difference between sbt and IO.

Fixes #3821
2017-12-19 00:44:31 -05:00
Alexandre Archambault 1c134dc2a6 Update test fixtures if snapshot version changes 2017-12-18 12:00:10 +01:00
Eugene Yokota 40b86ae412 bump modules and plugins 2017-12-16 12:22:42 -05:00
Antonio Cunei 699b53262a Convert lastModified() to sbt.io.Milli.getModifiedTime(), more precise 2017-12-16 12:22:42 -05:00
Eugene Yokota 68356306ec bump modules and plugins 2017-12-15 14:07:05 -05:00
Antonio Cunei ca2617e99e Convert lastModified/setLastModified calls to sbt.io.Milli calls (more precise) 2017-12-15 14:06:16 -05:00
Alexandre Archambault 384f7ecc47
Updates for 1.0.0 2017-12-14 12:50:01 +00:00
Dale Wijnand 1f1806a4f1
Re-enable unused warnings 2017-12-12 13:02:18 +00:00
Dale Wijnand bbddb26224
2.12.4 2017-12-12 13:02:18 +00:00
Alexandre Archambault cbf3ff5558
Updates for 1.0.0-RC14 2017-12-12 02:05:09 +01:00
Alexandre Archambault ee9c61393c Move FromSbt / ToSbt helpers to separate module 2017-12-11 10:07:04 +01:00
Eugene Yokota d193d302f0 lm 1.1.0 2017-11-29 22:31:57 -05:00
Eugene Yokota ff004993e0 Bump modules 2017-11-29 16:53:40 -05:00
Eugene Yokota a6eb1260c8 Merge branch '1.0.x' into wip/bump 2017-11-29 16:45:02 -05:00
wpopielarski 73b0034cfc textDocument/definition for LSP / VS Code
This is an implementation of `textDocument/definition` request.
Supports types only, and only in case when type is found in Zinc Analysis. When source(s) are found then editor opens potential source(s).
This simple implementation does not use semantic data.

During the processing of `textDocument/didSave`, we will start collecting the location of Analysis files via `lspCollectAnalyses`.
Later on, when the user asked for `textDocument/definition`, sbt server will invoke a Future call to lspDefinition, which direct reads the files to locate the definition of a class.
2017-11-28 13:27:07 -05:00
Dale Wijnand 9c32c16ade
Create RunFromSourceMain & "sbtOn" command 2017-11-28 17:27:02 +00:00
Dale Wijnand 297fd5d24b
Merge pull request #3742 from eed3si9n/wip/socket
IPC Unix domain socket / Windows named pipe
2017-11-28 16:04:11 +00:00
Eugene Yokota f785750fc4 IPC Unix domain socket for sbt server
In addition to TCP, this adds sbt server support for IPC (interprocess communication) using Unix domain socket and Windows named pipe.

The use of Unix domain socket has performance and security benefits.
2017-11-27 21:37:31 -05:00
Eugene Yokota 1d8d1a1622 Zinc 1.0.5 2017-11-26 02:26:04 -05:00
xuwei-k 6b4093dc15 update specs2 4.0.1 2017-11-26 13:59:50 +09:00
Eugene Yokota 309fdfac31 Bump modules 2017-11-25 00:27:45 -05:00
eugene yokota a8b53a23be
Merge pull request #184 from eed3si9n/wip/bump_util
Bump IO and Util
2017-11-24 17:26:27 -05:00
Eugene Yokota 7f3954d8bb Bump IO and Util 2017-11-24 17:14:46 -05:00
Antonio Cunei 43a976d42c Port of sbt/zinc#441 to sbt/sbt 1.0.x 2017-11-16 15:15:21 +01:00
Dale Wijnand f4241c4d65
Bump to latest Ivy
Includes sbt/ivy#27 which fixes a JDK 9 issue.
Similar to PR sbt/launcher#46.
2017-11-15 15:58:29 +00:00
Eugene Yokota afe9757da0 Bump launcher to 1.0.2
Fixes #3676
2017-11-07 22:54:05 -05:00
Alexandre Archambault a10b4ad0b0
Updates for 1.0.0-RC13 2017-10-29 15:08:20 +01:00
Alexandre Archambault 5377ce71df
Updates for 1.0.0-RC12-1 2017-10-28 13:33:10 +02:00
Alexandre Archambault d27c0ee46e Quick hack to make publishSigned work again with sbt 1.0.2
Ideally, the scripted tests should still be run with sbt 1.0.1 too, to
ensure there are no regression with it, but the current setup doesn't
make that easy.
2017-10-27 17:19:34 +02:00
Eugene Yokota 84f03b64be Bump modules
Fixes #3519
Fixes #3586
Fixes #3569
Fixes #3573
2017-10-26 21:13:48 -04:00
Alexandre Archambault afae0cd7f1 Bump asm version (used by shading)
Seems to fix java.lang.IncompatibleClassChangeError errors when using
shaded code. Release of coursier using the next one for shading should
be fine with Java 9 thanks to that.
2017-10-26 16:07:54 +02:00
Alexandre Archambault 34cce59b65 Minor tweaks 2017-10-26 01:36:55 +02:00
Dale Wijnand e0d8079083
Scalafmt 1.3, sbt-scalafmt 1.14 2017-10-24 12:23:37 +01:00
Dale Wijnand 78c5ee92d3
Track sources in base directory non-recursively
Using a recursive Source meant that ~ looked into target. If you have
any source generators and use ~ with anything the invokes them, like
~compile, that means that the act of generating sources triggers ~ to
re-execute compile (perhaps only on macOS where the NIO WatchService
just polls, after an initial delay).

Requires sbt/io#78

Fixes #3501
2017-10-24 11:09:00 +01:00
Eugene Yokota dcdbcd4979 Bump Ivy to 2.3.0-sbt-1b57d3bbc08ecf671169fd548918da18c91f77be
Ref https://github.com/sbt/ivy/pull/26
Ref sbt/launcher#38

JDK 9 complains when java.lang.reflect.Field#setAccessible is called. So on
JDK 9 to get the default Authenticator on JDK you can just call
Authenticator.getDefault(). However ivy targets JDK 6..

So on JDK < 9 we do what we've always done, and on JDK 9+ we use java
reflection to call Authenticator.getDefault(), which is public and doesn't
require setAccessible(true).
2017-10-24 03:16:17 -04:00
Alexandre Archambault 5f5b127563 Bump dependencies 2017-10-21 02:30:51 +02:00
Alexandre Archambault ce2a01af40 Bump plugins 2017-10-21 01:53:25 +02:00
Eugene Yokota ae860d5a7d Bump to Scala 2.12.4
Uses Scala 2.12.4 for the build definition. This includes fix for runtime reflection of empty package members under Java 9.

Fixes sbt/sbt#3587
2017-10-20 00:23:29 -05:00
Alexandre Archambault 5645f8fe6d Remove scoverage
It was unused for now, it may be added back later
2017-10-20 02:48:11 +02:00
Simon Schäfer ebac491501 Disable patvars warnings
There are simply too many unused pattern vars and I don't want to fix
them right now. And watching all of the warnings everywhere is annoying.
2017-10-19 13:07:24 +02:00
Simon Schäfer 30d59d356d Disable warnings for unused params and implicits
There are many warnings because unused parameter are everywhere.
2017-10-19 13:07:24 +02:00
Dale Wijnand a41727fb17
Add, configure & enforce file headers 2017-10-05 09:03:40 +01:00
Eugene Yokota 0c1c380f71 begins language server protocol
This is the first cut for the Language Server Protocol on top of server that is still work in progress.

With this change, sbt is able to invoke `compile` task on saving files in VS Code.
2017-10-02 04:01:13 -04:00
Alexandre Archambault ccd102e2ec Remove scripted workaround
Shouldn't be required anymore since
09c5ce417a
2017-09-23 18:00:38 +02:00
Eugene Yokota 348a077797 implement tokenfile authentication 2017-09-21 23:05:48 -04:00
Alexandre Archambault 2c4c3aa3d3 Fix README updating in release process 2017-09-20 16:57:31 +02:00
Alexandre Archambault 1252f2b8d5 Use new helper to get coursier version 2017-09-20 16:55:15 +02:00
Alexandre Archambault 799619de6e
Updates for 1.0.0-RC12 2017-09-20 15:13:49 +02:00
Eugene Yokota 87e95e3a51 bump lm to 1.0.2 2017-09-16 01:43:42 -04:00
Eugene Yokota 4bd7010a4f bump Zinc to 1.0.1
Fixes #2884
2017-09-16 00:38:22 -04:00
Eugene Yokota 01e8f609e8 lm 1.0.1 2017-09-10 14:13:51 -04:00
Alexandre Archambault 964151392b Allow exclusions to have no explicit artifact ID in POM 2017-09-04 02:01:36 +02:00
Alexandre Archambault 11486ea2ad
Updates for 1.0.0-RC11 2017-08-30 12:57:51 +02:00
Eugene Yokota afd5ff03f8 WatchSource = sbt.internal.io.Source
Ref #3438
2017-08-28 00:56:27 -04:00
Eugene Yokota 0e77d9f8a2 Merge branch 'wip/npe' into wip/use_sbt1 2017-08-26 15:37:19 -04:00
Eugene Yokota 12be2e28a6 Use sbt 1.0.0 2017-08-26 14:40:58 -04:00
Eugene Yokota 03b531ca1e Use sbt 1.0.0 2017-08-26 13:42:11 -04:00
Eugene Yokota c74d397cd7 Bump Util for NPE fix attempt
Ref sbt/util#119
2017-08-26 01:39:51 -04:00
Dale Wijnand ec54269467 Merge pull request #3428 from SethTisue/be-2.13-friendly
be 2.13 friendly
2017-08-14 10:39:08 +01:00
Seth Tisue f5d51bf387 be 2.13 friendly
for the Scala 2.13 community build
2017-08-12 07:35:26 -07:00
Dale Wijnand 805b76f3d4
Add back, re-configure & re-enable Scalafmt 2017-08-10 16:35:23 +01:00
Dale Wijnand 63e63f05fa
Add back, re-configure & re-enable Scalafmt 2017-08-10 12:04:58 +01:00
Eugene Yokota ffacc62b86 IO 1.0.0, Util 1.0.0, LM 1.0.0, Zinc 1.0.0 2017-08-09 23:56:59 -04:00
Eugene Yokota 3258e7b413 IO 1.0.0, Util 1.0.0 2017-08-09 21:14:57 -04:00
Alexandre Archambault 6cc60bea1a
Updates for 1.0.0-RC10 2017-08-09 15:41:45 +02:00
Alexandre Archambault ef596c12c3
Updates for 1.0.0-RC9 2017-08-05 15:32:06 +02:00
Alexandre Archambault e3097a56ca Back to sbt-coursier 1.0.0-RC7 before publishing
Because of https://github.com/coursier/coursier/issues/619
2017-08-05 13:28:40 +02:00
Alexandre Archambault 930a012965 Switch to sbt 1.0.0-RC3 2017-08-04 16:20:03 +02:00
Alexandre Archambault a798b04d99 Switch to scala-js 0.6.19 2017-08-04 16:20:02 +02:00
Alexandre Archambault 662cf62c95 Switch to sbt-mima 0.1.15 2017-08-04 16:20:02 +02:00
Alexandre Archambault b6569c7d4b Switch to sbt 0.13.16 2017-08-04 16:20:01 +02:00
Dale Wijnand a495aa7cb0
Upgrade to sbt 1.0.0-RC3 2017-08-01 14:35:27 +01:00
Dale Wijnand 14cc1c56e2
Upgrade to sbt 1.0.0-RC3 2017-08-01 14:34:38 +01:00
Eugene Yokota 4d8d5f5df0 IO, Util, LM, Zinc 1.0.0-RC3 2017-07-28 15:45:59 -04:00
Eugene Yokota 0850df67e8 Contraband 0.3.0 2017-07-28 15:40:30 -04:00
Eugene Yokota 0a42cf0749 IO 1.0.0-RC3, Util 1.0.0-RC3 2017-07-28 12:47:57 -04:00
Eugene Yokota 831e99bd59 Contraband 0.3.0 2017-07-28 12:47:41 -04:00
Dale Wijnand 716203fefa Merge pull request #3383 from dwijnand/2123
Upgrade to Scala 2.12.3
2017-07-28 16:53:37 +01:00
Dale Wijnand 56d7d400b0
Upgrade to Scala 2.12.3 2017-07-28 07:56:08 +01:00
Dale Wijnand 8f912301be
Upgrade to Scala 2.12.3 2017-07-28 07:56:02 +01:00
Eugene Yokota 5768ad2468 Log4j 2 SLF4J Binding
Fixes sbt/sbt#3333
2017-07-28 01:00:47 -04:00
Dale Wijnand c103950b10
Add, configure & enable MiMa 2017-07-26 14:14:04 +01: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 b2220fe9d4
sbt 1.0.0-RC2 2017-07-20 06:56:37 +01:00
Alexandre Archambault ad78a388f6
Updates for 1.0.0-RC8 2017-07-20 00:23:14 +02:00
Alexandre Archambault f797681fab Switch to sbt 1.0.0-RC2 2017-07-19 01:40:18 +02:00
Alexandre Archambault a7097556db Don't unnecessarily check for mima compatibility once release is done
Simply calling mimaReportBinaryIssues fails because of scalaVersion
discrepancies between core modules and sbt plugins.
2017-07-18 17:54:45 +02:00
Alexandre Archambault 6e86986cde
Updates for 1.0.0-RC7 2017-07-18 17:43:40 +02:00
Eugene Yokota 00a9dd14a4 Bump Contraband to latest 2017-07-17 01:05:30 -04:00
Eugene Yokota c9fae43595 bump to Util 1.0.0-M28 and Zinc 1.0.0-X20 2017-07-16 22:16:33 -04:00
Eugene Yokota f0ac6ae11c Adjust to upstream changes 2017-07-16 00:51:49 -04:00
Martin Duhem 347914191a Adapt to new library management API 2017-07-15 18:09:40 -04:00
Eugene Yokota 850832a31c Bump modules 2017-07-15 17:50:00 -04:00
Eugene Yokota 509c80c8a7 Bump to latest IO and Util 2017-07-15 13:52:10 -04:00
Eugene Yokota c95a885a3a Bump to latest Contraband 2017-07-15 11:17:23 -04: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
Alexandre Archambault b91031034c Use custom published scala-native stuff 2017-07-11 20:36:00 +02:00
Alexandre Archambault 3271d90b26 Use custom published version of jarjar 2017-07-11 19:11:18 +02: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 9494967e05
Upgrade util/lm/zinc & config build for util modules
Welcome back home!
2017-07-07 12:11:59 +01:00
Dale Wijnand f63306140e
Format the build 2017-07-07 09:48:48 +01:00
Dale Wijnand 58956d1c58
Drop util-apply-macro dep, given it was brought back 2017-07-07 09:48:42 +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
Eugene Yokota efa3b1d340
Bump to latest io, scalajson, sjsonnew, contraband, util, lm, zinc 2017-07-06 11:05:24 +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
Alexandre Archambault d25df01bf5 Updates for 1.0.0-RC6 2017-06-25 15:13:46 +02:00
Alexandre Archambault 361e4167a4
Updates for 1.0.0-RC5 2017-06-21 09:38:28 +02:00
Alexandre Archambault c945827d95 Fix mimaReportBinaryIssues for scala-js modules 2017-06-18 20:02:05 +02:00
Alexandre Archambault ac5d4cb9cc Updates for 1.0.0-RC4 2017-06-18 19:53:58 +02:00
Eugene Yokota 60e1eb6275 Bump to sbt 1.0.0-M6 2017-06-17 02:19:37 -04:00
Eugene Yokota 04f2a04fa4 sbt-scalafmt 1.3 2017-06-16 16:12:37 -04:00
Alexandre Archambault fb5dbdfbfb Merge pull request #560 from coursier/topic/sbt-1.0.0-M6
Switch to sbt 1.0.0-M6 (WIP)
2017-06-16 16:08:44 +02:00
Alexandre Archambault 8106a1837f Ensure scripted finds its launcher
Meh
2017-06-13 17:51:50 +02:00
Eugene Yokota bcc74a962e bump to using sbt 1.0.0-M6
We are missing the plugin for Scalafmt but I think we need to use beta2 ourselves.
2017-06-13 01:09:19 -04:00
Alexandre Archambault b964497f1c Add workaround for sbt 1.0.0-M6 2017-06-07 14:47:11 +02:00
Alexandre Archambault 6d08ced648 Switch to sbt 1.0.0-M6 2017-06-07 14:34:45 +02:00
Alexandre Archambault 995e8c70fd Add sbt-pgp-coursier plugin 2017-06-07 14:24:21 +02:00
Alexandre Archambault 246235c34a Merge pull request #568 from coursier/develop
Latest developments
2017-06-06 19:34:00 +02:00
Alexandre Archambault 4cdd95b37e Really close http connections 2017-06-06 18:01:28 +02:00
Alexandre Archambault 3ac230f0be Watch downloads from other coursier
Rather than failing with lock error
2017-06-06 18:01:24 +02:00
Alexandre Archambault ab8df1e305 Switch to scalajs 0.6.17 2017-06-04 15:27:37 +02:00
Alexandre Archambault 5a53b8447e Merge pull request #559 from coursier/topic/prelude-proguarded-jar
Make the proguarded JAR directly runnable
2017-06-02 15:15:37 +02:00
Alexandre Archambault fa8d952e81 Make the proguarded JAR directly runnable 2017-06-01 13:08:20 +02:00
Alexandre Archambault e0d1a8709b Bump dependencies 2017-06-01 11:52:29 +02:00
Eugene Yokota d952dbb7ba Fix build to publish M6 2017-05-30 02:44:13 -04:00
Eugene Yokota 03c9b648fb Adjust to Zinc and lm changes 2017-05-30 00:59:43 -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
jvican 2b12721a68
Add fully-fledged macro check for value inside if
`.value` inside the if of a regular task is unsafe. The wrapping task
will always execute the value, no matter what the if predicate yields.

This commit adds the infrastructure to lint code for every sbt DSL
macro. It also adds example of neg tests that check that the DSL checks
are in place.

The sbt checks yield error for this specific case because we may want to
explore changing this behaviour in the future. The solutions to this are
straightforward and explained in the error message, that looks like
this:

```
EXPECTED: The evaluation of `fooNeg` happens always inside a regular task.

PROBLEM: `fooNeg` is inside the if expression of a regular task.
  Regular tasks always evaluate task inside the bodies of if expressions.

SOLUTION:
  1. If you only want to evaluate it when the if predicate is true, use a dynamic task.
  2. Otherwise, make the static evaluation explicit by evaluating `fooNeg` outside the if expression.
```

Aside from those solutions, this commit also adds a way to disable any
DSL check by using the new `sbt.unchecked` annotation. This annotation,
similar to `scala.annotation.unchecked` disables compiler output. In our
case, it will disable any task dsl check, making it silent.

Examples of positive checks have also been added.

There have been only two places in `Defaults.scala` where this check has
made compilation fail.

The first one is inside `allDependencies`. To ensure that we still have
static dependencies for `allDependencies`, I have hoisted up the value
invocation outside the if expression. We may want to explore adding a
dynamic task in the future, though. We are doing unnecessary work there.

The second one is inside `update` and is not important because it's not
exposed to the user. We use a `taskDyn`.
2017-05-25 15:33:00 +02:00
jvican b4299e7f34
Add check of task invocation inside `if`
This commit adds the first version of the checker that will tell users
if they are doing something wrong.

The first version warns any user that write `.value` inside an if
expression.

As the test integration is not yet working correctly and messages are
swallowed, we have to println to get info from the test.
2017-05-24 17:27:18 +02:00
jvican 2692bec21d
Reformat sbt source (minor changes) 2017-05-24 11:17:45 +02:00
jvican fd4bf0e635
Replace previous scalafmt plugin by neo-scalafmt
The previous scalafmt plugin had two problems:

* Caching with Coursier did not work correctly
* It failed after the upgrade to 1.0 in my computer (from a clean fork):

```
[error] (testingProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (runProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (taskProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (stdTaskProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (actionsProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (protocolProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (commandProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (mainSettingsProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (mainProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (sbtProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (scriptedPluginProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] (scriptedSbtProj/compile:scalafmtInc) java.lang.NoClassDefFoundError: Could not initialize class scala.meta.package$
[error] Total time: 19 s, completed May 24, 2017 10:44:56 AM
```

This commit replaces the previous scalafmt integration by the one
created by Lucidsoftware, big shoutout! (/cc @pauldraper)

https://github.com/lucidsoftware/neo-sbt-scalafmt
2017-05-24 11:15:22 +02:00
Eugene Yokota b013c30c30 Fix content log not showing up on `test`
Fixes #3198

Bump util to 1.0.0-M24. This fixes content log not showing up on `test`
2017-05-19 00:15:19 -04:00
Alexandre Archambault 65a0b035d0 Tweak build 2017-05-16 17:05:32 +02:00
Eugene Yokota dd4b33105b add Gigahorse 2017-05-15 16:34:38 -04:00
Alexandre Archambault 4f0b26d7a7 Add released versions to binary compatiblity versions 2017-05-15 18:54:30 +02:00
Alexandre Archambault a0bc58afa3 Dummy fix in release process 2017-05-15 18:54:29 +02:00
Alexandre Archambault 72fa824f36 Tweak tag step in sbt-release process 2017-05-15 18:54:29 +02:00
Alexandre Archambault 7c7f236bcc Bump plugins 2017-05-15 18:54:29 +02:00
Alexandre Archambault 70dad11384 Enable sbt-updates for plugins 2017-05-15 18:54:29 +02:00
Alexandre Archambault 763106bf96 Switch to tut 0.5.1 2017-05-15 18:54:29 +02:00
Alexandre Archambault f62a110cfa Bump dependencies 2017-05-15 18:54:29 +02:00
Alexandre Archambault 2f350e058b Add sbt-updates 2017-05-15 15:32:49 +02:00
Alexandre Archambault 5ca736b87a Move property file under coursier namespace
Should make it move along the rest when shading coursier
2017-05-15 15:32:48 +02:00
Alexandre Archambault 9c7168fbc7 Add alias 2017-05-15 15:32:48 +02:00
Alexandre Archambault 89c3b3544d Don't create too visible empty directories during build 2017-05-15 15:32:48 +02:00
Alexandre Archambault f8c05d570b Dummy renaming in build 2017-05-15 15:32:47 +02:00
Alexandre Archambault 67b3b06895
Updates for 1.0.0-RC3 2017-05-12 13:18:38 +02:00
Eugene Yokota 3724277704 migrate ForkOptions to Contraband 2017-05-12 05:22:08 -04:00
Dale Wijnand 0b33c195ef
Upgrade the build to sbt 1.0.0-M5
Some plugins remain commented out, for now.

sbt-doge is no longer needed because a variant of it has been folded
into sbt 1.

For some reason scripted requires src/doc jars of sbt, so switch back to
using `publishAll` rather than `publishLocalBinAll`. :(

Also, the sys.prop change in scripted is to force log4j2 to not use a
thread context classloader, and avoid the following:

    ERROR StatusLogger Unable to create custom ContextSelector. Falling back to default.
     java.lang.ClassCastException: Cannot cast org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to org.apache.logging.log4j.core.selector.ContextSelector
    	at java.lang.Class.cast(Class.java:3369)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:201)
    	at org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(LoaderUtil.java:226)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:97)
    	at org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:58)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at java.lang.Class.newInstance(Class.java:442)
    	at org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:94)
    	at org.apache.logging.log4j.spi.ThreadContextMapFactory.createThreadContextMap(ThreadContextMapFactory.java:73)
    	at org.apache.logging.log4j.ThreadContext.init(ThreadContext.java:223)
    	at org.apache.logging.log4j.ThreadContext.<clinit>(ThreadContext.java:202)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
    	at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
    	at org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
    	at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
    	at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:125)
    	at org.apache.logging.log4j.core.config.DefaultConfiguration.<init>(DefaultConfiguration.java:46)
    	at org.apache.logging.log4j.core.layout.PatternLayout$Builder.build(PatternLayout.java:650)
    	at org.apache.logging.log4j.core.layout.PatternLayout.createDefaultLayout(PatternLayout.java:487)
    	at sbt.internal.util.ConsoleAppender.<init>(ConsoleAppender.scala:245)
    	at sbt.internal.util.ConsoleAppender$.apply(ConsoleAppender.scala:196)
    	at sbt.internal.util.ConsoleLogger.<init>(ConsoleAppender.scala:42)
    	at sbt.internal.util.ConsoleLogger$.apply(ConsoleAppender.scala:34)
    	at sbt.test.ScriptedRunner.run(ScriptedTests.scala:221)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at Scripted$.doScripted(Scripted.scala:125)
    	at $0483e89d182e9d240274$.$anonfun$scriptedTask$5(build.sbt:301)
2017-05-11 09:44:42 +01:00
jvican 70cf417525
Fix #3161: Don't fail if group is not present
This covers the case described in #1361 plus an esoteric case too.
Parsers are initialized when sbt starts and text completions use the
knowledge at that time. If we happen to move a new file that should
influence the behaviour of the tab completion, that file will not be
picked up. Before, since we were throwing an error, the previous case
that would no produce any tab completion would also fail, though the
files are legitimately in the correct place.
2017-05-10 21:40:02 +02:00
jvican f497e15cd8
Run scripted tests in parallel
Add binary-compatible methods to run scripted tests in parallel using
parallel collections. Parallel collections are not tuned and a default
of 4 cores is used for the `ForkJoinPool`. This can be a matter of
experimentation in the future but for now I prefer to stay with it.

The non-parallel methods are not affected by this change.

The changes to the scripted plugin have not been used, only the sbt
scripted plugin is using `runInParallel`. In the future, this change can
also happen so that plugin authors can benefit from parallel sbt
testing. This is not a priority for me now :)
2017-05-10 21:32:36 +02:00