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
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
xuwei-k
8ed146a79e
simplify previous macro
2025-05-11 13:17:43 +09:00
xuwei-k
4916f9b186
udpate settingAppend1Impl. use `ev` param
2025-05-10 07:28:38 +09:00
eugene yokota
e9e263469d
Merge pull request #8112 from xuwei-k/RefThenConfig-extension-toString
...
remove RefThenConfig extension toString method
2025-05-09 11:02:17 -07:00
xuwei-k
ce654c4ffc
remove unused imports
2025-05-09 19:40:49 +09:00
xuwei-k
ca8bc350a5
remove RefThenConfig extension toString method
2025-05-09 19:23:24 +09: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
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
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
xuwei-k
13d6626564
update .scalafmt.conf. enforce new scala 3 syntax
2025-01-02 11:25:34 +09:00
xuwei-k
e0a51807bc
change to using param anonymous if possible
2025-01-02 10:35:15 +09:00
xuwei-k
2167a72ac3
correspond file name and class name
2025-01-01 16:12:30 +09: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
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
xuwei-k
5dd0ab0e60
use extension instead of implicit
2024-11-17 10:24:33 +09:00
adpi2
4c66e5a907
Merge branch 'develop' into 2.x-fuse-info
2024-11-13 17:08:37 +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
eugene yokota
661f1fa216
Merge pull request #7880 from adpi2/2.x-settings
...
[2.x] Reduce creation of `Setting` and `Initialize`
2024-11-12 22:41:42 -05:00
Adrien Piquerez
e5cedbe56b
Fuse Info in Task to reduce instances
2024-11-12 17:05:20 +01:00
Adrien Piquerez
c838094672
Optimize Previous
2024-11-12 10:56:31 +01:00
eugene yokota
f7160ba8d8
Merge pull request #7875 from eed3si9n/wip/slash-tests
2024-11-07 12:33:16 -05:00
Eugene Yokota
a34bb4756c
Resurrect property-based testing for slash syntax
2024-11-06 03:43:39 -05:00
Adrien Piquerez
2f726cddf0
Add comments
2024-11-05 11:36:18 +01:00
Adrien Piquerez
9382fc99b7
Use caching in Project.transform
2024-11-04 10:43:42 +01:00
Adrien Piquerez
5bbe871882
Cleaning Scope
2024-11-04 10:43:42 +01:00
Adrien Piquerez
2015c5d41a
Add ThisBuildScope
2024-11-04 10:43:42 +01:00
Adrien Piquerez
a28428f96c
Pre-compute hashCode
2024-11-04 10:43:42 +01:00
Adrien Piquerez
4a429b2fe2
Add uniqueness cache on Scope
2024-11-04 10:43:28 +01:00
Eugene Yokota
56941dac04
refactor: Update Scala 3 syntax
2024-10-27 23:55:30 -04:00
Friendseeker
f87ffc8042
Fix CI compile errors
2024-10-21 21:38:59 -07:00
Eugene Yokota
65bc3d9722
fix: Resurrect or for tasks
...
**Problem**
1. `or` is missing
2. `?` should have English method name
**Solution**
1. This resurrects `or`
2. Name `??` as `option`, since `get` is taken
2024-10-10 02:39:52 -04:00
João Ferreira
fe045bfa12
remove unused comment
2024-10-09 11:04:47 +01:00
João Ferreira
3eb2d66b0f
reenable some tests
2024-10-09 09:57:08 +01:00
xuwei-k
cfb9ffea95
remove deprecated `[this]` qualifier
...
https://docs.scala-lang.org/scala3/reference/dropped-features/this-qualifier.html
2024-10-03 21:16:48 +09:00
Adrien Piquerez
31710c0879
Reduce allocation of Action.Mapped
...
For a tuple (t1, t2, ..., tn) of tasks we instantiate a unique Mapped instead of many
Mapped(t1, Mapped(t2, Mapped(...))
2024-10-02 15:54:20 +02:00
Adrien Piquerez
e3449fff02
Reduce instances of Init.Apply
2024-10-02 11:05:37 +02:00
adpi2
a4ef38c5da
Merge pull request #7708 from adpi2/2.x-fix-7706
...
[2.x] Fix loading of `ScalaJSPlugin` in `ProjectMatrix`
2024-09-30 15:06:34 +02:00
Adrien Piquerez
be04ad552d
Use projectMatrix caller to resolve plugins
2024-09-30 14:01:46 +02:00
Adrien Piquerez
56416901cf
Add back `dependsOn` on inputTask
2024-09-30 14:00:08 +02:00
Eugene Yokota
5684a842c3
refactor: Remove sbt 0.13 `in` methods
...
**Problem**
See https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#Migrating+to+slash+syntax
We should remove `scalacOptions in (Compile, console)` notation. This was deprecated in https://eed3si9n.com/sbt-1.5.0 .
**Solution**
This renames `in` to `rescope` for internal usage, and ports the usages to slash.
2024-09-28 19:19:58 -04:00