Skip to content

mvn compile doesnt attach files #362

@warmuuh

Description

@warmuuh

Affected version

1.2.0

Bug description

(re-opening because #354 got closed as duplicate although i could not see any relation to the linked issue.)

I create a minimal example for the issue (is it or is it by design) at hand:
https://github.com/warmuuh/buildcache-min-example

for this very simple project with this build cache config (attached), i see that although i dont run mvn package (only mvn compile), a buildinfo.xml is written to the local cache. on subsequent call to mvn test, it skips compilation.

...
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): compiler:compile
...
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ buildcache-min-example ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 1 source file with javac [debug target 21] to target/test-classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
<because it cant find the compiled files>

I assumed that build cache is only triggered on package phase, but in source code, i see that it always write the buildinfo.xml but omits artifacts, if not at least in "package" phase:

<cache xmlns="http://maven.apache.org/BUILD-CACHE-CONFIG/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/BUILD-CACHE-CONFIG/1.0.0 https://maven.apache.org/xsd/build-cache-config-1.0.0.xsd">

    <!--
        Template Maven build cache configuration
     -->

    <configuration>
        <enabled>true</enabled>
        <hashAlgorithm>SHA-256</hashAlgorithm>
        <validateXml>true</validateXml>
        <remote enabled="false" />
        <local>
            <maxBuildsCached>3</maxBuildsCached>
        </local>
        <projectVersioning adjustMetaInf="true"/>
        <attachedOutputs>
            <dirNames>
                <dirName>classes</dirName>
            </dirNames>
        </attachedOutputs>
    </configuration>

    <input>
        <global>
            <glob>
                {*.java,*.groovy,*.yaml,*.yml,*.svcd,*.proto,*assembly.xml,*.xml,*.vm,*.ini,*.jks,*.properties,*.sh,*.bat,*.jsp,*.tag,Dockerfile,*.xsd}
            </glob>
            <includes>
                <include>src/</include>
            </includes>
            <excludes>
                <exclude>pom.xml</exclude>
            </excludes>
        </global>
    </input>
</cache>

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions