Commit Graph

736 Commits

Author SHA1 Message Date
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
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
Eugene Yokota 1d09a15cb3 sbt 1.2.8 2019-02-23 04:36:06 -05: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
Eugene Yokota d58cc75e39 IO 1.3.0-M5 2019-01-16 22:35:12 -05: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 cb6bb1bfcb Bump dependencis 2018-12-14 00:11:44 -05: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
Eugene Yokota 44074983bc util 1.3.0-M3 2018-11-18 12:12:38 -05:00
andrea 39493f7869 adding a fatjar release (aka sbt-big) to the build 2018-11-07 08:37:49 +00:00
Eugene Yokota 93c8ab0a2d librarymanagement 1.2.2 2018-10-15 05:13:43 -04: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
Eugene Yokota fb168d24bb Scala 2.12.7 2018-09-27 12:38:39 -04: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
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 29fa4fb20c Zinc 1.2.0-M2 2018-07-14 03:17:52 -04: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
Eugene Yokota 17e0042bd8 Util 1.2.0-M2, LM 1.2.0-M2 2018-06-27 21:07:03 -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
Eugene Yokota ddf0f4f43d bump modules to 1.2.0-M1 2018-06-18 22:39:40 -04:00
Eugene Yokota 8ec0e0193e sbt-houserules 0.3.7 2018-06-14 02:51:09 -04:00
Eugene Yokota 86427c7ce7 Merge branch '1.1.x' into wip/merge-1.1.x 2018-06-12 23:33:47 -04:00