1877 Commits
Author SHA1 Message Date
eugene yokota d1b8c573d5 [2.x] fix: Use Path.userHome (#9866)
**Problem**
user.home can return "?"

**Solution**
This centralize to Path.userHome, which works around the JDK bug.
2026-10-03 22:05:40 -04:00
kenji yoshida 1f1d094747 [2.x] Replace old sun.misc.Unsafe lazy val in lmCoursierShaded (#9853) 2026-10-01 23:57:57 -04:00
eugene yokotaandClaude Opus 5.5 a1a1ec83d1 [2.x] fix: Fix one-line catch cases broken by the reformat (#9857)
**Problem**
The Scala 3 syntax reformat (f9688c146) turned braced catch blocks such
as

    catch { case e: Exception => e.printStackTrace(); 1 }

into one-line catch cases. A one-line catch case body is a single
expression, so the semicolon ends the catch case and the value after it
becomes a separate statement that is always the result. ForkTest always
saw an exit code of 1 and both of its properties failed, and
extractLicenses0 in the build always returned Nil instead of the
license files referenced by NOTICE.

**Solution**
Put the catch case bodies on their own lines so the trailing value is
part of the catch case again.

Generated-by: Claude Opus 5.5

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-01 19:07:26 -04:00
eugene yokota eaedb46ad9 [2.x] fix: Remove write permission from CAS (prevent CAS corruption) (#9847)
**Problem**
CAS currently allows write through.

**Solution**
This prevents it on POSIX systems.
2026-10-01 13:03:36 -04:00
eugene yokota fbaf4be64f [2.x] deps: Update Coursier to 2.1.26 (#9852) 2026-10-01 12:35:15 -04:00
eugene yokota 0a70458a4b [2.x] deps: Zinc 2.1.0-M5 (#9837) 2026-09-28 04:15:44 -04:00
kenji yoshida 792bf0b73c Use sbt 2.1.0-M2 (#9833) 2026-09-27 13:54:29 -04:00
eugene yokota 5e5cebf7fd [2.x] Update Zinc to 2.1.0-M4 (#9802) 2026-09-21 04:20:20 -04:00
eugene yokota fad9988582 [2.x] Revert to Zinc 2.1.0-M2 (#9800) 2026-09-21 01:42:21 -04:00
Eugene Yokota 021f40d358 [2.x] Zinc 2.1.0-M3 Gigahorse 0.9.7 2026-09-21 00:27:15 -04:00
kenji yoshida 3fe78f4163 [2.x] deps: Update caffeine (#9796) 2026-09-20 04:43:12 -04:00
kenji yoshida 3dc5e621f6 [2.x] deps: Remove disruptor dependency (#9797) 2026-09-20 04:42:25 -04:00
eugene yokota e17be8456a [2.x] deps: Launcher 1.7.0 (#9798)
This uses multi-release jar to woarkaround sun.misc.Unsafe.
2026-09-20 04:11:55 -04:00
eugene yokota e95712b79f [2.x] deps: Coursier 2.1.25 (#9784) 2026-09-17 19:20:43 -04:00
kenji yoshida ef2b58a358 [2.x] deps: Update scala-xml and scala-parser-combinators (#9777) 2026-09-16 12:54:11 -04:00
eugene yokota 31779bf38d [2.x] fix: Update to Gigahorse 0.9.6 for preauth (#9775)
**Problem**
With HTTP/2, Apache HttpClient can begin the authenticated replay while the rejected stream is still consuming the same repeatable file producer.
The overlapping consumption can send corrupted artifacts, according to mkurz.

**Solution**
This hopefully fixes the issue by updateing to Gigahorse 0.9.6, which fixes the preauth support.
2026-09-16 12:16:10 -04:00
kenji yoshida 21fe27f62c [2.x] ci: Fix warnings (#9768) 2026-09-14 19:28:07 -04:00
eugene yokota e0666adb7b [2.x] Use sbt 2.1.0-M1 (#9767) 2026-09-14 17:20:36 -04:00
Albert Meltzer 9532b51190 ci: Upgrade MiMa to 1.2.0 (#9750)
* build: Upgrade MiMa to 1.2.0
* build: Filter every sbt.internal problem at once
2026-09-11 19:28:12 -04:00
Eugene Yokota f9688c1464 Apply Scalafmt format (Scala 3 syntax) 2026-09-10 14:16:27 -04:00
eugene yokota 5966b2b35d Merge pull request #9733 from eed3si9n/wip/bump-zinc
[2.x] Update Zinc to 2.1.0-M2
2026-09-10 12:22:37 -04:00
Eugene Yokota c0f788a460 [2.x] Update Zinc to 2.1.0-M2 2026-09-10 01:15:24 -04:00
Anatolii Kmetiuk 56ee42565c [2.x] fix: Remove Ivy API usage from build publishing plugins (#9723) 2026-09-10 10:30:39 +09:00
eugene yokota 40bfe14274 [2.x] IO 1.13.2 (#9731) 2026-09-09 15:48:32 -04:00
Albert MeltzerandClaude Opus 5 9a858d15d1 [2.x] fix: Write the server's files by rename (#9689)
* [2.x] test: Pin how a server writes its files

**Problem**
Nothing covers how the server writes the portfile and the token file.
The next commit changes both.

**Solution**
Assert what the server does now. The tests read the token file only.
The server rewrites it on every authentication, so a test can read it
while the server writes. The server writes the portfile once, as it
starts.

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

* [2.x] fix: Write the portfile and zip by rename

**Problem**
A client reads the portfile as soon as it appears. The server wrote it
with IO.write, in place, so a client could read part of one and fail to
parse it. ActionCache staged and renamed its zip by hand.

**Solution**
The portfile calls IO.writeFileAtomically, and the cache zip calls
IO.copyFile, which stages and renames on its own. The token file needs
its staging file kept to the owner, which neither can do yet, so it
still writes its own way.

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

* [2.x] sbt-io: upgrade to v1.13.1

* [2.x] fix: Write the token file by rename

**Problem**
writeTokenfile would first remove the existing token file, and then go
through a non-atomic sequence of steps to write a new one. If a client
attempts to read the file during that process, it is likely to find it
either missing or half-written.

**Solution**
Use newly released IO.writeFileAtomically with ownerOnly flag set.

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
2026-09-04 12:07:13 +09:00
eugene yokota a62c3d62f4 [2.x] Scala 3.9.0 (#9439)
Use Scala 3.9.0 for metabuild.
2026-08-27 01:44:57 -04:00
Mai Huy HoàngandClaude Opus 5 e98ead410c [2.x] perf: write packageBin jars and action cache zips in parallel (#9661)
sbt writes two archives per module per build: the packageBin /
packageInternal jar, and the zip the disk action cache stores an output
directory as. Both deflate one entry at a time on the calling thread.

io 1.13.0 adds IO.jarParallel / IO.zipParallel, which deflate entries
concurrently and produce byte-identical archives. Switch both call sites
over, taking the executor from IO.Implicits.zipContext -- io keeps it
behind that object so the choice is explicit rather than an ambient
ExecutionContext.

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
2026-08-25 10:56:08 -04:00
eugene yokota d4ada26c86 [2.x] fix: Fixes JDK 17 domain socket deadlocks (#9671)
**Problem**
Channels.newInputStream/newOutputStream share a channel-wide lock,
which would deadlock for a duplex communication.

**Solution**
This implements an alternative DuplexChannels functions that's capable
of duplex communication expected of a "socket".

This also duplicates the Java implementation to the worker app,
so we can use JDK domain socket for forked test communication.
2026-08-25 02:02:37 -04:00
eugene yokota efb9f93fca [2.x] test: Community Build (#9659)
This adds community build based on the JUnit harness used on scala/scala3.
2026-08-24 12:03:22 -04:00
eugene yokota a91cf079db [2.x] Remove Ivy dependency (#9615)
**Problem**
sbt still has some code that's depending on Ivy.

**Solution**
This removes it.
2026-08-24 12:02:28 -04:00
eugene yokota bd9d9b3f5d [2.x] Symlink CLAUDE.md to AGENTS.md (#9663) 2026-08-24 03:38:07 -04:00
kenji yoshida 42f8b949f7 [2.x] ci: Update sbt and plugins (#9603) 2026-08-15 11:20:18 -04:00
eugene yokota b130cbcd05 [2.x] Use sbt 2.0.4 (#9512) 2026-07-27 00:02:28 -04:00
eugene yokota 017ee92527 [2.x] Zinc 2.0.4 (#9508) 2026-07-26 14:45:03 -04:00
eugene yokota f59c12559f [2.x] ci: Fix publishLocalBin (#9505)
**Problem/Solution**
dummyDoc was not cached properly.
2026-07-26 02:08:54 -04:00
eugene yokota 0a0d6f67df [2.x] Zinc 2.0.3 (#9498) 2026-07-24 15:53:41 -04:00
kenji yoshida 4721f7f496 [2.x] ci: Update project/plugins.sbt (#9491) 2026-07-23 12:48:00 -04:00
eugene yokota d4e8fb583c [2.x] Zinc 2.0.2 (#9489) 2026-07-23 02:47:12 -04:00
kenji yoshida e1f118743c [2.x] ci: Build sbt/sbt using sbt 2 (#9244) 2026-07-20 12:38:53 -04:00
BrianHotoppandClaude Opus 4.8 b411ade704 [2.x] fix: Don't cache environmental (position-less) compile failures (#9464)
Failure caching assumes a CompileFailed is a function of
the sources, which is true for source errors. But zinc also surfaces I/O write
failures ("error writing X.class") as compiler problems, so an environmental
failure (a concurrent target/ deletion, a permission blip) was cached under the
same mechanism and replayed from the global action cache on every later build,
even after the cause was gone. When the poisoned task is the metabuild compile
this is self-sustaining and unrecoverable from inside sbt: project loading
fails, so no task -- including clean -- can run, and only deleting the global
cache by hand recovers. The replayed diagnostics also name files/permissions
that no longer exist.

Refs #9455

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-18 09:49:05 -04:00
Anatolii Kmetiuk 271cde7025 [2.x] restore JVM option capability in the launcher config (#9452)
Restores override-build-repos config option responsible for passing the JVM flag to the launcher.
2026-07-16 02:39:59 -04:00
eugene yokota e68edc51a3 [2.x] sjson-new 0.15.1 (#9458) 2026-07-16 01:02:56 -04:00
eugene yokota 427b444ba5 [2.x] Ivy 2.3.0-sbt-f686954b0021a5c3245766ced0cdaeca8ba2fd7a (#9457) 2026-07-16 01:02:39 -04:00
eugene yokota 257fb50e4c [2.x] ipcsocket 1.8.0 (#9433) 2026-07-11 15:01:20 -04:00
eugene yokota 209867c7db [2.x] ivy 2.3.0-sbt-939a7ea82f140cdb1f51dc404bb43e00a8c43b83 (#9423) 2026-07-10 17:17:47 -04:00
eugene yokotaandJason Zaugg af37f1f765 [2.x] Update Coursier to version 2.1.25-M26 (#9393)
Includes performance improvements.

https://github.com/coursier/coursier/compare/v2.1.25-M25...v2.1.25-M26

Co-authored-by: Jason Zaugg <[email protected]>
2026-06-27 16:36:14 -04:00
eugene yokota 2932685ed2 [2.x] ipcsocket 1.7.0 (#9361) 2026-06-21 01:31:40 -04:00
eugene yokota d8929ad8d7 [2.x] ci: sbt-salad-days (#9360) 2026-06-21 01:08:31 -04:00
eugene yokota 75f1d15a81 [2.x] fix: Fixes chunked upload/download (#9318)
**Problem**
Chunked upload/download doesn't work.

**Solution**
1. This fixes the SERVICE_NAME shading.
2. This fixes the resource name.
3. This fixes download stream processing.
2026-06-09 21:48:07 +09:00
eugene yokota b9e98b9e8a [2.x] Update to Scala 3.8.4 (#9302) 2026-06-07 20:52:13 -04:00