Commit Graph

16725 Commits

Author SHA1 Message Date
eugene yokota ffb6770bde
Merge pull request #7930 from jtjeferreira/aggregate-lmCoursierShadedPublishing
add lmCoursierShadedPublishing to allProjects
2024-12-08 17:29:56 -05:00
João Ferreira 3d634804b6
add lmCoursierShadedPublishing to allProjects 2024-12-06 18:12:47 +00:00
eugene yokota fdc03b782a
Merge pull request #7927 from eed3si9n/wip/uri
[2.x] Avoid the use of URL + Replace tuple with proper record type for licenses
2024-12-05 23:37:51 -05:00
Eugene Yokota 0fd2a356b5 inline def apply 2024-12-05 23:21:34 -05:00
eugene yokota 36083c9536
Merge branch 'develop' into wip/uri 2024-12-05 22:53:37 -05:00
eugene yokota 7f878aa00f
Merge pull request #7928 from eed3si9n/wip/cla
[2.x] New Scala CLA URL
2024-12-05 22:50:41 -05:00
Eugene Yokota 29183c1bdd New Scala CLA URL 2024-12-05 22:49:36 -05:00
Eugene Yokota 11b0231b17 url returns java.net.URI 2024-12-05 01:16:04 -05:00
Eugene Yokota 8bf9ecaba3 Add conversion for backward compatibility 2024-12-05 01:00:06 -05:00
Matthew de Detrich eea840be2c Replace tuple with proper record type for licenses 2024-12-05 00:56:39 -05:00
Eugene Yokota 02c7cf309d Avoid the use of URL
**Problem**
`java.net.URL` calls out to the network to perform `equals`,
so we should remove that from anywhere that can be involved in caching etc.

**Solution**
This changes java.net.URL to java.net.URI in Keys.
2024-12-04 22:12:54 -05:00
eugene yokota 0075b2fd0e
Merge pull request #7925 from eed3si9n/wip/fix-projectref
[2.x] fix: Fix root project detection
2024-12-04 01:32:17 -05:00
Eugene Yokota ac4ba55e9e fix: Fix root project detection
**Problem**
Whether a subproject is root or not is currently detected by
comparing getCanonicalFile against the build base directory.
Problem is that often the root project uses "." as the directory,
and getting the canonical file works ok for the current build,
but it breaks when loading `ProjectRef`.
There might be other bugs related to the root project detection.

**Solution**
This factors out `isRootPath` function that's aware of the build base.

This PR adds the repro test prepared by xuwei-k.
2024-12-02 03:15:35 -05:00
eugene yokota bc69030e58
Merge pull request #7924 from eed3si9n/wip/remove-wconf-cat
[2.x] fix: Remove -Wconf:cat=unused-nowarn:s
2024-12-01 20:00:58 -05:00
Eugene Yokota 56e83977e9 fix: Remove -Wconf:cat=unused-nowarn:s
**Problem**
Currently the following warning shows up while compiling metabuild:

[warn] Failed to parse `-Wconf` configuration: cat=unused-nowarn:s
[warn] unknown category: unused-nowarn

-Wconf:cat=unused-nowarn in general was added as a Scala 2.12 of
falsely warning about pure expression not doing anything in the macro.

**Solution**
We should be able to remove the -Wconf flag in sbt 2.x.
2024-12-01 18:09:38 -05:00
eugene yokota 88f900e522
Merge pull request #7923 from xuwei-k/unused-Dependencies
[2.x] ci: Remove unused dependencies in project/Dependencies.scala
2024-12-01 18:05:47 -05:00
kenji yoshida 0e7ab570bd
remove unused dependencies in project/Dependencies.scala 2024-12-02 07:51:16 +09:00
eugene yokota 1622cc05e0
Merge pull request #7911 from eed3si9n/wip/slash-improvements
[2.x] Refactor slash syntax to mostly use methods
2024-11-26 05:12:42 -05:00
Eugene Yokota eb7d43c363 Refactor RefThenConfig to be an opaque type 2024-11-26 04:55:08 -05:00
Eugene Yokota 320a8c7204 Avoid inline for slash apparently 2024-11-26 01:43:12 -05:00
Eugene Yokota 70d7ddb258 Refactor slash syntax to mostly use methods
**Problem**
Slash syntax is currently implemented via a series of implicit
converters (Conversion), which is not nice, partly because
the behavior is difficult to follow.

**Solution**
This removes all the implicit converters and moves the slashes
into:
1. / methods under Reference for subproject scoping.
2. / methods under ScopeAxis with Reference type constraint
   for the initial Zero scoping.
3. Return RefThenConfig structure for intermediate config scoping.
4. / method under `Scoped`, which is base trait for the keys
   to implement task scoping e.g. `compile / scalacOptions`.
5. Extension methods for ConfigKey.
6. Extension methods for AttributeKey.
2024-11-25 04:54:40 -05:00
Eugene Yokota 19ed461933 Remove conversion from Reference to RichReference 2024-11-24 23:11:55 -05:00
Eugene Yokota 4e3fbcced9 Refactor ScopeAxis to use enum 2024-11-24 23:10:18 -05:00
eugene yokota a30fd384dd
Merge pull request #7907 from eed3si9n/wip/fix-sandwich
[2.x] fix: Fix Scala 3.x - 2.12 sandwich for matrix
2024-11-24 00:08:28 -05:00
Eugene Yokota 56377274b7 fix: Fix Scala 3.x - 2.12 sandwich for matrix
Problem
Currently Scala 3.x - 2.13 sandwich doesn't seem to work for projectMatrix.
This is due to isScala2Scala3Sandwich checking for "3." while projectMatrix
uses scalaBinaryVersion, which is 3.

Solution
This consolidates the implementation of isScala2Scala3Sandwich with the one
in Defaults module, and check for both "3" and "3."
2024-11-23 04:05:28 -05:00
adpi2 546feed6f4
Merge pull request #7893 from xuwei-k/implicit-object-given
[2.x] use `given` instead of `implicit object`
2024-11-18 09:58:02 +01:00
xuwei-k d8705bbac0 use given instead of implicit object 2024-11-18 17:09:03 +09:00
xuwei-k f11d9d76f0 remove more implicit. use given and using 2024-11-18 14:39:00 +09:00
xuwei-k d193c990d1 remove implicit params. change to using 2024-11-18 06:49:22 +09:00
xuwei-k c5b7038f3a use `given` instead of `implicit val` 2024-11-17 17:35:23 +09:00
eugene yokota c572453a35
Merge pull request #7891 from xuwei-k/TaskExtra-extension
[2.x] use `extension` instead of `implicit`
2024-11-17 01:51:53 -05:00
eugene yokota fa8d7a87a8
Merge pull request #7887 from Friendseeker/sbt#7870
[2.x] Remove `enableConsistentCompileAnalysis`, `enableBinaryCompileAnalysis`
2024-11-17 01:51:14 -05:00
friendseeker 1ec08180f7
Remove enableConsistentCompileAnalysis & enableBinaryCompileAnalysis 2024-11-16 21:27:29 -08:00
eugene yokota 312f1a0782
Merge pull request #7888 from xuwei-k/Alternative-CommandBuilder
[2.x] use `extension` instead of `implicit`
2024-11-16 21:03:28 -05:00
eugene yokota 4c345b0dd2
Merge pull request #7877 from Friendseeker/bye-jansi-2
[2.x] Remove direct dependency on `org.fusesource.jansi`
2024-11-16 20:43:52 -05:00
xuwei-k 5dd0ab0e60 use extension instead of implicit 2024-11-17 10:24:33 +09:00
xuwei-k 4da8d942ce use extension instead of implicit 2024-11-17 07:38:40 +09:00
eugene yokota d199f86a44
Merge pull request #7878 from eed3si9n/wip/scalainstance
[2.x] Use ScalaInstance from update
2024-11-14 23:50:08 -05:00
Eugene Yokota d1b6609a33 Mark tests pending 2024-11-14 23:37:30 -05:00
Eugene Yokota 29c77f6f5f Merge branch 'develop' into wip/scalainstance 2024-11-14 22:02:10 -05:00
Eugene Yokota 5329029768 Mark jvm-sandwich pending 2024-11-14 22:01:30 -05:00
adpi2 87e6f66bf8
Merge pull request #7882 from adpi2/2.x-fuse-info
[2.x] Remove instances of `Info` and `BasicAttributeMap`
2024-11-14 06:39:28 +01:00
adpi2 4c66e5a907
Merge branch 'develop' into 2.x-fuse-info 2024-11-13 17:08:37 +01:00
adpi2 f82336d385
Merge pull request #7879 from adpi2/2.x-refactor-settings
[2.x] Refactor `Settings` and optimize indexing of aggregate keys
2024-11-13 17:08:09 +01:00
Adrien Piquerez 0ccf3325c8 Optimize indexing of aggregate keys
To build the index of all aggregate keys, we were computing the reverse
aggregation of each key, before indexing them.
And so each aggregate key was indexed many times, once for each
aggregated project. It was parallelized to reduce the latency.
In this PR, we compute the reverse aggregation of all the keys at once,
removing all duplication. We cannot parallelize this process anymore
but we don't need to, because it is a lot faster. It reduces the total
CPU time by 12%. The impact for the user depends on its number of cores.
2024-11-13 12:25:31 +01:00
Adrien Piquerez f4f185a1c1 Settings as a Map[ScopedKey[x], x]
Settings0 used to be a Map[Scope, AttributeMap], and is now a
Map[ScopedKey[x], x].
This is better because we don't need to decompose all ScopedKey[x]
into a Scope and an AttributeKey[x], for recomposing it back later,
which duplicates all ScopedKey[x]. It reduces the number of long-living
ScopedKey[x] by 8%, and the total number of instances by 1.4%.

Also it improves the performance of Settings0, which was responsible of
2.95% of the total CPU time, and is now responsible of 0.41%.
2024-11-13 12:25:31 +01:00
Adrien Piquerez 327d05e28f Remove unused Structure.taskToKey 2024-11-13 11:22:53 +01:00
Adrien Piquerez 6fbe032517 AttributeMap as an opaque type 2024-11-13 11:09:23 +01:00
Adrien Piquerez d54647a46c Use referential equality on Task 2024-11-13 10:55:29 +01:00
Eugene Yokota cfbc5c078a Merge branch 'develop' into wip/scalainstance 2024-11-13 00:31:53 -05:00