Commit Graph

1760 Commits

Author SHA1 Message Date
Eugene Yokota a9a8ab6341 Zinc 2.0.0-alpha2 2023-01-15 23:48:51 -05:00
Eugene Yokota cba7a0efc3 Refactor to build mainProj 2023-01-15 23:48:11 -05:00
Eugene Yokota 81a05430bd Split buildfile parsing to a subproject 2023-01-15 23:45:30 -05:00
Eugene Yokota c7fa4937ef Bump to Scala 3.1.3 2023-01-15 23:44:25 -05:00
Eugene Yokota 202cd92f0f Port main-actions 2023-01-15 23:43:19 -05:00
Eugene Yokota 781c0317f5 Format main 2023-01-15 23:43:19 -05:00
Eugene Yokota 4ff27d7ab7 Port commandProj 2023-01-15 23:43:15 -05:00
Eugene Yokota 7a5533e8fa Contraband 0.5.3 2023-01-15 23:42:03 -05:00
Eugene Yokota e879541dc3 Flip to exclude list 2023-01-15 23:40:57 -05:00
Eugene Yokota f2edcff583 sjson-new 0.10.0 2023-01-15 23:40:57 -05:00
Eugene Yokota 50b062b795 Port util-logging 2023-01-15 23:40:57 -05:00
Eugene Yokota 00eba85d98 Cats-like typeclasses 2023-01-15 23:40:56 -05:00
Eugene Yokota 28f0c075ac Fixes M1 support
Fixes https://github.com/sbt/sbt/issues/7117

Problem
-------
sbt no longer works on a Mac with M1 (aarch64) chips because it fails on
ipcsocket library, which we maintain.
This was caused by architecture detection that was added in 1.6.1,
which did not take in account for macOS universal binary.

Solution
--------
Update to ipcsocket 1.6.2.
2023-01-04 15:46:08 -05:00
Eugene Yokota 59be97660c lm-coursier-shaded 2.0.15
Fixes https://github.com/sbt/sbt/issues/7062
2023-01-03 14:00:29 -05:00
Eugene Yokota 6eaad925fb ipcsocket 1.6.1 2022-12-31 16:48:52 -05:00
Scala Steward e4286a0113
Update sbt-shading to 2.1.1 2022-12-20 14:44:08 +00:00
Scala Steward 3df025313b
Update sbt, scripted-plugin to 1.8.0 (#431) 2022-11-14 16:49:57 +01:00
Eugene Yokota 05fe27226e Zinc 1.8.0, lm 1.8.0 2022-11-10 15:41:52 -05:00
Eugene Yokota adc246ea9a Bump io, util, and scala-xml 2022-11-10 13:45:08 -05:00
Eugene Yokota e55955d918 lm-coursier-shaded 2.0.13 2022-11-10 11:19:57 -05:00
Eugene Yokota adc682c926 Ivy 2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e 2022-11-10 10:04:52 -05:00
Eugene Yokota 92c6903ec5 Bump lm and zinc 2022-11-06 21:35:26 -05:00
Scala Steward 8b08a62ffc
Update sbt, scripted-plugin to 1.7.3 2022-11-02 13:34:16 +00:00
Eugene Yokota 39dc13668f lm-coursier-shaded 2.0.12
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.12
2022-10-30 18:25:04 -04:00
Scala Steward 6e42e4d7bb
Update scala-library to 2.12.17 (#414) 2022-10-28 18:07:36 +02:00
Scala Steward f726a523ac
Update sbt-ci-release to 1.5.11 (#423) 2022-10-24 10:26:55 +02:00
Eugene Yokota 07725bb626 sjson-new 0.11.0 2022-10-19 01:31:12 -04:00
Scala Steward bf9ff1c520
Update scala-library to 2.13.10 (#418)
* Update scala-library to 2.13.10

* Bump semanticdb version too

Co-authored-by: Alexandre Archambault <alexandre.archambault@gmail.com>
2022-10-18 17:08:15 +02:00
Scala Steward 76a320c98e
Update sbt-scalafix to 0.10.4 (#416) 2022-10-18 16:10:52 +02:00
Scala Steward 2f1d19ab8c
Update sbt, scripted-plugin to 1.7.2 (#419) 2022-10-18 16:10:43 +02:00
Eugene Yokota 90795c3590 Util 1.7.1 2022-10-02 21:49:45 -04:00
Eugene Yokota a775fb8f1d Launcher 1.4.1
Launcher 1.4.1 is capable of launching Scala 3 apps.
In other words, launchers prior to 1.4.1 are not capable of
launching Scala 3 apps, including tests for sbt 2.x.
2022-10-02 04:07:49 -04:00
Eugene Yokota 36be86a0fc Temporarily switch to sbt-assembly 2022-09-24 20:33:22 -04:00
Scala Steward 3472493638
Update sbt-mima-plugin to 1.1.1 (#413) 2022-09-19 10:16:06 +02:00
Scala Steward 32e67efb58
Update sbt-scalafix to 0.10.2 (#412) 2022-09-19 10:15:51 +02:00
Eugene Yokota b00792a3a7 Scala 2.12.17
This bumps up scala-xml to 2.x.
2022-09-17 04:09:52 -04:00
Scala Steward 8eadc24d3f
Update sbt-scalafix to 0.10.1 (#407) 2022-08-16 17:40:34 +02:00
Scala Steward f8f3917ba9
Update sbt-shading to 2.1.0 (#409) 2022-08-16 16:40:29 +02:00
Scala Steward e177ebec6a
Update sbt, scripted-plugin to 1.7.1 (#397)
* Applied Scalafix rule(s) 7f576f16a9/Sbt0_13BuildSyntax.scala

See https://eed3si9n.com/syntactic-scalafix-rule-for-unified-slash-syntax for details

* Update sbt, scripted-plugin to 1.7.1

* fix scalafix stuff

Co-authored-by: Alexandre Archambault <alexandre.archambault@gmail.com>
2022-08-15 16:32:00 +02:00
Eugene Yokota 5939266233 Convert to slash syntax 2022-08-13 22:16:40 -04:00
Eugene Yokota e8b2a198fb Use dataclass-scalafix for code gen
This uses https://github.com/hamnis/dataclass-scalafix.
2022-08-13 22:01:29 -04:00
Alexandre Archambault 117ff375b9 Ignore scala-xml version mismatch in 2.13
Hope this isn't a problem downstream…
2022-08-12 17:57:37 +02:00
Alexandre Archambault 240725e35f Update sbt to 1.5.6 2022-08-12 17:31:51 +02:00
Eugene Yokota f9453d67c6 Temporarily fork to org.scala-sbt 2022-08-12 00:43:36 -04:00
Eugene Yokota cf98ce2ee0 Scala 3 support 2022-08-12 00:14:58 -04:00
Eugene Yokota b807671ec5 Downgrade scala-xml to _2.13 on Scala 3
Since Coursier doesn't have Scala 3 artifacts yet, downgrade scala-xml
so we can use for3Use2_13.
2022-08-11 23:40:40 -04:00
Eugene Yokota 58912ff8f6 Use dataclass-scalafix for code gen
This is a prepration step for Scala 3 support.
Instead of data-class, this uses
https://github.com/hamnis/dataclass-scalafix.

Since it cannot use `withX` method in the data class itself with this
approach, I created `syntax` package object to extend some methods to
the generated classes.
2022-08-11 23:23:16 -04:00
Scala Steward 7e22af8a8b
Update scala-library to 2.12.16 (#394) 2022-07-30 20:20:23 +02:00
Eugene Yokota 106bc89e06 Update Zinc to 1.7.1 2022-07-11 22:54:42 -04:00
Eugene Yokota fcee055a8c Use sbt 1.7.0 2022-07-10 23:50:06 -04:00
Eugene Yokota 925c461aa8 sbt 1.7.0 2022-07-10 23:09:51 -04:00
Eugene Yokota 2d27e6deea Update Zinc to 1.7.0 2022-07-10 13:55:14 -04:00
Eugene Yokota 5dd056fa4d util 1.7.0 2022-07-10 05:28:16 -04:00
eugene yokota 7dc4378fdf
Merge pull request #6963 from eed3si9n/wip/bump-io
IO 1.7.0
2022-07-10 04:00:28 -04:00
Eugene Yokota 6788c2e1ca IO 1.7.0 2022-07-10 03:40:58 -04:00
xuwei-k 9c8e99c390 remove sbt-whitesource 2022-07-03 14:45:23 +09:00
eugene yokota 7cc6ad3d00
Merge pull request #6939 from eed3si9n/wip/cross-fix
[1.7.x] Filter incompatible Scala 3 projects in cross switch commands, take 2
2022-06-27 00:08:29 -04:00
Rui Gonçalves 705d3d58ce Filter incompatible Scala 3 projects in cross switch commands 2022-06-26 22:46:37 -04:00
Eugene Yokota 0598c9fdc1 ipcsocket 1.5.0
This bumps to ipcsocket 1.5.0, which fixes the temp directory cleanup
bug.
Fixes https://github.com/sbt/sbt/issues/6931
Fixes https://github.com/sbt/sbt/issues/6173
2022-06-26 14:37:12 -04:00
Eugene Yokota 21e5838cfd Build Graal native image using sbt-native-image 2022-06-26 13:25:58 -04:00
Eugene Yokota d5889d3ce3 Bump to Scala 2.12.16 2022-06-13 01:27:24 -04:00
Eugene Yokota c04b2a4f73 lm 1.7.0-M1
This removes OkHttp dependency.
This also removes an experimental feature to customize HTTP for Ivy called
CustomHttp we added in sbt 1.3.0.
Since LM got switched to Coursier in 1.3.0, I don't think we advertized
CustomHttp.
2022-06-13 00:52:32 -04:00
Eugene Yokota 76452e53ff Drop OkHttp dependency
Ref https://github.com/sbt/sbt/issues/6912

Problem
-------
There's apparently a security issue with OkHttp 3.x,
which I am not really sure how applicable it is to our usage
of OkHttp but it is there.

Solution
--------
Since most of OkHttp-specic usage within LM is for Apache Ivy
downloading, I am going to drop this.
Since `sbt.librarymanagement.Http.http` is a public API,
I am substituting this with Apache HTTP backed implementation.
2022-06-12 22:24:44 -04:00
Eugene Yokota 91bf2649b2 Bump sbt 2022-06-12 22:03:23 -04:00
Eugene Yokota 053834aea0 Zinc 1.7.0-M2 2022-04-17 23:26:40 -04:00
Scala Steward b95750b840
Update sbt-mima-plugin to 1.1.0 (#388) 2022-04-08 14:01:22 +02:00
Adrien Piquerez 1396e1605d Try fix CI: Build and test (6) 2022-03-08 18:19:20 +01:00
Eugene Yokota 761ad14267 Make License object available
Fixes #1937
Ref https://github.com/sbt/librarymanagement/pull/395
2022-01-31 22:00:54 -05:00
Scala Steward 372aca9334
Update scala-library to 2.13.8 (#376) 2022-01-31 21:49:32 +01:00
Eugene Yokota e9ee8a6cab Scala 3 2022-01-30 02:55:17 -05:00
Eugene Yokota d71a1fbdac log4j 2.17.1
Fixes CVE-2021-44832
https://logging.apache.org/log4j/2.x/security.html
2021-12-28 23:07:39 -05:00
Eugene Yokota 0f8ac0f543 Zinc 1.6.0 2021-12-26 01:44:00 -05:00
Eugene Yokota 31db59c825 IO 1.6.0, Util 1.6.0 2021-12-26 01:08:49 -05:00
Eugene Yokota 645cebccac IO 1.6.0 2021-12-26 00:28:09 -05:00
Eugene Yokota 57e1044f5b log4j 2.17.0 2021-12-18 15:05:31 -05:00
Eugene Yokota e56b199300 lm-coursier-shaded 2.0.10 2021-12-17 23:21:26 -05:00
Michal Augustýn 7a2d9981f7 chore(deps): log4j 2.16.0 2021-12-15 02:36:59 -05:00
Eugene Yokota 4a75007862 Update log4j 2021-12-09 23:49:00 -05:00
Eugene Yokota bdccb6cbd5 Zinc 1.6.0-M2 2021-11-29 05:18:00 -05:00
Eugene Yokota caf47ff5cd Util 1.6.0-RC1 2021-11-29 03:34:25 -05:00
Eugene Yokota db17b5a462 lm-coursier 2.0.9
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.9
https://github.com/coursier/coursier/releases/tag/v2.1.0-M1
2021-11-25 21:32:44 -05:00
Scala Steward 692f27539d
Update sbt-mima-plugin to 1.0.1 (#365) 2021-11-23 23:50:47 +01:00
Scala Steward f9612710cb
Update sbt-mima-plugin to 0.9.2 (#351) 2021-11-23 22:03:26 +01:00
Guillaume Massé 92e40c2225
Add support for custom protocols (#327)
* Add configuration to fetch custom protcol handlers

* Tweak things

Co-authored-by: Alexandre Archambault <alexandre.archambault@gmail.com>
2021-11-23 21:14:52 +01:00
Alexandre Archambault c4b90111aa Remove sbt-eviction-rules / sbt-version-policy for now
Running into weird issues with scala-xml 1/2, and the latest
sbt-version-policy needs a more recent sbt than the one we're on.
2021-11-23 18:55:06 +01:00
Eugene Yokota 129b43acd2 intern/flyweight ConfigRef
Fixes https://github.com/sbt/sbt/issues/6721

Problem
-------
ConfigRef is among the most created on heap.

Solution
--------
intern/flyweight it.
2021-11-20 19:39:18 -05:00
xuwei-k 38f5449084 Update build settings for Scala 3 2021-11-16 10:19:26 +09:00
kenji yoshida 1f4517d5cc update hedgehog and scalacheck
prepare Scala 3
2021-11-15 13:13:33 +09:00
xuwei-k aa8b1141f8 Update scalatest 2021-11-14 22:03:59 +09:00
Amina Adewusi 3c81e08fa2 Migrates Treeview.scala to use Contraband
Migrates TreeView.scala to use Contraband from scala.util.parsing.json,
because this is now deprecated.
The TreeView logic is used in the dependencyBrowseTree task.
2021-11-12 16:52:12 +00:00
Scala Steward d30717284e
Update scala-library to 2.12.15 (#359) 2021-11-05 17:55:13 +01:00
Scala Steward 18a4bdce6b
Update sbt-ci-release to 1.5.10 (#363) 2021-11-05 17:55:05 +01:00
Scala Steward 8d51bc1b27
Update sbt-ci-release to 1.5.9 (#361) 2021-11-05 15:47:27 +01:00
Scala Steward a8e2d5674e
Update scala-library to 2.13.7 (#362) 2021-11-05 15:47:21 +01:00
Eugene Yokota f6b993f91b Zinc 1.6.0-M1 2021-09-19 17:34:40 -04:00
Eugene Yokota 028724ac23 Bump modules 2021-09-19 15:29:08 -04:00
Amina Adewusi c013d1180c Bump scala version to 2.12.15 2021-09-17 17:46:07 +01:00
Amina Adewusi 696a19f5d7 Virtualize Sync.sync so it can be cached remotely for resources dir syncing
An alternative to https://github.com/sbt/sbt/pull/6554.
2021-07-31 18:23:30 +01:00
Scala Steward 6adbc239de
Update sbt-ci-release to 1.5.7 (#334) 2021-07-26 23:45:47 +02:00
Eugene Yokota 181052fddb launcher 1.3.3
Fixes https://github.com/sbt/sbt/issues/6587
2021-07-11 02:04:48 -04:00
Eugene Yokota eec3c32cc8 sbt 1.5.4 2021-06-13 23:34:18 -04:00
Eugene Yokota 69d0023c45 Zinc 1.5.5 2021-06-13 21:49:21 -04:00
Eugene Yokota 367816ccc1 ipcsocket 1.3.1
Fixes https://github.com/sbt/sbt/issues/6531
2021-06-05 15:34:41 -04:00
Eugene Yokota 2ed0574f95 Use sbt 1.5.3 2021-06-01 00:26:20 -04:00
Eugene Yokota e30bd67275 Update modules 2021-05-31 22:06:59 -04:00
Matthias Kurz 3f7193f91a
Update kind-projector 2021-05-28 18:13:28 +02:00
Matthias Kurz fbfc272171
Scala 2.12.14 / 2.13.6 2021-05-28 18:13:28 +02:00
Matthias Kurz 93b1d2ff92
Scala 2.12.14 / 2.13.6 2021-05-28 17:57:56 +02:00
Adrien Piquerez baf6678f83 Remove forking in Test 2021-05-10 11:52:51 +02:00
Eugene Yokota 3d72b6c660 Zinc 1.5.3 2021-05-09 02:00:01 -04:00
Eugene Yokota 8f80367e3c Use sbt 1.5.1 2021-05-02 23:41:55 -04:00
Eugene Yokota 5269e12e67 Use sbt 1.5.1 2021-05-02 22:18:03 -04:00
Eugene Yokota 9cc61015d7 Zinc 1.5.2 2021-05-02 21:56:25 -04:00
Eugene Yokota 19bce2874c Downgrade to sbt 1.4.9 until mima issue is addressed 2021-04-25 22:59:57 -04:00
Eugene Yokota 43b2f1eb30 sbt 1.5.1 2021-04-25 22:16:01 -04:00
Eugene Yokota 0c61f7560a Launcher 1.3.1 2021-04-25 18:55:27 -04:00
Eugene Yokota b78d111333 Launcher 1.3.0 2021-04-04 02:20:52 -04:00
Eugene Yokota c1c02853b4 Zinc 1.5.0 2021-04-04 01:29:52 -04:00
Eugene Yokota c43aea5e68 IO 1.5.0, Util 1.5.0 2021-04-03 21:28:51 -04:00
Eugene Yokota 2709a1e8a3 Scala 2.13.5 2021-04-03 16:02:58 -04:00
Eugene Yokota ba3a808044 IO 1.5.0 2021-04-03 16:01:45 -04:00
Eugene Yokota f5cba5209a Zinc 1.5.0-M5 and lm 1.5.0-M9 2021-03-22 03:47:51 -04:00
Eugene Yokota 79d7832a35 lm-coursier-shaded 2.0.8
Fixes https://github.com/sbt/sbt/issues/6243
This updates the underlying Coursier from 2.0.12 to 2.0.15

https://github.com/coursier/coursier/releases/tag/v2.0.13
- NumberFormatException fix

https://github.com/coursier/coursier/releases/tag/v2.0.15
- Updates directories-jvm to 24
2021-03-21 16:00:31 -04:00
Scala Steward 6f887c6cd8
Update sbt-ci-release to 1.5.6 (#329) 2021-03-21 17:16:36 +01:00
Scala Steward b79b094269
Update sbt-shading to 2.0.1 (#332) 2021-03-21 17:16:30 +01:00
Eugene Yokota 34eed6f24c Launcher 1.3.0-M3 2021-03-21 05:46:18 -04:00
Eugene Yokota 8c3f0970eb launcher 1.3.0-M2 2021-03-15 02:25:55 -04:00
Eugene Yokota 4a0ebac52a Bump Zinc, LM, and Launcher 2021-03-15 01:34:23 -04:00
Eugene Yokota 7f6bbafb9b Remove sbt-bintray 2021-03-14 23:57:13 -04:00
eugene yokota 7b46f03b62
Merge pull request #6390 from eed3si9n/fport/bintray_less
[fport] Drop Bintray from release
2021-03-14 03:12:21 -04:00
Scala Steward 9790495669
Update sbt, scripted-plugin to 1.4.9 (#328) 2021-03-10 14:22:53 +01:00
Scala Steward 0b955206e0
Update scala-library to 2.12.13 (#322)
Co-authored-by: Alexandre Archambault <alexarchambault@users.noreply.github.com>
2021-03-09 11:45:32 +01:00
Eugene Yokota c064cf1aff JAnsi 2.1.0
Fixes https://github.com/sbt/sbt/issues/6372
sbt 1.4.x includes both JLine 2 and JLine 3, and our fork of JLine 2 uses JAnsi matching with JLine 3.
I need to bump JLine 2 together, which uses the same JAnsi version as
JLine 3.
2021-03-09 01:48:09 -05:00
Scala Steward 024c18e5d6
Update scala-library to 2.13.5 (#323) 2021-03-08 15:11:40 +01:00
Eugene Yokota 2759a122cf Drop Bintray from release
Fixes https://github.com/sbt/sbt/issues/6370

compatibility note
Today we release the sbt-launcher JAR **twice** under
https://repo1.maven.org/maven2/org/scala-sbt/sbt-launch/1.4.7/:
- https://repo1.maven.org/maven2/org/scala-sbt/sbt-launch/1.4.7/sbt-launch-1.4.7.jar
- https://repo1.maven.org/maven2/org/scala-sbt/sbt-launch/1.4.7/sbt-launch.jar

I think this goes back to the early days when we used to tell people to download the `sbt-launch.jar` and write your own launcher script, which I remember doing. Some remnant seen in https://www.scala-sbt.org/0.12.4/docs/Getting-Started/Setup.html#unix.

I think we can drop this old practice.
2021-03-07 17:47:58 -05:00
Eugene Yokota ab95cc7dca JLine 3.19.0
Fixes https://github.com/sbt/sbt/issues/6348

Intentionally or unintentionally the JLine 3 leaks over from sbt to
Scala REPL currently.
I think this enables things like sbtn to transmit tab completion and
other console interaction over a socket to sbt server.
Scala 2.13.5 REPL now causes some issue of displaying warning
each time the user hits tab for tab completion.
This works around the issue by upgrading to the latest JLine 3.
2021-03-07 03:47:49 -05:00
Eugene Yokota 6c18a37d3f integrate assumedVersionScheme and assumedEvictionErrorLevel
Fixes https://github.com/sbt/sbt/issues/6301
Fixes https://github.com/sbt/sbt/issues/6302

```scala
ThisBuild / assumedVersionScheme := VersionScheme.PVP
ThisBuild / assumedVersionSchemeJava := VersionScheme.EarlySemVer
ThisBuild / assumedEvictionErrorLevel := Level.Warn
```
2021-02-21 19:17:34 -05:00
Eugene Yokota 65c57339f5 lm-coursier-shaded 2.0.7
This upgrades Coursier from 2.0.9 to 2.0.12

- https://github.com/coursier/coursier/releases/tag/v2.0.11 contains some optimization
- https://github.com/coursier/coursier/releases/tag/v2.0.12 contains
  HTTP 403 handling that I added for `updateClassifiers` (used by
  IntelliJ import)
2021-02-15 16:58:28 -05:00
Eugene Yokota e7341f5242 Follow up on scala3doc rename
Fixes https://github.com/sbt/sbt/issues/6307
Ref https://github.com/sbt/librarymanagement/pull/365
Ref https://github.com/lampepfl/dotty/pull/11289

This adds test using M4 nightly, which now uses artifact name
`scaladoc_3.0.0-M4` as oposed to `scala3doc_3.0.0-M3`.
The change in LM keeps the support for the old artifact name
for backward compatibility to build against 3.0.0-M1, -M2, and -M3.
2021-02-14 13:56:51 -05:00
Scala Steward b8f4dbc133
Update sbt, scripted-plugin to 1.4.7 (#313) 2021-02-13 17:56:22 +01:00
Eugene Yokota 22d12f6618 Use nowarn annotation 2021-02-06 22:31:47 -05:00
Eugene Yokota 61a077e3a6 Scala 2.12.13 2021-01-31 12:59:31 -05:00
Eugene Yokota 12d46e3fce Make ModuleID#cross(...) preserve existing prefix
Fixes https://github.com/sbt/sbt/issues/6280

sbt-platform-deps implements `%%%` operator in https://github.com/portable-scala/sbt-platform-deps/blob/v1.0.0/src/main/scala/org/portablescala/sbtplatformdeps/PlatformDepsBuilders.scala#L36-L43
by setting the prefix field on `sbt.librarymanagement.Binary(...)`.
Currently `.cross(...)` would wipe this out, so `%%%` and `cross(CrossVersion.for3Use2_13)` do not compose.

This changes the implementation of `.cross(...)` so it can be chained
together and it will try to preserve the prefix (and suffix) values from
the existing `crossVersion` values.
This should fix the 2.13-3.x sandwich on Scala.JS and Scala Native.
2021-01-23 15:47:33 -05:00
Cyrille Chepelov 2fdc6a6212 bump lm-coursier-shaded to 2.0.6 (includes coursier 2.0.9) 2021-01-22 17:13:42 +01:00
Eugene Yokota d177b54967 IO 1.5.0-M1, LM 1.5.0-M4, Zinc 1.5.0-M3 2021-01-18 00:00:45 -05:00
Eugene Yokota 417a30f8db Update to Scala 2.12.13 + 2.13.4 2021-01-17 04:18:49 -05:00
Eugene Yokota e86a705b4f hedgehog-sbt 0.6.1 2021-01-16 03:48:06 -05:00
Eugene Yokota 1c6a5d21bb Port mutable.Specification to verify.BasicTestSuite 2021-01-16 00:47:53 -05:00
Scala Steward a7f7a8eb31
Update sbt, scripted-plugin to 1.4.6 (#306) 2021-01-11 14:29:02 +01:00
Eugene Yokota 8f5759e48d Cross build to Scala 2.13 2021-01-10 20:24:05 -05:00
eugene yokota 07278af003
Scala 2.13 support (#307) 2021-01-10 22:02:04 +01:00
Eugene Yokota dacffb5095 sbt 1.4.6 and some Metals settings 2021-01-10 14:18:22 -05:00
Adrien Piquerez 2b1806ae25 Add for3Use2_13 and for2_13Use3 2021-01-08 18:25:01 +01:00
Adrien Piquerez 6f07bec443 Bump zinc and librarymanagement 2021-01-04 10:01:34 +01:00
Eugene Yokota 5942ccbe1f Add Scala 2.13 support 2021-01-03 00:59:38 -05:00
Eugene Yokota 45e05cc99f lm-coursier 2.0.5
Updates directories-jvm to 23
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.5
https://github.com/coursier/coursier/releases/tag/v2.0.8
2020-12-24 00:15:59 -05:00
Eugene Yokota adb23cde89 Zinc 1.5.0-M1 2020-12-23 13:41:15 -05:00
Scala Steward 7adfdd56f5
Update sbt, scripted-plugin to 1.4.5 (#301) 2020-12-23 19:18:14 +01:00
João Ferreira 65b4130e6b
Update plugins.sbt 2020-12-21 13:47:50 +00:00
João Ferreira 4595faebd8 bump contraband 2020-12-21 13:41:32 +00:00
Eugene Yokota f5d4a0779e lm 1.5.0-M2 2020-12-20 22:31:17 -05:00
Eugene Yokota 9a3d55b92e Zinc 1.4.4 2020-12-20 22:24:29 -05:00
Eugene Yokota 599ee61251 launcher 1.1.6 2020-12-20 22:23:35 -05:00
Eugene Yokota 2308d0a3a7 Fixes match error when using withDottyCompat
Fixes https://github.com/sbt/sbt/issues/6210

scodec-bits is published with pvp versionScheme (nice), this means that
we should just evaluate the version portion for pvp-ness, but I was
using `guessSecondSegment` that checks for Scala suffix. That's mistake
1.

`guessSecondSegment` assumes that the Scala suffix uses the given
ScalaModuleInfo, but with 2.13-3 sandwich we can't assume this.
In the reported case, Scala module is 3.0.0-M3 but scodec-bits uses
2.13. So that's mistake 2.

This attempts to correct both the mistakes.
1. Instead of `guessSecondSegment`, this adds a simpler `evalPvp`
function.
2. `guessSecondSegment` just looks for `_2.` or `_3` and ignores the
Scala module.
2020-12-19 17:08:24 -05:00
Scala Steward d917a137ef
Update sbt-ci-release to 1.5.5 (#300) 2020-12-11 00:07:34 +01:00
João Ferreira e1d8f0cafd
Updates to Coursier 2.0.7 (#6120)
* Updates to Coursier 2.0.7

https://github.com/coursier/sbt-coursier/releases/tag/v2.0.4 which includes https://github.com/coursier/coursier/releases/tag/v2.0.7

> Memo-ize classes that can be created at a high rate

coursier.core.{Dependency, Module, Publication} are now memo-ized (using weak references). This can lower the amount of duplicate instances of these objects, and lower GC pressure.
2020-11-26 19:25:37 -05:00
Ethan Atkins 3f3e219e0f Update ipcsocket
The new version provides an apple silicon arm64 jni implementation of
the ipcsocket api. It also adds a jni implementation for getting the max
socket length which is necessary because jna isn't supported on the
apple arm64 platform yet.
2020-11-25 07:34:11 -08:00
Ethan Atkins 4f0f5cec82 Update sbt version 2020-11-23 09:42:43 -08:00
Scala Steward d58938ee54
Update sbt, scripted-plugin to 1.4.4 (#297) 2020-11-23 10:20:20 +01:00
Erwan Queffélec 8b12c2bfa6 Update Ivy to the latest version 2020-11-22 09:41:25 +01:00
Ethan Atkins c34678e9db Upgrade jline 3
We no longer need to use the forked version of jline because they have
merged in our required changes. The latest version of jline does upgrade
jansi, however, and some of the apis we were relying on for windows were
removed so they had to be manually implemented. I verified that console
input still worked on my windows vm after this change.
2020-11-18 12:18:08 -08:00
Eugene Yokota 0561517d46 Zinc 1.4.3 2020-11-15 18:30:03 -05:00
Eugene Yokota 4499149887 Use Bintray for nightly 2020-11-15 02:43:31 -05:00
Eugene Yokota 349a4134e5 Use Bintray for nightly 2020-11-15 00:58:52 -05:00
Eugene Yokota f8f9ed0c67 Nightly setup 2020-11-14 19:46:04 -05:00
Eugene Yokota 1523601696 Build from fresh modules 2020-11-14 14:23:48 -05:00
Scala Steward 5825e8cf47
Update sbt-ci-release to 1.5.4 (#288) 2020-11-09 14:29:20 +01:00
eugene yokota e5164cdf43
Merge pull request #6063 from eed3si9n/wip/sbt-bumps
Bump sbt versions
2020-11-05 00:40:29 -05:00
Ethan Atkins 2b55aa38ae Bump sbt versions 2020-11-04 23:45:59 -05:00
João Ferreira bc150efd55
Merge branch 'develop' into coursier_2.0.2 2020-11-03 07:52:16 +00:00
João Ferreira 997ee5b405
2.0.3 2020-11-02 22:47:32 +00:00
Scala Steward 76e897f88f
Update sbt, scripted-plugin to 1.4.2 (#286) 2020-11-02 19:50:49 +01:00
Eugene Yokota d2252cc89d Zinc 1.4.2 2020-11-01 21:24:35 -05:00
João Ferreira cf926115ed update coursier to 2.0.2 2020-10-30 20:49:20 +00:00
Alexandre Archambault 48be638d91 Back to sbt-mima mainline 2020-10-23 16:30:16 +02:00
Scala Steward 62a1868f20
Update sbt, scripted-plugin to 1.4.1 (#280) 2020-10-20 08:18:55 +02:00
Eugene Yokota 6b70a9425f sjson-new 0.9.1 2020-10-19 12:35:58 -04:00
Eugene Yokota 8007d08158 Zinc 1.4.1 2020-10-19 01:47:11 -04:00
Eugene Yokota 7ba59dba9a bump JUnit
There's a security advisory on JUnit 4.
2020-10-17 04:11:33 -04:00
xuwei-k 244784c78e load .inputrc file
I think jline2 automatically load ".inputrc" file. But jline3 changed behavior.
2020-10-14 17:13:53 +09:00
Scala Steward f80641a221
Update sbt, scripted-plugin to 1.4.0 (#275) 2020-10-05 15:34:15 +02:00
Eugene Yokota 5f5463fe3b use sbt 1.4.0 2020-10-04 23:35:05 -04:00
Eugene Yokota 8ac96af3fb Zinc 1.4.0, LM 1.4.0 2020-10-04 13:47:49 -04:00
Eugene Yokota f63adb4a8a Util 1.4.0 2020-10-04 12:42:46 -04:00
Eugene Yokota a9bda61ee5 Use Ivy for metabuild 2020-10-04 00:36:55 -04:00
Eugene Yokota b54f1fba0b IO 1.4.0 2020-10-04 00:06:54 -04:00
Eugene Yokota 6662b2cf99 lm-coursier-shaded 2.0.0
Uses Coursier 2.0.0
2020-10-02 23:07:27 -04:00
Ethan Atkins 987853329a Bump sbt version to 1.4.0-RC2 2020-09-24 11:42:52 -07:00
Eugene Yokota eb8498a026 launcher 1.1.5 2020-09-21 23:52:48 -04:00
Eugene Yokota e1b64f7e5b lm 1.4.0-M12, Zinc 1.4.0-M13 2020-09-21 23:47:34 -04:00
Ethan Atkins bb8b9a1c99 Fix switching between raw and canonical input
There were a number of issues with swithcing between raw and canonical
issues that affected both the server and the thin client. These were
reported in #5863 and #5856. In both cases, there were issues with
reading input or having the input be displayed. Debugging those issues
revealed a number of issues with how we were using the jline 3 system
terminal and the hybrid interaction with the jline 2 terminal. This
commit eliminates all of our internal jline 2 usage. The only remaining
jline 2 usage is that we create and override the global terminal for the
scala console for scala versions < 2.13. By moving away from jline 2, I
was also able to fix #5828, which reported that the home, end and delete
keys were not working.

One of the big issues that this commit addresses is that the
NetworkClient was always performing blocking reads on System.in. This
was problematic because it turns out that you can't switch between raw
and canonical modes when there is a read present. To fix this, the
server now sends a message to the client when it wants to read bytes and
only then does the client create a background thread to read a single
byte.

I also figured out how to set the terminal type properly for the thin
client on windows where we had been manually setting the capabilities to
ansi, which only worked for some keys. This fix required switching to
the WindowsInputStream that I introduced in a prior commit. Before we
were using the jline 2 wrapped input stream which was converting some
system events, like home and end, to the wrong escape sequence mappings.

The remainder of the commit is mostly just converting from jline 2 apis
to jline 3 apis.

I verified that tab completions, the scala console, the ammonite console
and a run task that read from System.in all work with both the server
and the thin client on mac, linux and windows after these changes.

Fixes #5828, #5863, #5856
2020-09-21 13:42:03 -07:00
Eugene Yokota 72acc5ce74 lm-coursier-shaded 2.0.0-RC6-9
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.0-RC6-9
2020-09-14 22:44:16 -04:00
Ethan Atkins 2921dfa005 Bump sbt version 2020-09-07 09:49:43 -07:00
Eugene Yokota 47842f51f8 Zinc 1.4.0-M12 2020-09-06 16:04:47 -04:00
Eugene Yokota 1bd842856f IO 1.4.0-M8, Zinc 1.4.0-M11 2020-09-06 04:50:52 -04:00
Ethan Atkins c01be0395d Bump sbt build to 1.4.0-M2 2020-08-19 09:26:27 -07:00
Eugene Yokota 755fbf4dcd Add exportPipelining setting to implement subproject opt-out
Fixes https://github.com/sbt/sbt/issues/5762
Fixes https://github.com/sbt/sbt/issues/5754

Ref https://github.com/sbt/zinc/pull/883
2020-08-16 15:47:44 -04:00
Eugene Yokota 4a77613250 CompileOrder must be Mixed 2020-08-16 04:43:29 -04:00
Eugene Yokota d6fa4ccc93 Zinc 1.4.0-M9 2020-08-15 13:20:46 -04:00
Eugene Yokota 54aeba1607 Contraband 0.5.0 2020-08-15 13:20:46 -04:00
Eugene Yokota c85e5b8bc0 Upgrade scala version to 2.12.12
This introduces `Def.unit(...)` to workaround the pure expression does nothing warning.
2020-08-11 23:33:12 -04:00
Ethan Atkins 90dacc339c Support scala 2.13 console in thin client
In order to make the console task work with scala 2.13 and the thin
client, we need to provide a way for the scala repl to use an sbt
provided jline3 terminal instead of the default terminal typically built
by the repl. We also need to put jline 3 higher up in the classloading
hierarchy to ensure that two versions of jline 3 are not loaded (which
makes it impossible to share the sbt terminal with the scala terminal).

One impact of this change is the decoupling of the version of
jline-terminal used by the in process scala console and the version
of jline-terminal specified by the scala version itself. It is possible
to override this by setting the `useScalaReplJLine` flag to true. When
that is set, the scala REPL will run in a fully isolated classloader. That
will ensure that the versions are consistent. It will, however, for sure
break the thin client and may interfere with the embedded shell ui.

As part of this work, I also discovered that jline 3 Terminal.getSize is
very slow. In jline 2, the terminal attributes were automatically cached with a
timeout of, I think, 1 second so it wasn't a big deal to call
Terminal.getAttributes. The getSize method in jline 3 is not cached and
it shells out to run a tty command. This caused a significant
performance regression in sbt because when progress is enabled, we call
Terminal.getSize whenever we log any messages. I added caching of
getSize at the TerminalImpl level to address this. The timeout is 1
second, which seems responsive enough for most use cases. We could also
move the calculation onto a background thread and have it periodically
updated, but that seems like overkill.
2020-08-09 17:12:15 -07:00
Ethan Atkins 525cff7fd7 Use java caffeine library rather than scalacache
sbt depends on scalacache (which hasn't been updated in about a year)
and we really don't need the functionality provided by scalacache. In
fact, the java api is somewhat easier to work with for our use case. The
motivation is that scalacache uses slf4j for logging which meant that it
was implicitly loading log4j. This caused some noisy logs during
shutdown when the previously unused cache was initialized just to be
cleaned up.

This commit also upgrades caffeine and moving forward we can always
upgrade caffeine (and potentially shade it) without any conflict with
the scalacache version.
2020-08-07 17:18:09 -07:00
eugene yokota a59d9fbb97
Merge branch 'develop' into wip/versionscheme 2020-08-06 21:04:21 -04:00
Eugene Yokota 002f97cae7 Build pipelining
Ref https://github.com/sbt/zinc/pull/744

This implements `ThisBuild / usePipelining`, which configures subproject pipelining available from Zinc 1.4.0.

The basic idea is to start subproject compilation as soon as pickle JARs (early output) becomes available. This is in part enabled by Scala compiler's new flags `-Ypickle-java` and `-Ypickle-write`.

The other part of magic is the use of `Def.promise`:

```
earlyOutputPing := Def.promise[Boolean],
```

This notifies `compileEarly` task, which to the rest of the tasks would look like a normal task but in fact it is promise-blocked. In other words, without calling full `compile` task together, `compileEarly` will never return, forever waiting for the `earlyOutputPing`.
2020-08-06 02:31:01 -04:00
Eugene Yokota f947970247 versionScheme setting + better eviction warning
Ref https://github.com/sbt/sbt/issues/5710
Ref https://github.com/sbt/librarymanagement/pull/339

This adds `versionScheme` setting. When set, it is included into POM, and gets picked up on the other side as an extra attribute of ModuleID. That information in turn is used to inform the eviction warning.

This should reduce the false positives associated with SemVer'ed libraries showing up in the eviction warning.
2020-08-05 18:11:02 -04:00
eugene yokota e76f61bec5
Merge pull request #5575 from eed3si9n/wip/bump
update to lm-coursier-shaded 2.0.0-RC6-8
2020-08-01 17:13:01 -04:00
Eugene Yokota 2bebee4dfe lm-coursier-shaded 2.0.0-RC6-8
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.0-RC6-5
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.0-RC6-6
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.0-RC6-7
https://github.com/coursier/sbt-coursier/releases/tag/v2.0.0-RC6-8

Ref https://github.com/coursier/sbt-coursier/pull/235
Ref https://github.com/coursier/sbt-coursier/pull/262
2020-08-01 15:51:19 -04:00
eugene yokota b345205c28
Merge pull request #5700 from eed3si9n/wip/bumpzinc
Drop unused Scala X-Ray (sxr) integration
2020-07-27 17:45:50 -04:00
Ethan Atkins 4698f388e9 Remove lint warnings in sbt build
There were a number of unused key lint warnings when loading the sbt
build. In the case of `fork in compile` and `crossVersion in update`, it
wasn't clear that these were actually used, so I removed those settings.
The others seemed to be used so I just added them to the exclude list.

To make this work with legacy versions of sbt, I redefined the
excludeLintKeys key. Once we update the build.properties to a 1.4.x
version, we can drop the `val excludeLint` definition and replace
`excludeLint` with `excludeLintKeys`.

Side note: ++= does not work with excludeLintKeys which is why I used +=
for the excludes.
2020-07-27 09:37:53 -07:00
Eugene Yokota 44e39ec15e Drop unused Sxr 2020-07-25 15:26:35 -04:00
Eugene Yokota 7741b9ae2d Zinc 1.4.0-M7 2020-07-24 23:50:54 -04:00
Ethan Atkins bc4fe0a31a Cross build collectionProj 2020-07-10 13:37:54 -07:00
Ethan Atkins 2ecf5967ee Upgrade LineReader to JLine3
This commit upgrades sbt to using jline3. The advantage to jline3 is
that it has a significantly better tab completion engine that is more
similar to what you get from zsh or fish.

The diff is bigger than I'd hoped because there are a number of
behaviors that are different in jline3 vs jline2 in how the library
consumes input streams and implements various features. I also was
unable to remove jline2 because we need it for older versions of the
scala console to work correctly with the thin client. As a result, the
changes are largely additive.

A good amount of this commit was in adding more protocol so that the
remote client can forward its jline3 terminal information to the server.

There were a number of minor changes that I made that either fixed
outstanding ui bugs from #5620 or regressions due to differences between
jline3 and jline2.

The number one thing that caused problems is that the jline3 LineReader
insists on using a NonBlockingInputStream. The implementation ofo
NonBlockingInputStream seems buggy. Moreover, sbt internally uses a
non blocking input stream for system in so jline is adding non blocking
to an already non blocking stream, which is frustrating.

A long term solution might be to consider insourcing LineReader.java
from jline3 and just adapting it to use an sbt terminal rather than
fighting with the jline3 api. This would also have the advantage of not
conflicting with other versions of jline3. Even if we don't, we may want to
shade jline3 if that is possible.
2020-07-10 13:37:53 -07:00
Scala Steward fb4b6c0727
Update sbt, scripted-plugin to 1.3.13 (#259) 2020-07-08 17:09:00 +02:00
Ethan Atkins 7dc4f7ce2d Merge remote-tracking branch 'origin/develop' into wip-sbt-instant-startup 2020-06-29 16:44:24 -07:00
Eugene Yokota 73b0c91dfc scala-xml 1.3.0 2020-06-27 01:14:35 -04:00
Ethan Atkins ba345dd797 Add multi-client ui to server
This commit makes it possible for the sbt server to render the same ui
to multiple clients. The network client ui should look nearly identical
to the console ui except for the log messages about the experimental
client.

The way that it works is that it associates a ui thread with each
terminal. Whenever a command starts or completes, callbacks are invoked
on the various channels to update their ui state. For example, if there
are two clients and one of them runs compile, then the prompt is changed
from AskUser to Running for the terminal that initiated the command
while the other client remains in the AskUser state. Whenever the client
changes uses ui states, the existing thread is terminated if it is
running and a new thread is begun.

The UITask formalizes this process. It is based on the AskUser class
from older versions of sbt. In fact, there is an AskUserTask which is
very similar. It uses jline to read input from the terminal (which could
be a network terminal). When it gets a line, it submits it to the
CommandExchange and exits. Once the next command is run (which may or
may not be the command it submitted), the ui state will be reset.

The debug, info, warn and error commands should work with the multi
client ui. When run, they set the log level globally, not just for the
client that set the level.
2020-06-24 19:40:17 -07:00
Ethan Atkins 1b03c9b1a9 Make Terminal a trait to support multiple clients
In order to support a multi-client sbt server ux, we need to factor
`Terminal` out into a class instead of a singleton. Each terminal provides
and outputstream and inputstream. In all of the places where we were
previously relying on the `Terminal` singleton we need to update the
code to use `Terminal.get`, which will redirect io to the terminal whose
command is currently running.

This commit does not implement the server side ui for network clients.
It is just preparatory work for the multi-client ui.

The Terminal implementations have thread safe access to the output
stream. For this reason, I had to remove the sychronization on the
ConsoleOut lockObject. There were code paths that led to deadlock when
synchronizing on the lockObject.
2020-06-24 19:22:57 -07:00
Ethan Atkins 41d66abb02 Add support for JNI implementation of ClientSocket
The JNI implementation is needed in order for a graalvm native-image to
be build of the NetworkClient.
2020-06-24 19:19:06 -07:00
Ethan Atkins cc80b6c6ed Bump javafmt plugin version 2020-06-24 11:24:15 -07:00
Alexandre Archambault 78e61fec0f
Update sbt-compatibility to 0.0.8 (#252) 2020-06-16 14:16:10 +02:00
Eugene Yokota 5a37ef14fc Zinc 1.4.0-M6 2020-06-14 15:55:37 -04:00
Scala Steward 41e561f9ab
Update sbt-compatibility to 0.0.8 (#253) 2020-06-12 22:07:10 +02:00
Alexandre Archambault 3d9462a6e2 Check for evictions on CI 2020-06-09 16:21:27 +02:00
Alexandre Archambault e6be0cb7fb Add sbt-compatibility 2020-06-09 16:21:27 +02:00
Eugene Yokota 18a8701083 sjson-new 0.9.0 2020-06-09 00:42:56 -04:00
Eugene Yokota 0d15fe1162 Remove HTTP support without explicit opt-in
Ref https://github.com/sbt/sbt/issues/4905
2020-06-07 01:50:41 -04:00
Alexandre Archambault 24f1baaf97 Temporarily use custom sbt-mima
That fetches previous artifacts with coursier rather than ivy.
2020-06-02 16:17:48 +02:00
Scala Steward 154fad5a5e
Update sbt, scripted-plugin to 1.3.12 (#246) 2020-06-02 10:52:44 +02:00
Scala Steward 6cfc9d6267
Update sbt, scripted-plugin to 1.3.11 (#245) 2020-05-30 03:17:44 +02:00
Eugene Yokota 4bb4c3a9b6 launcher 1.1.4
Forward `m.allowInsecureProtocol` to `MavenRepository`.
2020-05-28 16:21:46 -04:00
Eugene Yokota c1dbeca90f Ivy 2.3.0-sbt-839fad1cdc07cf6fc81364d74c323867230432ad 2020-05-28 00:48:36 -04:00
Alexandre Archambault f850a9c966 Update coursier to 2.0.0-RC6-4
And warn at start-up if ~/.coursier/cache is found.
2020-05-14 15:54:43 +02:00
Alexandre Archambault ee8a818160 Remove sbt-lm-coursier
It's actually not needed, and can be an issue if users use a vanilla sbt
launcher, pulling an old lm-coursier library.
2020-05-12 16:13:32 +02:00
Alexandre Archambault 94edfb1530 Use sbt-lm-coursier rather than sbt-coursier 2020-05-12 14:50:01 +02:00
Alexandre Archambault 90c80c1959 Update sbt-coursier to 2.0.0-RC6-4 2020-05-12 14:49:14 +02:00
Alexandre Archambault e43be3d52d Update sbt-shading to 2.0.0 2020-05-12 01:00:40 +02:00
Eugene Yokota e8ad695623 IO 1.4.0-M6 2020-05-09 15:53:33 -04:00
Eugene Yokota de098b94d2 IO 1.4.0-M4 2020-05-05 21:47:48 -04:00
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