Commit Graph

3732 Commits

Author SHA1 Message Date
Eugene Yokota 21a9996b09 fix: Java-only tests
**Problem**
managedScalaInstance := false fails Java-only tests because
the test runner is based on a Scala Runner and sbt 2.x
currently derives the ScalaInstance only from update.

**Solution**
For the purpose of Java-only testing, create a dummy Scala Instance.
2025-08-25 22:12:56 -04:00
xuwei-k 7c53ba434a remove sbt-projectmatrix in template 2025-08-26 09:02:25 +09:00
Eugene Yokota b49fbea42f Adjust test 2025-08-25 02:41:31 -04:00
Eugene Yokota 9783cd092b Merge branch '1.11.x' into wip/merge-1.11.x 2025-08-25 02:29:12 -04:00
eugene yokota 0e4dcebe5f
Merge pull request #8219 from jeanmarc/1.11.x
[1.x] Include artifact name in Sona deployment
2025-08-23 16:48:42 -04:00
Eugene Yokota 724b8cebef scala-library 3.8.0 support
**Problem**
Scala 3.8.0 nightly and later in-sources the scala-library for the use by Scala 3, as opposed to using Scala-2.13-bound standard library.
This means that we will run into situations where scala-library should NOT align with scala-reflect, which might exist transitively.

**Solution**
Adjust the csrSameVersions rule for Scala 3.8 so it will only try to keep scala-library and scala3-library versions aligned.
2025-08-22 16:42:21 -04:00
Eugene Yokota 0c9408d312 fix: Fix sbt 1.x cross building
**Problem**
Under -Xlint, sbt 1.x complains that nowarn isn't doing anything.

**Solution**
Bring back Wconf for sbt 1.x cross building.
2025-08-21 07:19:12 +02:00
Eugene Yokota 1de603fb2f Revert "fix: Remove -Wconf:cat=unused-nowarn:s"
This reverts commit 56e83977e9.
2025-08-21 06:45:59 +02:00
JeanMarc van Leerdam da9dc644ee Include artifact name in Sona deployment 2025-08-20 08:41:06 +02:00
kenji yoshida 8db5c7dbfa
remove `-Wconf:cat=unused-nowarn:s` in Load.scala 2025-08-17 19:13:03 +09:00
Eugene Yokota 3ce9c962c8 Banner 2025-08-16 17:19:56 -04:00
Eugene Yokota 2e99220c1a Auto reload by default 2025-08-16 02:24:58 -04:00
Eugene Yokota 43382095ef Use scala.transient to denote the empty cache level 2025-08-16 01:27:14 -04:00
Eugene Yokota be5152dbfb sjson-new 0.14.0-M4 2025-08-15 22:12:06 -04:00
Eugene Yokota 5df3843410 fix: Fixes reload
**Problem**
Plugins go missing after reload.

**Solution**
We need to stop caching the classpaths apparently.
2025-08-10 04:58:53 -04:00
eugene yokota d7d2a6f0d4
Merge pull request #8199 from eed3si9n/wip/dependency-tree
[2.x] refactor: Unify to dependencyTree
2025-08-10 01:24:05 -04:00
Eugene Yokota (eed3si9n) 61fe604519 refactor: Unify to dependency-tree
**Problem**
While sbt-dependency-graph is useful, not just for the basic ASCII graph,
but for DOT file generation etc, it adds a large number of settings and
tasks for combination of formats and actions to the point that
we actually disable most of them by default.

**Solution*
I've had an idea for a while that dependencyTree can be implemented
as a inputTask that accepts its own subcommands and options,
and this implements that.

For example, to open the browser that hosts a DOT file, now you can write
    dependencyTree dot --browse
2025-08-10 00:37:16 -04:00
Eugene Yokota 7d00a2c51d Merge branch '1.11.x' into wip/merge-1.11.x 2025-08-09 13:47:36 -04:00
Eugene Yokota 9e37218dcf refactor: Hide Ivy-related classes
Move Ivy-related classes to internal.
Promote IvyPaths and Credentials to core.
2025-08-09 01:52:45 -04:00
Eugene Yokota 42010a317e Flip testForkedParallel to true 2025-08-08 02:06:36 -04:00
Eugene Yokota 699c970065 Fix sonaUploadRequestTimeout
**Problem/Solution**
sonaUploadRequestTimeout should be a global key.
2025-08-04 04:28:53 -04:00
Eugene Yokota ac57fb083e Remove IntegrationTest 2025-08-03 19:50:33 -04:00
Eugene Yokota b1a3ef3743 Merge branch '1.11.x' into wip/merge-1.11.x 2025-08-02 23:13:41 -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
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 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
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 41a9e3b952 fport: Add Resolver.sonatypeCentralRepo 2025-06-08 02:08:54 -04:00
Eugene Yokota 009efd6422 update to lm 1.11.2 and deprecate sonatypeOssSnapshots 2025-06-07 03:00:43 -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
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
Eugene Yokota 4521f43995 Support debug output for macros
It's sometimes useful to get the output of the macro-generated code.
This adds a mechanism to allow plugins.sbt to pass in scalacOptions,
which we can later check from the macro.

1. -Xmacro-settings:sbt:Vprint prints out the code.
2. Adding -Xmacro-settings:sbt:print-tree-structure prints out the tree structure.
2025-05-27 00:58:41 -04:00
Eugene Yokota e023c2dc64 Merge branch '1.11.x' into wip/merge-1.11.x 2025-05-25 17:20:48 -04:00
Eugene Yokota eaf12caaa3 lm 1.11.0 2025-05-24 01:53:48 -04:00
Eugene Yokota 9e7a0fa136 fail on sonaRelease if the version is SNAPSHOT 2025-05-21 00:26:51 -04:00
Eugene Yokota 929b0bf525 fix: Fix Sonatype publishing
**Problem**
1. query string wasn't passed in, so sonaRelease wasn't working
2. deployment name should be human readable

**Solution**
This fixes the query string passing by hand-crafting the URL.

This also generates human readable deployment name.
2025-05-18 15:25:27 -04:00
Eugene Yokota 341cd9cf24 sonaBundle shouldn't aggregate 2025-05-15 22:33:43 -04:00
Eugene Yokota dc235777fe Implement environment variable support 2025-05-15 22:25:28 -04:00
Eugene Yokota d8813bc506 Sonatype Publish Portal support
**Problem**
Sonatype is sunsetting HTTP Rest endpoint OSSRH in June 2025.

**Solution**
This implements a built-in publishing mechanism.
Kudos to David Doyle who has spearheaded Sonatype Central support via sonatype-central-client etc.
2025-05-15 03:27:54 -04:00
Eugene Yokota 1795b797bf Merge branch '1.10.x' into wip/merge-1.10.x 2025-05-12 03:30:51 -04:00
Eugene Yokota 3b4547718e Remove deprecated methods 2025-05-11 05:23:41 -04:00
Eugene Yokota 967ecb49bc deps: Scala 3.7.0 2025-05-11 01:30:07 -04:00
kenji yoshida 1d7871233b
Revert "fix: BSP error status code in more cases" 2025-05-11 12:59:15 +09:00
eugene yokota 01df2e0c0f
Merge pull request #8114 from xuwei-k/implicit-explicit-using-2
[2.x] add `using` if explicitly providing arguments to methods defined with `implicit`
2025-05-09 11:02:53 -07:00
xuwei-k 74a4abf049 add `using` if explicitly providing arguments to methods defined with `implicit` 2025-05-09 20:11:43 +09:00
xuwei-k ce654c4ffc remove unused imports 2025-05-09 19:40:49 +09:00
Alec Theriault 5d81f2c3d1
fix: BSP error status code in more cases
Ensures that `buildTarget/compile` returns a `StatusCode.Error` instead
of a JSON-RPC error even when the compile error is buried deeper in the
`Incomplete` causes.

Fixes #8104
2025-05-07 06:16:27 -04:00
Eugene Yokota 1de1f903d8 refactor: Clean up EvaluateTask 2025-05-05 15:50:37 -04:00
Eugene Yokota d10e5b6f48 Add test for cache hits 2025-05-02 03:23:29 -04:00
Eugene Yokota 2fd08caeda Scala compiler plugin support
**Problem**
Compiler options for the compiler plugins ends up capturing the absolute path, specific to the machine.

**Solution**
This encodes the plugin paths as virtual paths.
2025-05-01 00:15:42 -04:00
Eugene Yokota 1415b2efa4 fix: Fix incremental test with companion objects [merge-skip]
**Problem**
Incremental test (aka testQuick) has a bug when companion objects
depends on others since at some point it's failing to look up relationship from Zinc analysis.

**Solution**
This fixes the lookup.
2025-03-31 22:44:57 -04:00
Brice Jaglin 9ff4e1d1e9 cache semanticdb output when not included in JAR 2025-03-28 12:47:03 +01:00
Eugene Yokota 2f4280c6f3 fix: Fix incremental test with companion objects
**Problem**
Incremental test (aka testQuick) has a bug when companion objects
depends on others since at some point it's failing to look up relationship from Zinc analysis.

**Solution**
This fixes the lookup.
2025-03-23 22:25:16 -04:00
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 de5c9b1869 Scala 3.6.4 2025-03-10 01:51:32 -04:00
Brice Jaglin 80ac808619
Remove debug println 2025-03-10 02:37:15 +01:00
Eugene Yokota 8db8c79d33 Implement client-side run
**Problem**
`run` task has been emulated via function call inside of a sandboxed classloader,
and blocking the command processing of sbt server loop.
This poses isolation and availability issues.

**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.
The client-side behavior has been implemented in sbtn side already.
2025-03-09 15:00:24 -04:00
Eugene Yokota 2c3c0f4a7c Merge branch '1.10.x' into wip/merge-1.10.x 2025-03-08 19:05:30 -05: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
xuwei-k 5d660ab8b5 remove unnecessary `case`
- 3ca3633505/rules/src/main/scala/fix/RemoveParameterUntuplingCase.scala
- https://docs.scala-lang.org/scala3/reference/other-new-features/parameter-untupling.html
- https://docs.scala-lang.org/scala3/reference/other-new-features/parameter-untupling-spec.html
2025-02-22 08:48:29 +09:00
Eugene Yokota cb63de6574 Merge branch '1.10.x' into wip/merge-1.10.x 2025-02-10 02:43:30 -05:00
eugene yokota 971991c72f
Merge pull request #8033 from eed3si9n/wip/inputtaskdyn
[2.x] Implement Def.inputTaskDyn
2025-02-07 20:38:57 -05:00
Adrien Piquerez 711df2cbf2 Internal usage of inputTaskDyn 2025-02-07 12:02:16 +01:00
Eugene Yokota 11cd58daa7 Implement Def.inputTaskDyn
**Problem/Solution**
This implements Def.inputTaskDyn using Scala 3 macros.
2025-02-05 02:04:22 -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 613eb86447
Spelling (#8028)
* spelling: 1.x

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: a

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: aether

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: anymore

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: artifact

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: be

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: bridge

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: cannot

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: case-insensitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: checksum

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: class loads

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: contra

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: dependencies

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: dependency

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: dependent

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: deriveds

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: describes

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: early

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: enclosed

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: evaluation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: excluding

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: execution

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: for

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: frequently

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: github

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: green

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: https://www

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: https

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: in-sourcing

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: include

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: incompatible

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: indefinitely

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: information

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: inputted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: just

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: lastmodifiedtimes

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: latest

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: manifest

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: miscellaneous

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: more

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: neither

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: never

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: nonexistent

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: opted

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: outputting

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: params

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: performance

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: preceding

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: presentation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: project

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: projects

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: protocol

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: related

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: representation

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: res

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: resolverlist

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: resolverset

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: response

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: returned

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sbt_version

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: scalacheck

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sentinels

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: separates

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: serves

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: should

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: significant

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: specifically

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: substitute

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: suppress

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: terminal

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: title

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: transitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: version

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: versions

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: want

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: wanting

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: whether

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: sbt Cached Resolution

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: Testing sbt plugins

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-02-04 01:11:28 -05:00
Eugene Yokota c6b7b5a061 [2.x] fix: Fix semanticdbEnabled
**Problem**
semanticdbEnabled doesn't work on sbt 2.x
1. classes directory has changed during compilation
2. semanticdb scalacOptions are duplicated for Test

**Solution**
1. change to using the backend directory
2. reimplement scalacOptions handling
2025-02-01 01:28:57 -05:00
Dmitrii Naumenko 9352e1cdad [2.x] fix: updateSbtClassifiers task fails with error (#8022)
In `classifiersModuleTask` we now don't include the full plugin classpath, but include only the dependency classpath (effectively excluding sbt.PluginData.definitionClasspath). Only items from the dependency classpath are considered to be published. Only for them we can download classifier artifacts later in the `updateSbtClassifiers` pipeline.

This also fixes integration test "dependency-management/update-sbt-classifiers".
I also made the test stricter, it now tests the module ids that are included in the sbt classpath.
2025-01-29 14:54:09 +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
Josh Soref 0493dee315 Make timing outputs consistently show hours and hint at time format
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-27 12:42:53 -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
eugene yokota 873f8b1261
Merge branch 'develop' into wip/run 2025-01-12 18:05:11 -05:00
Eugene Yokota 08fcea4c77 refactor: Refactor MainLoop.scala
**Problem/Solution**
This refactors MainLoop.scala.
2025-01-12 03:03:03 -05:00
Eugene Yokota cd09003583 fix: Fix sbtn not showing run
**Problem**
Currently sbtn doesn't correctly display the stdout
during `run` because by the time it starts the terminal has been reset.

**Solution**
Don't reset the terminal in-between the tasks.
2025-01-12 02:24:23 -05:00
Eugene Yokota bcad9f6887 fix: Fix run getting stuck
**Problem**
When the run ends too quickly it gets stuck.

**Solution**
This doesn't pause the channel if the job is already done.
2025-01-12 01:30:12 -05: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
xuwei-k da26f3078b use withFilter instead of filter 2025-01-04 09:10:36 +09:00
xuwei-k 614d9ce985 remove unused private val and def 2025-01-02 18:48:32 +09:00
eugene yokota 52d36653da
Merge pull request #7997 from xuwei-k/scalafmt-convertToNewSyntax
[2.x] update `.scalafmt.conf`. enforce new scala 3 syntax
2025-01-01 22:34:03 -05:00
eugene yokota 734d06a3c6
Merge pull request #7996 from xuwei-k/enum-sealed-trait 2025-01-01 22:04:23 -05:00
xuwei-k 13d6626564 update .scalafmt.conf. enforce new scala 3 syntax 2025-01-02 11:25:34 +09:00
xuwei-k a7ba960c17 use enum instead of sealed trait 2025-01-02 10:52:37 +09:00
xuwei-k e0a51807bc change to using param anonymous if possible 2025-01-02 10:35:15 +09:00
xuwei-k d7ec1013da remove unused type params 2025-01-01 18:42:59 +09:00
eugene yokota 8be482533a
Merge pull request #7991 from xuwei-k/lazyZip
[2.x] use `lazyZip`
2025-01-01 03:06:26 -05:00
eugene yokota 308af6c695
Merge pull request #7990 from xuwei-k/extaHashes-typo
[2.x] fix typo
2025-01-01 03:05:58 -05:00
eugene yokota 6a3f16de7c
Merge pull request #7988 from xuwei-k/correspond-file-class-name
[2.x] correspond file name and class name
2025-01-01 03:05:08 -05:00
eugene yokota df6e1bc2aa
Merge pull request #7986 from xuwei-k/string-interpolation-format-s
[2.x] use string interpolation instead of `format` method
2025-01-01 03:03:43 -05:00
xuwei-k 5c5a14aac5 use lazyZip 2025-01-01 16:34:54 +09:00
kenji yoshida 26eaee1ac1
fix typo 2025-01-01 16:29:51 +09:00
xuwei-k 2167a72ac3 correspond file name and class name 2025-01-01 16:12:30 +09:00
xuwei-k 13563f9d49 use string interpolation instead of `format` method 2025-01-01 16:02:11 +09:00