Commit Graph

17196 Commits

Author SHA1 Message Date
Eugene Yokota b1a3ef3743 Merge branch '1.11.x' into wip/merge-1.11.x 2025-08-02 23:13:41 -04:00
eugene yokota 7550356ef6
Merge pull request #8181 from eed3si9n/wip/test-type
[2.x] refactor: Change the test type
2025-08-02 18:26:58 -04:00
Eugene Yokota c8737b8e4f refactor: Change the test type
**Problem**
test task is typed to unit.
To distinguish test from any other tasks, we want to actually type this to something.

**Solution**
Forward TestResult to the test task.
2025-08-02 18:12:20 -04:00
eugene yokota 5c12b605eb
Merge pull request #8180 from eed3si9n/wip/wait
fix: Use promise to wait for forked test
2025-08-02 15:31:46 -04:00
Eugene Yokota 9b1e644be1 fix: Use promise to wait for forked test
**Problem**
I'm seeing NPE in some test-related tests like tests/junit:
[info] [error] java.lang.NullPointerException: Null output stream
[info] [error] 	at java.io.PrintStream.requireNonNull(PrintStream.java:79)
[info] [error] 	at java.io.PrintStream.<init>(PrintStream.java:151)
[info] [error] 	at java.io.PrintStream.<init>(PrintStream.java:135)
[info] [error] 	at sbt.internal.WorkerProxy.inputStream$lzyINIT1(WorkerExchange.scala:69)
[info] [error] 	at sbt.internal.WorkerProxy.inputStream(WorkerExchange.scala:69)
[info] [error] 	at sbt.internal.WorkerProxy.println(WorkerExchange.scala:77)
[info] [error] 	at sbt.ForkTests$.mainTestTask$$anonfun$1(ForkTests.scala:160)

This is likely coming from ProcessBuilder#run not immediately processing the passed in processIO.

**Solution**
This uses Promise to wait for the processIO to be processed.
2025-08-02 15:14:22 -04:00
eugene yokota a8cd83a4f1
Merge pull request #8179 from xuwei-k/Scala-3-7-2 2025-07-31 20:27:27 -04:00
xuwei-k 5581f5fd1a Scala 3.7.2 2025-07-30 09:55:46 +09:00
eugene yokota f284e809d4
Merge pull request #8170 from eed3si9n/wip/worker2
[2.x] Implement worker + forked test
2025-07-06 13:31:26 -05:00
Eugene Yokota 2293bddfef sbt 1.11.3 2025-07-05 15:17:39 -05:00
eugene yokota 0558c56bd1
Merge pull request #8171 from guizmaii/sonaRelease_timeout
[1.x] Allow users to configure the timeout when publishing to the Maven Central repo
2025-07-05 00:58:56 -04:00
Jules Ivanic 8c0010a086
Review: the new configurable request timeout value should be `10.minutes` and should only be used for upload 2025-07-04 16:40:52 +04:00
Eugene Yokota b247e2620f Reimplement test agent as a worker command
This sends JSON-RPC over stdin as opposed to using ObjectStream over socket.
2025-07-04 01:28:56 -04:00
Jules Ivanic 084ca08f34
Allow users to configure the timeout when publishing to the Maven Central repo 2025-07-02 13:53:50 +04:00
Eugene Yokota eb74554ec1 Worker
This implements plain run for worker for testing.
2025-06-30 02:44:36 -04:00
eugene yokota c3baa55668
Merge pull request #8169 from eed3si9n/wip/jdk8
ci: Run some CI on JDK 8
2025-06-28 20:21:41 -04:00
Eugene Yokota bf098ef911 Use Caffeine 2.8.5 for JDK 8 2025-06-28 20:01:18 -04:00
Eugene Yokota 6a5e32efb4 Run some CI on JDK 8 2025-06-28 18:36:55 -04:00
eugene yokota 3342752e6b
Merge pull request #8168 from Duhemm/mduhem/name-dash
Support minus sign in project names
2025-06-26 21:37:25 -04:00
Martin Duhem 79dbcd2ff4
Support minus sign in project names
Previously, sbt would crash when attempting to load a build where
projects had minus signs (`-`) in their name.

For instance, when trying to load a project defined like this:

    lazy val `my-project` = project

After compilation, this definition looks somewhat like this

    val my$minusproject$lzy1 = ...

sbt was attempting to retrieve the original definition (without the $lzy
suffix) by taking the mangled name up to the first `$`. Unfortunately,
this approach does not work when the name includes special characters
like a minus sign, because these will be prefixed with `$` as well. In
the current example, sbt would then try to find the member named `my`,
fail, and crash.

This patch fixes the issue by using the "underlying" name, which is the
name without the additional information.
2025-06-26 10:58:11 +02:00
eugene yokota 1a06f29d0b
Merge pull request #8161 from eed3si9n/wip/cached-by-default
[2.x] Default to cached task
2025-06-21 03:39:32 -04:00
Eugene Yokota 6a7b56a645 Default to cached task
This flips the default `:=` operation to the cached task.
To opt out of the cache, use `Def.uncached(...)` or
mark the key with `@cacheLevel(include = Array.empty)`
2025-06-21 08:54:51 +09:00
eugene yokota f37aea07b2
Merge pull request #8167 from unkarjedy/1.11.x
fix: do not treat values "1.x" of "pluginCrossBuild/sbtBinaryVersion" as sbt 2 (fixes #8166)
2025-06-19 17:10:22 -04:00
Dmitrii Naumenko c3925c85ef fix: do not treat values "1.x" of "pluginCrossBuild/sbtBinaryVersion" as sbt 2 (fixes #8166)
As a consequence, this fixes artifact name contraction for maven style and thus fixes publishing to Sonatype when a cross-built sbt version is different from 1.0
2025-06-19 14:24:36 +02:00
eugene yokota 580c357124
Merge pull request #8165 from xuwei-k/update-sbt-2-libs 2025-06-18 22:07:01 -04:00
eugene yokota 73e5611d94
Merge pull request #8164 from xuwei-k/dataclass-scalafix 2025-06-18 22:05:20 -04:00
xuwei-k 8fbffad908 update dependencies 2025-06-18 07:59:10 +09:00
xuwei-k d0a4f2ce96 update dataclass-scalafix 2025-06-18 07:13:27 +09:00
eugene yokota 2db4b1af0f
Merge pull request #8162 from inglor/1.11.x 2025-06-11 10:22:30 -04:00
Leonidas Spyropoulos 1cd9c1ec64
fix: semanticdb expects Wildcard imports to be in the last position
Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2025-06-11 08:57:07 +01:00
eugene yokota a422ef40a4
Merge pull request #8159 from eed3si9n/fport/sonatype
[2.x] Add Resolver.sonatypeCentralRepo
2025-06-08 02:28:58 -04:00
Eugene Yokota 41a9e3b952 fport: Add Resolver.sonatypeCentralRepo 2025-06-08 02:08:54 -04:00
eugene yokota 8dac9db39e
Merge pull request #8158 from eed3si9n/fport/coursier
[2.x] fport: Ensure caching uses weak references
2025-06-08 00:09:00 -04:00
Matt Dziuban 8b0bcc6fcf Revert use of WeakReferences for SbtUpdateReport cached values 2025-06-07 23:44:29 -04:00
Matt Dziuban 882a10a89f Ensure caching uses weak references for both keys and values 2025-06-07 23:39:22 -04:00
Eugene Yokota 0045c34d28 sbt 1.11.2 2025-06-07 16:19:15 -04:00
eugene yokota 48c7700791
Merge pull request #8156 from eed3si9n/wip/sonatype
[1.x] update to lm 1.11.2 and deprecate sonatypeOssSnapshots
2025-06-07 13:36:23 -04:00
Eugene Yokota 009efd6422 update to lm 1.11.2 and deprecate sonatypeOssSnapshots 2025-06-07 03:00:43 -04:00
eugene yokota 76f65707b6
Merge pull request #8152 from eed3si9n/wip/bump-lm-coursier2
[1.x] lm-coursier 2.1.10
2025-06-03 12:05:39 -04:00
Eugene Yokota 575228a639 lm-coursier 2.1.10 2025-06-03 06:41:12 -04:00
eugene yokota c41c259189
Merge pull request #8151 from xuwei-k/scala-3-7-1 2025-06-02 19:53:26 -04:00
xuwei-k b1eff478ce Scala 3.7.1 2025-06-03 07:50:08 +09:00
Eugene Yokota d004317458 sbt 1.11.1 2025-06-02 00:20:11 -04:00
eugene yokota 6cf1f610de
Merge pull request #8149 from eed3si9n/wip/bump-lm-coursier
[1.x] deps: Update lm-coursier-shaded 2.1.9
2025-06-01 23:37:25 -04:00
Eugene Yokota 3e25bd3e46 deps: Update lm-coursier-shaded 2.1.9 2025-06-01 23:14:58 -04:00
eugene yokota ac397d900c
Merge pull request #8148 from eed3si9n/wip/plugin
fix: Default sbtPluginPublishLegacyMavenStyle to false
2025-06-01 23:09:55 -04:00
Eugene Yokota 2036ce6836 fix: Default sbtPluginPublishLegacyMavenStyle to false
**Problem**
Central Portal no longer supports the legacy sbt plugin layout.

**Solution**
Make the default more friendly by setting sbtPluginPublishLegacyMavenStyle to false.
2025-06-01 22:43:43 -04:00
eugene yokota 019a1dd1f7
Merge pull request #8147 from eed3si9n/wip/publish
[1.x] ci: Use Central Portal for publishing
2025-06-01 18:05:28 -04:00
Eugene Yokota d93e1226e3 ci: Use Central Portal for publishing 2025-06-01 17:53:33 -04:00
eugene yokota a0ed4d9847
Merge pull request #8143 from rtyley/patch-1 2025-05-30 09:31:01 -04:00
Roberto Tyley d97373454f
Add `sonaDeploymentName` to `excludeLintKeys`
sbt added the `sonaDeploymentName` key with https://github.com/sbt/sbt/pull/8126, released with https://github.com/sbt/sbt/releases/tag/v1.11.0 - in use, this seems to be getting lint warnings (as introduced by https://github.com/sbt/sbt/pull/5153):

```
[warn] there's a key that's not used by any other settings/tasks:
[warn]  
[warn] * scala-collection-plus / sonaDeploymentName
[warn]   +- /home/runner/work/scala-collection-plus/scala-collection-plus/build.sbt:3
[warn]  
[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
```

https://github.com/rtyley/scala-collection-plus/actions/runs/15326291872/job/43121748535#step:6:19

...https://github.com/sbt/sbt/pull/5153 does say that "notable exceptions are settings used exclusively by a command" - I _think_ that maybe `sonaDeploymentName` is only used by the commands `sonaRelease` & `sonaUpload`, so it's necessary to add it to `excludeLintKeys`?
2025-05-29 16:18:28 +01:00