Skip to content

Commit cb8ccc1

Browse files
committed
[JAMES-3978] build cache for scala compiler plugin
1 parent 567ecfb commit cb8ccc1

File tree

1 file changed

+265
-2
lines changed

1 file changed

+265
-2
lines changed

pom.xml

Lines changed: 265 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3179,6 +3179,263 @@
31793179
</execution>
31803180
</executions>
31813181
</plugin>
3182+
<plugin>
3183+
<groupId>net.alchim31.maven</groupId>
3184+
<artifactId>scala-maven-plugin</artifactId>
3185+
<executions>
3186+
<execution>
3187+
<id>scala-compile-first</id>
3188+
<inputs>
3189+
<fileSets>
3190+
<fileSet>
3191+
<name>sourceDir</name>
3192+
<includesProperty>includes</includesProperty>
3193+
<excludesProperty>excludes</excludesProperty>
3194+
<normalization>
3195+
<ignoreLineEndings>true</ignoreLineEndings>
3196+
<ignoreEmptyDirectories>true</ignoreEmptyDirectories>
3197+
</normalization>
3198+
</fileSet>
3199+
<fileSet>
3200+
<name>classpathElements</name>
3201+
<normalization>COMPILE_CLASSPATH</normalization>
3202+
</fileSet>
3203+
</fileSets>
3204+
<properties>
3205+
<property>
3206+
<name>addJavacArgs</name>
3207+
</property>
3208+
<property>
3209+
<name>addScalacArgs</name>
3210+
</property>
3211+
<property>
3212+
<name>additionalDependencies</name>
3213+
</property>
3214+
<property>
3215+
<name>args</name>
3216+
</property>
3217+
<property>
3218+
<name>checkMultipleScalaVersions</name>
3219+
</property>
3220+
<property>
3221+
<name>compileOrder</name>
3222+
</property>
3223+
<property>
3224+
<name>displayCmd</name>
3225+
</property>
3226+
<property>
3227+
<name>encoding</name>
3228+
</property>
3229+
<property>
3230+
<name>failOnMultipleScalaVersions</name>
3231+
</property>
3232+
<property>
3233+
<name>forceUseArgFile</name>
3234+
</property>
3235+
<property>
3236+
<name>fork</name>
3237+
</property>
3238+
<property>
3239+
<name>javacArgs</name>
3240+
</property>
3241+
<property>
3242+
<name>jvmArgs</name>
3243+
</property>
3244+
<property>
3245+
<name>recompileMode</name>
3246+
</property>
3247+
<property>
3248+
<name>release</name>
3249+
</property>
3250+
<property>
3251+
<name>scalaClassName</name>
3252+
</property>
3253+
<property>
3254+
<name>scalaCompatVersion</name>
3255+
</property>
3256+
<property>
3257+
<name>scalaHome</name>
3258+
</property>
3259+
<property>
3260+
<name>scalaOrganization</name>
3261+
</property>
3262+
<property>
3263+
<name>scalaVersion</name>
3264+
</property>
3265+
<property>
3266+
<name>sendJavaToScalac</name>
3267+
</property>
3268+
<property>
3269+
<name>skipMain</name>
3270+
</property>
3271+
<property>
3272+
<name>source</name>
3273+
</property>
3274+
<property>
3275+
<name>target</name>
3276+
</property>
3277+
<property>
3278+
<name>useCanonicalPath</name>
3279+
</property>
3280+
</properties>
3281+
<ignoredProperties>
3282+
<ignore>project</ignore>
3283+
<ignore>session</ignore>
3284+
<ignore>notifyCompilation</ignore>
3285+
<ignore>javacGenerateDebugSymbols</ignore>
3286+
<!-- ignoring these feels wrong but I couldn't find a way to track them -->
3287+
<ignore>pluginArtifacts</ignore>
3288+
<ignore>dependencies</ignore>
3289+
<ignore>compilerPlugins</ignore>
3290+
<ignore>classpath</ignore>
3291+
</ignoredProperties>
3292+
</inputs>
3293+
<outputs>
3294+
<cacheableBecause>compilation is CPU-bound</cacheableBecause>
3295+
<directories>
3296+
<directory>
3297+
<name>outputDir</name>
3298+
</directory>
3299+
</directories>
3300+
</outputs>
3301+
<localState>
3302+
<fileSets>
3303+
<fileSet>
3304+
<name>secondaryCacheDir</name>
3305+
</fileSet>
3306+
<fileSet>
3307+
<name>analysisCacheFile</name>
3308+
</fileSet>
3309+
</fileSets>
3310+
</localState>
3311+
</execution>
3312+
<execution>
3313+
<id>scala-test-compile</id>
3314+
<skipIfTrue>
3315+
<property>skip</property>
3316+
</skipIfTrue>
3317+
<inputs>
3318+
<fileSets>
3319+
<fileSet>
3320+
<name>testSourceDir</name>
3321+
<includesProperty>includes</includesProperty>
3322+
<excludesProperty>excludes</excludesProperty>
3323+
<normalization>
3324+
<ignoreLineEndings>true</ignoreLineEndings>
3325+
<ignoreEmptyDirectories>true</ignoreEmptyDirectories>
3326+
</normalization>
3327+
</fileSet>
3328+
<fileSet>
3329+
<name>classpathElements</name>
3330+
<normalization>COMPILE_CLASSPATH</normalization>
3331+
</fileSet>
3332+
</fileSets>
3333+
<properties>
3334+
<property>
3335+
<name>addJavacArgs</name>
3336+
</property>
3337+
<property>
3338+
<name>addScalacArgs</name>
3339+
</property>
3340+
<property>
3341+
<name>additionalDependencies</name>
3342+
</property>
3343+
<property>
3344+
<name>args</name>
3345+
</property>
3346+
<property>
3347+
<name>checkMultipleScalaVersions</name>
3348+
</property>
3349+
<property>
3350+
<name>compileOrder</name>
3351+
</property>
3352+
<property>
3353+
<name>displayCmd</name>
3354+
</property>
3355+
<property>
3356+
<name>encoding</name>
3357+
</property>
3358+
<property>
3359+
<name>failOnMultipleScalaVersions</name>
3360+
</property>
3361+
<property>
3362+
<name>forceUseArgFile</name>
3363+
</property>
3364+
<property>
3365+
<name>fork</name>
3366+
</property>
3367+
<property>
3368+
<name>javacArgs</name>
3369+
</property>
3370+
<property>
3371+
<name>jvmArgs</name>
3372+
</property>
3373+
<property>
3374+
<name>recompileMode</name>
3375+
</property>
3376+
<property>
3377+
<name>release</name>
3378+
</property>
3379+
<property>
3380+
<name>scalaClassName</name>
3381+
</property>
3382+
<property>
3383+
<name>scalaCompatVersion</name>
3384+
</property>
3385+
<property>
3386+
<name>scalaHome</name>
3387+
</property>
3388+
<property>
3389+
<name>scalaOrganization</name>
3390+
</property>
3391+
<property>
3392+
<name>scalaVersion</name>
3393+
</property>
3394+
<property>
3395+
<name>sendJavaToScalac</name>
3396+
</property>
3397+
<property>
3398+
<name>source</name>
3399+
</property>
3400+
<property>
3401+
<name>target</name>
3402+
</property>
3403+
<property>
3404+
<name>useCanonicalPath</name>
3405+
</property>
3406+
</properties>
3407+
<ignoredProperties>
3408+
<ignore>project</ignore>
3409+
<ignore>session</ignore>
3410+
<ignore>notifyCompilation</ignore>
3411+
<ignore>javacGenerateDebugSymbols</ignore>
3412+
<!-- ignoring these feels wrong but I couldn't find a way to track them -->
3413+
<ignore>pluginArtifacts</ignore>
3414+
<ignore>dependencies</ignore>
3415+
<ignore>compilerPlugins</ignore>
3416+
</ignoredProperties>
3417+
</inputs>
3418+
<outputs>
3419+
<cacheableBecause>compilation is CPU-bound</cacheableBecause>
3420+
<directories>
3421+
<directory>
3422+
<name>testOutputDir</name>
3423+
</directory>
3424+
</directories>
3425+
</outputs>
3426+
<localState>
3427+
<fileSets>
3428+
<fileSet>
3429+
<name>secondaryCacheDir</name>
3430+
</fileSet>
3431+
<fileSet>
3432+
<name>testAnalysisCacheFile</name>
3433+
</fileSet>
3434+
</fileSets>
3435+
</localState>
3436+
</execution>
3437+
</executions>
3438+
</plugin>
31823439
</plugins>
31833440
</develocity>
31843441
</configuration>
@@ -3204,7 +3461,7 @@
32043461
<plugin>
32053462
<groupId>net.alchim31.maven</groupId>
32063463
<artifactId>scala-maven-plugin</artifactId>
3207-
<version>4.9.5</version>
3464+
<version>4.9.6</version>
32083465
<configuration>
32093466
<recompileMode>all</recompileMode>
32103467
<source>${target.jdk}</source>
@@ -3233,9 +3490,15 @@
32333490
</configuration>
32343491
<executions>
32353492
<execution>
3236-
<id>scala-compile-first</id>
3493+
<id>scala-add-source</id>
32373494
<goals>
32383495
<goal>add-source</goal>
3496+
</goals>
3497+
<phase>process-resources</phase>
3498+
</execution>
3499+
<execution>
3500+
<id>scala-compile-first</id>
3501+
<goals>
32393502
<goal>compile</goal>
32403503
</goals>
32413504
<phase>process-resources</phase>

0 commit comments

Comments
 (0)