[
https://issues.apache.org/jira/browse/MBUILDCACHE-102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17956925#comment-17956925
]
Olivier Lamy commented on MBUILDCACHE-102:
------------------------------------------
This project has moved from Jira to GitHub Issues. This issue was migrated to
[apache/maven-build-cache-extension#329|https://github.com/apache/maven-build-cache-extension/issues/329].
Please visit the GitHub issue to view further activity, add comments, or
subscribe to receive notifications.
> mvn build cache extension config parsing issues on windows
> ----------------------------------------------------------
>
> Key: MBUILDCACHE-102
> URL: https://issues.apache.org/jira/browse/MBUILDCACHE-102
> Project: Maven Build Cache Extension (Moved to GitHub Issues)
> Issue Type: Bug
> Environment: OS Name: Microsoft Windows 11
> Enterprise
> OS Version: 10.0.22631 N/A Build 22631
> OS Manufacturer: Microsoft Corporation
> OS Configuration: Standalone Workstation
> OS Build Type: Multiprocessor Free
> Reporter: Scott Feldstein
> Priority: Major
> Labels: pull-request-available
>
> Hello,
> My colleague is having issues on his windows development laptop building with
> the maven build-cache extension enabled. The issue appears to be associated
> with the configuration file when parsing '{{***}}' in an ant path expression
> element (stack below). The configuration file is based on the [config
> example|https://maven.apache.org/extensions/maven-build-cache-extension/maven-build-cache-config.xml]
> in the [getting started
> guide|https://maven.apache.org/extensions/maven-build-cache-extension/getting-started.html]
> (see below for my exact configuration). When we remove
> '{{src/main/javagen/***}}' from the config then everything works fine.
> h1. Stacktrace
> {code:java}
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 1.159 s
> [INFO] Finished at: 2024-08-15T10:04:09-07:00
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to calculate checksums for cs-parent: Illegal char <*> at
> index 17: src\main\javagen\**
> java.lang.RuntimeException: Failed to calculate checksums for cs-parent
> at
> org.apache.maven.buildcache.DefaultProjectInputCalculator.calculateInputInternal
> (DefaultProjectInputCalculator.java:114)
> at
> org.apache.maven.buildcache.DefaultProjectInputCalculator.calculateInput
> (DefaultProjectInputCalculator.java:89)
> at org.apache.maven.buildcache.CacheControllerImpl.findCachedBuild
> (CacheControllerImpl.java:180)
> at org.apache.maven.buildcache.BuildCacheMojosExecutionStrategy.execute
> (BuildCacheMojosExecutionStrategy.java:128)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:283)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:226)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:407)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:348)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.apache.maven.wrapper.BootstrapMainStarter.start
> (BootstrapMainStarter.java:53)
> at org.apache.maven.wrapper.WrapperExecutor.execute
> (WrapperExecutor.java:152)
> at org.apache.maven.wrapper.MavenWrapperMain.main
> (MavenWrapperMain.java:76)
> Caused by: java.nio.file.InvalidPathException: Illegal char <*> at index 17:
> src\main\javagen\**
> at sun.nio.fs.WindowsPathParser.normalize (WindowsPathParser.java:182)
> at sun.nio.fs.WindowsPathParser.parse (WindowsPathParser.java:153)
> at sun.nio.fs.WindowsPathParser.parse (WindowsPathParser.java:77)
> at sun.nio.fs.WindowsPath.parse (WindowsPath.java:92)
> at sun.nio.fs.WindowsFileSystem.getPath (WindowsFileSystem.java:232)
> at java.nio.file.Path.of (Path.java:147)
> at java.nio.file.Paths.get (Paths.java:69)
> at org.apache.maven.buildcache.checksum.exclude.Exclusion.<init>
> (Exclusion.java:70)
> at
> org.apache.maven.buildcache.checksum.exclude.ExclusionResolver.addExclusion
> (ExclusionResolver.java:104)
> at org.apache.maven.buildcache.checksum.exclude.ExclusionResolver.<init>
> (ExclusionResolver.java:73)
> at org.apache.maven.buildcache.checksum.MavenProjectInput.<init>
> (MavenProjectInput.java:169)
> at
> org.apache.maven.buildcache.DefaultProjectInputCalculator.calculateInputInternal
> (DefaultProjectInputCalculator.java:103)
> at
> org.apache.maven.buildcache.DefaultProjectInputCalculator.calculateInput
> (DefaultProjectInputCalculator.java:89)
> at org.apache.maven.buildcache.CacheControllerImpl.findCachedBuild
> (CacheControllerImpl.java:180)
> at org.apache.maven.buildcache.BuildCacheMojosExecutionStrategy.execute
> (BuildCacheMojosExecutionStrategy.java:128)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:105)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:73)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:283)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:226)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:407)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:348)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:568)
> at org.apache.maven.wrapper.BootstrapMainStarter.start
> (BootstrapMainStarter.java:53)
> at org.apache.maven.wrapper.WrapperExecutor.execute
> (WrapperExecutor.java:152)
> at org.apache.maven.wrapper.MavenWrapperMain.main
> (MavenWrapperMain.java:76)
> [ERROR]
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> {code}
> h1. My Configuration
> {code:java}
> <?xml version="1.0" encoding="UTF-8" ?>
> <!---
> Licensed to the Apache Software Foundation (ASF) under one or more
> contributor license agreements. See the NOTICE file distributed with
> this work for additional information regarding copyright ownership.
> The ASF licenses this file to You under the Apache License, Version 2.0
> (the "License"); you may not use this file except in compliance with
> the License. You may obtain a copy of the License at
> http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
> or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
> -->
> <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 for file comes from
> https://maven.apache.org/extensions/maven-build-cache-extension/build-cache-config.html
> --> <configuration>
> <enabled>true</enabled>
> <hashAlgorithm>SHA-256</hashAlgorithm>
> <validateXml>true</validateXml>
> <remote enabled="false">
> <url>http://host:port</url>
> </remote>
> <local>
> <maxBuildsCached>3</maxBuildsCached>
> </local>
> <projectVersioning adjustMetaInf="true"/>
> </configuration> <input>
> <global>
> <!-- If not defined, default glob is "*" -->
> <glob>
>
> {*.java,*.groovy,*.yaml,*.svcd,*.proto,*assembly.xml,assembly*.xml,*logback.xml,*.vm,*.ini,*.jks,*.properties,*.sh,*.bat}
> </glob>
> <includes>
> <!-- By default, project sources and resources directories
> are included (src/main/java and src/main/resources) -->
> <!-- In this example, the goal is to include a wider range of
> src directories (like src/main/assembly or src/main/groovy) -->
> <include>src/</include>
> </includes>
> <excludes>
> <!-- We don't want a static "hash" pom resolution (it would
> conflict the will to adjust the version in the manifest), -->
> <!-- we exclude this specific file (as it is already by
> default since it is not in an include folder -->
> <!-- The need to rebuild a project based on the pom is
> already computed with some intelligence by the extension. -->
> <exclude>pom.xml</exclude>
> <!-- Also excluding everything located in this project
> specific folder -->
> <exclude>src/main/javagen/**</exclude>
> </excludes>
> </global>
> <plugins>
> <plugin artifactId="codegen">
> <effectivePom>
> <excludeProperties>
> <excludeProperty>111</excludeProperty>
> </excludeProperties>
> </effectivePom>
> <dirScan mode="auto">
> <excludes>
> <exclude tagName="outputDirectory"/>
> <exclude tagName="directory"/>
> </excludes>
> <tagScanConfigs>
> <tagScanConfig tagName="someProperty" glob="*.java"
> recursive="false"/>
> </tagScanConfigs>
> </dirScan>
> <executions>
> <execution>
> <execIds>
> <execId>1</execId>
> <execId>2</execId>
> </execIds>
> <dirScan mode="auto">
> <includes>
> <include tagName="protolocation"
> recursive="false" glob="*.proto"/>
> </includes>
> </dirScan>
> </execution>
> </executions>
> </plugin>
> </plugins>
> </input>
> <executionControl>
> <runAlways>
> <plugins>
> <plugin artifactId="maven-failsafe-plugin"/>
> </plugins>
> <executions>
> <execution artifactId="maven-deploy-plugin">
> <execIds>
> <execId>my-execution-id</execId>
> </execIds>
> </execution>
> </executions>
> <goalsLists>
> <goalsList artifactId="maven-install-plugin">
> <goals>
> <goal>install</goal>
> </goals>
> </goalsList>
> <goalsList artifactId="maven-deploy-plugin">
> <goals>
> <goal>deploy</goal>
> </goals>
> </goalsList>
> <goalsList artifactId="bb-sdk-codegen">
> <goals>
> <goal>deploy-local</goal>
> </goals>
> </goalsList>
> </goalsLists>
> </runAlways>
> <reconcile logAllProperties="true">
> <plugins>
> <plugin artifactId="maven-compiler-plugin" goal="compile">
> <reconciles>
> <reconcile propertyName="source"/>
> <reconcile propertyName="target"/>
> <reconcile propertyName="debug"/>
> <reconcile propertyName="debuglevel"/>
> </reconciles>
> <!-- whitelist of logged properties-->
> <logs>
> <log propertyName="includes"/>
> <log propertyName="excludes"/>
> <log propertyName="argLine"/>
> </logs>
> </plugin>
> <plugin artifactId="duplicate-finder-maven-plugin"
> goal="check">
> <reconciles>
> <reconcile propertyName="skip" skipValue="true"/>
> <reconcile propertyName="quiet" skipValue="true"/>
> </reconciles>
> </plugin>
> <plugin artifactId="maven-enforcer-plugin" goal="enforce">
> <reconciles>
> <reconcile propertyName="skip" skipValue="true"/>
> </reconciles>
> <!-- blacklisted from logging properties-->
> <nologs>
> <nolog propertyName="redundantProperty"/>
> <nolog propertyName="redundantProperty2"/>
> </nologs>
> </plugin>
> <plugin artifactId="maven-surefire-plugin" goal="test">
> <reconciles>
> <reconcile propertyName="skip" skipValue="true"/>
> <reconcile propertyName="skipExec" skipValue="true"/>
> <reconcile propertyName="skipTests" skipValue="true"/>
> <reconcile propertyName="testFailureIgnore"
> skipValue="true"/>
> </reconciles>
> </plugin>
> </plugins>
> </reconcile>
> </executionControl>
> </cache> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)