This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
The following commit(s) were added to refs/heads/master by this push:
new 0ff869b06b Improve Scala compilation caching and build config (#2967)
0ff869b06b is described below
commit 0ff869b06b7b53036ed6e7d5ed6eff010ff0def4
Author: Gašper Kojek <[email protected]>
AuthorDate: Mon Mar 9 15:13:07 2026 +0100
Improve Scala compilation caching and build config (#2967)
Improved caching config for scalaCompile for compilerPlugins,
pluginArtifacts and dependencies
* Adding `classpath` as a tracked input for scalaCompile
* Fixed caching of scala-maven-compile plugin
* fix: bumped scala-maven-pluginto fix testCompile cache misses
Signed-off-by: Gasper Kojek <[email protected]>
---
pom.xml | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 129 insertions(+), 10 deletions(-)
diff --git a/pom.xml b/pom.xml
index 1c1da137a0..52a665bf96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3164,6 +3164,16 @@
<id>scala-compile-first</id>
<inputs>
<fileSets>
+ <fileSet>
+
<name>sourceDirectory</name>
+ <paths>
+
<path>src/main/scala</path>
+ </paths>
+ <normalization>
+
<ignoreLineEndings>true</ignoreLineEndings>
+
<ignoreEmptyDirectories>true</ignoreEmptyDirectories>
+ </normalization>
+ </fileSet>
<fileSet>
<name>sourceDir</name>
<includesProperty>includes</includesProperty>
@@ -3177,6 +3187,10 @@
<name>classpathElements</name>
<normalization>COMPILE_CLASSPATH</normalization>
</fileSet>
+ <fileSet>
+
<name>compilerPlugins</name>
+
<normalization>IGNORED_PATH</normalization>
+ </fileSet>
</fileSets>
<properties>
<property>
@@ -3260,13 +3274,59 @@
<ignore>session</ignore>
<ignore>notifyCompilation</ignore>
<ignore>javacGenerateDebugSymbols</ignore>
- <!-- ignoring these feels
wrong but I couldn't find a way to track them -->
-
<ignore>pluginArtifacts</ignore>
-
<ignore>dependencies</ignore>
-
<ignore>compilerPlugins</ignore>
<ignore>classpath</ignore>
+ <!-- Deprecated and
included in the classpathElements -->
</ignoredProperties>
</inputs>
+ <iteratedProperties>
+ <property>
+
<name>pluginArtifacts</name>
+ <inputs>
+ <properties>
+ <property>
+
<name>groupId</name>
+ </property>
+ <property>
+
<name>artifactId</name>
+ </property>
+ <property>
+
<name>version</name>
+ </property>
+ <property>
+
<name>baseVersion</name>
+ </property>
+ <property>
+
<name>type</name>
+ </property>
+ <property>
+
<name>classifier</name>
+ </property>
+ <property>
+
<name>scope</name>
+ </property>
+ </properties>
+ </inputs>
+ </property>
+ <property>
+ <name>dependencies</name>
+ <inputs>
+ <properties>
+ <property>
+
<name>groupId</name>
+ </property>
+ <property>
+
<name>artifactId</name>
+ </property>
+ <property>
+
<name>version</name>
+ </property>
+ <property>
+
<name>classifier</name>
+ </property>
+ </properties>
+ </inputs>
+ </property>
+ </iteratedProperties>
<outputs>
<cacheableBecause>compilation
is CPU-bound</cacheableBecause>
<directories>
@@ -3293,6 +3353,16 @@
</skipIfTrue>
<inputs>
<fileSets>
+ <fileSet>
+
<name>testSourceDirectory</name>
+ <paths>
+
<path>src/test/scala</path>
+ </paths>
+ <normalization>
+
<ignoreLineEndings>true</ignoreLineEndings>
+
<ignoreEmptyDirectories>true</ignoreEmptyDirectories>
+ </normalization>
+ </fileSet>
<fileSet>
<name>testSourceDir</name>
<includesProperty>includes</includesProperty>
@@ -3306,6 +3376,10 @@
<name>classpathElements</name>
<normalization>COMPILE_CLASSPATH</normalization>
</fileSet>
+ <fileSet>
+
<name>compilerPlugins</name>
+
<normalization>IGNORED_PATH</normalization>
+ </fileSet>
</fileSets>
<properties>
<property>
@@ -3386,12 +3460,57 @@
<ignore>session</ignore>
<ignore>notifyCompilation</ignore>
<ignore>javacGenerateDebugSymbols</ignore>
- <!-- ignoring these feels
wrong but I couldn't find a way to track them -->
-
<ignore>pluginArtifacts</ignore>
-
<ignore>dependencies</ignore>
-
<ignore>compilerPlugins</ignore>
</ignoredProperties>
</inputs>
+ <iteratedProperties>
+ <property>
+
<name>pluginArtifacts</name>
+ <inputs>
+ <properties>
+ <property>
+
<name>groupId</name>
+ </property>
+ <property>
+
<name>artifactId</name>
+ </property>
+ <property>
+
<name>version</name>
+ </property>
+ <property>
+
<name>baseVersion</name>
+ </property>
+ <property>
+
<name>type</name>
+ </property>
+ <property>
+
<name>classifier</name>
+ </property>
+ <property>
+
<name>scope</name>
+ </property>
+ </properties>
+ </inputs>
+ </property>
+ <property>
+ <name>dependencies</name>
+ <inputs>
+ <properties>
+ <property>
+
<name>groupId</name>
+ </property>
+ <property>
+
<name>artifactId</name>
+ </property>
+ <property>
+
<name>version</name>
+ </property>
+ <property>
+
<name>classifier</name>
+ </property>
+ </properties>
+ </inputs>
+ </property>
+ </iteratedProperties>
<outputs>
<cacheableBecause>compilation
is CPU-bound with well-defined inputs and outputs</cacheableBecause>
<directories>
@@ -3510,7 +3629,7 @@
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
- <version>4.9.6</version>
+ <version>4.9.10</version>
<configuration>
<recompileMode>all</recompileMode>
<source>${target.jdk}</source>
@@ -3533,7 +3652,7 @@
<compilerPlugin>
<groupId>org.scalameta</groupId>
<artifactId>semanticdb-scalac_${scala.version}</artifactId>
- <version>4.9.6</version>
+ <version>4.15.2</version>
</compilerPlugin>
</compilerPlugins>
</configuration>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
