Eugene Yokota
42010a317e
Flip testForkedParallel to true
2025-08-08 02:06:36 -04:00
Eugene Yokota
ac57fb083e
Remove IntegrationTest
2025-08-03 19:50:33 -04:00
Eugene Yokota
7bb55fc9fb
Remove unused code
2025-08-03 16:03:00 -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
xuwei-k
5581f5fd1a
Scala 3.7.2
2025-07-30 09:55:46 +09: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
Eugene Yokota
bf098ef911
Use Caffeine 2.8.5 for JDK 8
2025-06-28 20:01:18 -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
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
xuwei-k
8fbffad908
update dependencies
2025-06-18 07:59:10 +09:00
Eugene Yokota
41a9e3b952
fport: Add Resolver.sonatypeCentralRepo
2025-06-08 02:08:54 -04:00
xuwei-k
b1eff478ce
Scala 3.7.1
2025-06-03 07:50:08 +09: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
cc2631af13
Mark test pending
2025-05-26 23:40:49 -04:00
Eugene Yokota
ee4c51c946
filter out launcher-interface
2025-05-25 18:50:06 -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
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
Eugene Yokota
f3dd5dbd71
fix: Fix qual lookup
...
**Problem**
Nested macro that expands to map or mapN fails to
find the qual because the trees end up being different
between the record scan and actual replacement.
**Solution**
First try for equals normally, then compare the show strings.
2025-05-05 03:04:44 -04:00
Eugene Yokota
f07fa809f5
Add cache tests
...
This adds scripted test for cached compilation and tests.
2025-05-04 17:00:13 -04:00
Eugene Yokota
d10e5b6f48
Add test for cache hits
2025-05-02 03:23:29 -04:00
OlegYch
baa9a919ba
Reproduce testQuick + object deps bug [merge-skip]
...
testQuick after code change doesn't rerun the test.
This was adopted from https://github.com/OlegYch/sbt-testQuick-bug
2025-03-31 21:47:02 -04:00
Eugene Yokota
4d583fa19e
Split test-quick test into two [merge-skip]
2025-03-31 21:43:04 -04:00
Brice Jaglin
9ff4e1d1e9
cache semanticdb output when not included in JAR
2025-03-28 12:47:03 +01:00
Brice Jaglin
543cf45071
rename scripted
2025-03-28 11:55:35 +01:00
OlegYch
405527266d
Reproduce testQuick + object deps bug
...
testQuick after code change doesn't rerun the test.
This was adopted from https://github.com/OlegYch/sbt-testQuick-bug
2025-03-23 22:22:02 -04:00
Eugene Yokota
690a3947f2
Split test-quick test into two
2025-03-23 22:21:06 -04:00
Eugene Yokota
de5c9b1869
Scala 3.6.4
2025-03-10 01:51:32 -04: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
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
Eugene Yokota
11cd58daa7
Implement Def.inputTaskDyn
...
**Problem/Solution**
This implements Def.inputTaskDyn using Scala 3 macros.
2025-02-05 02:04:22 -05: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
Eugene Yokota
c9e696d1bf
Bump 2.12 versions in scripted
...
Problem/Solution
This bumps the Scala 2.12 version used in scripted tests to 2.12.20.
This also removes an old test that uses Scala 2.10.
2025-01-29 07:02:14 -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
xuwei-k
13d6626564
update .scalafmt.conf. enforce new scala 3 syntax
2025-01-02 11:25:34 +09:00
Friendseeker
838eee97cd
Fix CI
2024-12-26 15:05:00 -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
72c061a2a2
fix: Fixes glob in scripted
...
**Problem**
Absolute path handling regressed.
**Solution**
Create an absolute glob for expression starting with /.
2024-12-22 01:32:16 -05:00
Friendseeker
30c7be8d0d
Prepare for sbt 1.10.7
2024-12-19 12:26:37 -08:00
Eugene Yokota
896dc6220d
Mark false-error test pending
2024-12-18 00:43:39 -05:00
Eugene Yokota
a420db6d6f
source-dependencies/false-error
2024-12-16 22:31:29 -05:00
Eugene Yokota
5ece24ad53
Port Make credential tests intransitive
2024-12-16 22:15:18 -05:00
Eugene Yokota
3d86f30837
Merge branch '1.10.x' into wip/merge-1.10.x
2024-12-16 03:20:10 -05:00
Eugene Yokota
28331a7444
Remove Mapper alias
2024-12-16 00:31:07 -05:00
João Ferreira
a2b046e0c3
translate mapper to use VirtualFile
2024-12-15 21:55:56 -05:00
João Ferreira
4a588c3fe9
Path.directory scripted test
2024-12-15 21:55:56 -05:00