Commit Graph

3364 Commits

Author SHA1 Message Date
Eugene Yokota 12d2cc8ef1 fix: Use Retry.io for compilation
**Problem**
sbt 1.10.10 still has retry problem with compilation.

**Solution**
Revert the retry logic back to the time when we only retried IOExceptions.
2025-03-16 21:43:01 -04:00
Eugene Yokota bd7bf73de5 fix: Fix SIP-51 message
**Problem**
The error message uses name, which may not match the actual project id
that the user can type into the shell.

**Solution**
Use displayBuildRelative to calculate the proper subproject id.
2025-03-16 14:58:23 -04:00
Eugene Yokota 946b54c858 Skip retry on CompileCancelled
**Problem**
When compilation fails, it's retrying 10 times
since Retry now retries on non-IOExceptions.

**Solution**
This adds CompileFailed to excluded exception list.
2025-03-03 22:19:22 -05:00
Eugene Yokota 5d5fe21ec5 Revert run switching on 1.x
**Problem**
client-side run apparently won't work for Scala.JS,
so forcing sbtn users to client-side run will break the Scala.JS users.

**Solution**
This reverts the client-side run on sbt 1.x, while retaining the
mechanism for sbt 2.x usages via sbtn.
Now, if `run / connectInput := true` is true, stdout will not display on sbtn.
2025-03-03 04:59:36 -05:00
Eugene Yokota a18ed19cbc fix: Use JDK path, not JRE path
**Problem**
There are a few places where javaHome or java path is set,
using java.home system property. The problem is that it points to JRE,
not JDK, so it would break on Java compilation etc.

**Solution**
If the path ends with jre, go up one directory.
2025-03-03 02:31:44 -05:00
Eugene Yokota 67265638c6 Implement client-side run
**Problem**
`run` task blocks the server, but during the run the server is just
waiting for the built program to finish.

**Solution**
This implements client-side run where the server creates a sandbox
environment, and sends the information to the client,
and the client forks a new JVM to perform the run.
2025-03-02 20:45:04 -05:00
Dmitrii Naumenko a7d862a08b detect user-specific jdk installations on macOs (fixes #8031)
User-specific JDKs are installed, for example, by IntelliJ IDEA
2025-02-04 18:11:40 +01:00
Josh Soref 2ee5eb7fa7 Make timing outputs consistently show hours and hint at time format
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-29 04:20:37 -05:00
Eugene Yokota 55b1fdeddb fix: Fix Chrome tracing file
**Problem**
We changed the content of Chrome tracing file incorrectly
and renamed tid to tname.

**Solution**
1. This renames tname back to to tid.
2. To retain the fix to avoid Thread#getId, this calls
   either the JDK 8 way or the JDK 19 way reflectively.
2025-01-28 04:11:36 -05:00
Lukas Rytz e46843bfd9 Add setting to allow demoting the SIP-51 build failure
Add a `allowUnsafeScalaLibUpgrade` setting (default is `false`) to
demote the SIP-51 build failure to a warning.

If the scalaVersion is 2.13.12 but some dependency pulls in
scala-library 2.13.13, the compiler will stay at 2.13.12, but
the dependency classpath will contain scala-library 2.13.13.

This usually works, the compiler can run fine with a newer
scala-library on its dependency classpath.
Macro expansion may fail, if the macro uses some library
class / method that doesn't exist in the old version.
The macro itself is loaded from the dependency classpath
into the class loader running the compiler, where the older
Scala library is on the runtime classpath.
Using the Scala REPL in sbt may also fail in a similar fashion.
2025-01-20 10:00:13 +01:00
Derek Wickern f0afda3dd0 make NetworkChannel#thread private 2025-01-11 13:08:18 -08:00
Derek Wickern a13bfd3ef9 fix race condition in NetworkChannel 2025-01-11 12:46:35 -08:00
friendseeker c834f500b9
Add comment 2024-12-30 19:30:15 -08:00
Friendseeker 1a8fa65af3 Avoid upstream compilation when calling previousCompile 2024-12-30 17:55:42 -08:00
adpi2 011c7083ad
Merge pull request #7913 from Friendseeker/sbt-7510
[1.x] Implement `jvmBuildTarget` for `workspace/buildTargets`
2024-12-30 09:06:53 +01:00
Friendseeker 13373415b3 Fix CI 2024-12-26 18:43:04 -08:00
friendseeker e23419efed Clean Zinc Cache for 'Compile / clean', 'Test / clean' 2024-12-26 15:37:33 -08:00
Friendseeker ad0ab07e99 Return jvmBuildTarget for workspace/buildTargets 2024-12-26 12:24:14 -08:00
Eugene Yokota de04f1f847 Update lm-coursier to 2.1.7
**Problem**
BOM support current has perf issues.

**Solution**
This bumps Coursier to 2.1.22.

This also adds a new setting `csrMavenDependencyOverride`,
which will default to false.
2024-12-22 19:59:49 -05:00
Eugene Yokota c3e4bc53c4 Giter8 0.17.0
**Problem/Solution**
Bump to Giter8 0.17.0.
2024-12-14 01:42:48 -05:00
Eugene Yokota 111eb123fa Call store.clearCache() 2024-11-30 00:51:20 -05:00
Eugene Yokota efe2a83c73 Zinc 1.10.5 2024-11-30 00:05:26 -05:00
eugene yokota f03ff1f32b
Merge pull request #7916 from Friendseeker/ctrl-c-background-task 2024-11-27 20:23:28 -05:00
friendseeker b49fe9dc97
Add boolean flag isAutoCancel
Address PR feedback from Eugene
2024-11-27 01:30:01 -08:00
friendseeker e613cb70ea
Avoid generation of negative frequency 2024-11-27 00:52:57 -08:00
Friendseeker 9494033bd6 Shutdown background jobs when pressing ctrl+c 2024-11-26 23:40:23 -08:00
friendseeker eefc89605e Improve message format for loading settings 2024-11-26 16:46:48 -08:00
eugene yokota f25fde18a4
Merge pull request #7906 from Friendseeker/sbt-6905
[1.x] Synchronize `dependencyTree` console output
2024-11-22 16:28:40 -05:00
eugene yokota 0ec6424a51
Merge pull request #7905 from Friendseeker/sbt-7828
[1.x] Synchronize `java.awt.Desktop.browse()`
2024-11-22 00:30:59 -05:00
Friendseeker 27cec84333 Synchronize dependencyTree console output 2024-11-21 17:36:22 -08:00
Friendseeker de4c3da451 Add synchronized for desktop.browse() 2024-11-21 17:02:15 -08:00
Friendseeker c8940bfba0 Respect dependencyBrowseGraphTarget, dependencyBrowseTreeTarget 2024-11-21 16:24:49 -08:00
friendseeker b4e9469816
Add double quote around thread name 2024-11-16 13:16:40 -08:00
Friendseeker 8ce6c1b47e Pass `useConsistent` to `staticCachedStore` 2024-11-04 13:21:08 -08:00
Eugene Yokota f8280f14c8 Fix ++ with a command argument
**Problem**
sbt 1.10.0 added support for ++ command with external reference,
but broke ++ takes an aggregate command with slash.

**Solution**
This fixes the parser
2024-11-03 14:42:10 -05:00
friendseeker fae2bcc01b
Add documentation & deduplicate implementation 2024-10-29 21:40:51 -07:00
Friendseeker 92d4cfa690 Replace nnbsp with regular space 2024-10-29 17:43:33 -07:00
Friendseeker 828dc04808 Migrate all usages of `System.console == null` 2024-10-28 18:25:16 -07:00
eugene yokota 64f0acf05f
Merge pull request #7838 from Friendseeker/sbt-7017
[1.x] Pass reload action for `watchOnTermination` callback
2024-10-28 02:23:38 -04:00
friendseeker 6d4d2161b2
Set correct action for onTermination callback 2024-10-27 22:43:44 -07:00
eugene yokota 4e15180596
Merge pull request #7830 from Friendseeker/remove-early-output-version
[1.x] Use generic early output file name
2024-10-28 01:12:58 -04:00
friendseeker 7d674f6c93
Throw when template not found 2024-10-26 22:10:48 -07:00
Friendseeker 4beb78b260
Adopt PR feedbacks 2024-10-26 16:24:45 -07:00
friendseeker 5e7fe0b158
Use more generic early output file name 2024-10-24 22:00:51 -07:00
eugene yokota 36fb500f8c
Merge pull request #7811 from Friendseeker/use-jline-jni
[1.x] Use `jline-terminal-jni` to replace deprecated Jansi & JNA Provider
2024-10-23 10:14:39 -04:00
philippus 1ba63a1c07
Deprecate useJCenter key 2024-10-23 07:56:00 +02:00
Friendseeker 0e85726858 Use JNI to replace deprecated Jansi & JNA 2024-10-22 13:05:20 -07:00
friendseeker 9d5cddd171
Let Consistent Analysis to be opt-in by default 2024-10-21 22:00:25 -07:00
Eugene Yokota b7a687356f deps: Zinc 1.10.3 2024-10-19 12:15:16 -04:00
Seth Tisue f06b7622be Scala 2.12.20 (was .19) 2024-10-10 12:53:31 -07:00