Commit Graph

251 Commits

Author SHA1 Message Date
Adrien Piquerez f08f272d23 [2.x] Fix scripted cache tests 2024-09-18 10:28:11 +02:00
Adrien Piquerez b59856bcba Merge sbt-projectmatrix 2024-09-17 17:02:30 +02:00
xuwei-k 7279f659e0 Update .scalafmt.conf. re-format 2024-09-07 16:37:49 +09:00
Eugene Yokota eb9a507419 Refactor Def.declareOutputDirectory to return vf 2024-08-18 12:57:29 -04:00
Eugene Yokota 987ab5f214 Add Def.declareOutputDirectory function 2024-08-18 12:57:29 -04:00
Eugene Yokota c81d269ed2 Merge branch '1.10.x' into wip/merge-1.10.x 2024-05-07 04:39:25 -04:00
Adrien Piquerez 2e439cab1e [2.x] report cache errors
Report a cache error if the output file of a task is not cacheable
2024-04-24 10:41:56 +02:00
Adrien Piquerez 7c51ba2f64 Revert "Use fileConverter in cacheStore" 2024-04-17 09:30:44 +02:00
Eugene Yokota 86cf7c3a0c Remote caching support
This implements Bazel-compat remote caching support via a plugin.
2024-04-11 13:55:29 +02:00
Adrien Piquerez ab1aa6d001 Fix todos in actions/compile-clean 2024-04-09 15:33:22 +02:00
Adrien Piquerez 85fcb014f0 Fix data race to remote cache on classpath analyses
The attributed classpath should point to the existing analysis file in the target folder to avoid data racing to the remote cache.
2024-04-08 16:34:18 +02:00
Adrien Piquerez 654d35d1ba Fix triggeredBy and runBefore 2024-04-02 17:47:48 +02:00
Adrien Piquerez 0005705eb6 Fix += on sourceGenerators 2024-03-27 14:41:24 +01:00
Adrien Piquerez b5afcf8a0c Fix server completion tests 2024-03-19 17:06:09 +01:00
Adrien Piquerez 12e9267e1e Remove more unused 2024-03-05 15:25:25 +01:00
Adrien Piquerez c15a4031a9 Fix or mute warnings 2024-03-05 10:39:00 +01:00
Adrien Piquerez 144b86e32e fix tag of InputTask 2024-02-12 15:28:57 +01:00
Adrien Piquerez 739dedb017 Remove usage of Manifest in Structure.scala 2024-02-12 15:22:09 +01:00
adpi2 64be877549
Merge pull request #7491 from adpi2/misc-cleanup
[2.x] Miscellaneous cleanup
2024-02-08 17:42:35 +01:00
Eugene Yokota 63ba90d198 Migrate postfix ops
**Problem**
There are a few places in the code that's using postfix ops.

**Solution**
This rewrites the expressions to use normal dot notaiton.
2024-02-07 11:40:45 -05:00
eugene yokota ecca26175e
[sbt 2.x] remote cache (#7464)
For the details about this PR, please see the blog post https://eed3si9n.com/sbt-remote-cache/.

* Add cache basics
* Refactor Attributed to use StringAttributeMap, which is Map[StringAttributeKey, String]
* Implement disk cache
* Rename Package to Pkg
* Virtualize packageBin
* Use HashedVirtualFileRef for packageBin
* Virtualize compile task
2024-02-07 10:34:06 -05:00
Adrien Piquerez ea4b38d1b1 Shorten fake task macro impl 2024-02-07 12:13:35 +01:00
Adrien Piquerez 7ac3cd321d Remove the unused ~> 2024-02-07 11:12:43 +01:00
Adrien Piquerez 10fc5da8b6 remove Composite and replace it with type lambda 2024-02-07 10:58:05 +01:00
Adrien Piquerez a15fb91c5c Remove AList 2023-12-13 14:01:57 +01:00
Adrien Piquerez 7ea0506736 Introduce TaskId to reduce abstraction around Execute 2023-11-28 14:26:52 +01:00
Eugene Yokota bde26f6c51 Communicate narrowing by adding case 2023-11-25 20:50:34 -05:00
Eugene Yokota e87e1d6e0d Update to Scalafmt 3.7.14 2023-11-25 01:08:17 -05:00
Julien Richard-Foy 72bfb3f45a Transfer copyright to Scala Center 2023-06-20 16:39:07 +02:00
Eugene Yokota f98c4fff3b Update modules 2023-04-30 00:56:11 -04:00
Eugene Yokota dbaa34bdac Interpret bare settings are common settings
See https://eed3si9n.com/simplifying-sbt-with-common-settings/

Problem
-------
The behavior of bare settings is confusing in a multi-project build.
This is partly due to the fact that to use `ThisBuild` scoping
the build user needs to be aware of the task implementation,
and know if the task is already defined at project level.

Solution
--------
This changes the interpretation of the baresettings to be common
settings, which works similar to the way `ThisBuild` behaves in sbt 1.x,
but since this would be a simple append at project-level, it should
work for any tasks or settings.
2023-03-11 17:02:07 -05:00
Eugene Yokota 84a5fcb035 Use extension method to encode the syntax 2023-01-18 00:50:30 -05:00
Eugene Yokota 2642ba30cc Fix InputKey 2023-01-15 23:50:30 -05:00
Eugene Yokota 193b47b49b Fix taskDyn 2023-01-15 23:50:30 -05:00
Eugene Yokota 9f5525c989 inline parameter removes let binding 2023-01-15 23:50:29 -05:00
Eugene Yokota fbc98ed72e Use ClassTag instead of Manifest 2023-01-15 23:50:29 -05:00
Eugene Yokota cba7a0efc3 Refactor to build mainProj 2023-01-15 23:48:11 -05:00
Eugene Yokota 100f1ac09c Use flatMapTask instead of taskDyn 2023-01-15 23:47:41 -05:00
Eugene Yokota e9490e203b Use Type to compare types instead of TypeRepr 2023-01-15 23:45:35 -05:00
Eugene Yokota 0ee7d11afe Migrate updateTask via tuple syntax 2023-01-15 23:45:35 -05:00
Eugene Yokota 0c6eb093ac Rename tuple syntax to use mapN 2023-01-15 23:45:35 -05:00
Eugene Yokota fe0de6ca30 Fix input task macro 2023-01-15 23:45:35 -05:00
Eugene Yokota d802c2ba04 valStart to change synthetic variable names 2023-01-15 23:45:35 -05:00
Eugene Yokota 73c7236c2c Refactor to use Type instead of TypeRepr 2023-01-15 23:45:35 -05:00
Eugene Yokota 61d4fe2d30 Implement input task helper Def.input 2023-01-15 23:45:35 -05:00
Eugene Yokota cec131f6ed Fix conditional task 2023-01-15 23:45:34 -05:00
Eugene Yokota 81a05430bd Split buildfile parsing to a subproject 2023-01-15 23:45:30 -05:00
Eugene Yokota 66fa46a912 Fix InputTask macro 2023-01-15 23:44:28 -05:00
Eugene Yokota c7fa4937ef Bump to Scala 3.1.3 2023-01-15 23:44:25 -05:00
Eugene Yokota f3dd2dff36 Starting input task 2023-01-15 23:43:59 -05:00