[
https://issues.apache.org/jira/browse/AXIS2-5873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thorsten Schöning updated AXIS2-5873:
-------------------------------------
Description:
"distribution/pom.xml" contains embedded Groovy and uses Maven build properties
to access some paths, which resolve to some string using "\" on Windows. The
problem is that these strings contain only one "\", which is valid in XML, but
are forwarded to Groovy code, where those strings become invalid.
{CODE}
[INFO] --- gmavenplus-plugin:1.5:execute (check-webapp-content) @ distribution
---
[DEBUG] Configuring mojo org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute
from plugin realm
ClassRealm[plugin>org.codehaus.gmavenplus:gmavenplus-plugin:1.5, parent:
sun.misc.Launcher$AppClassLoader@5c647e05]
[DEBUG] Configuring mojo
'org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute' with
include-project-test-dependencies configurator -->
[DEBUG] (f) allowSystemExits = false
[DEBUG] (f) bindPropertiesToSeparateVariables = true
[DEBUG] (f) continueExecuting = false
[DEBUG] (f) mojoExecution =
org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute {execution:
check-webapp-content}
[DEBUG] (f) pluginArtifacts = [...]
[DEBUG] (f) project = MavenProject:
org.apache.axis2:distribution:1.8.0-SNAPSHOT @
C:\Users\tschoening\Documents\Eclipse\Java
Axis2\axis2\modules\distribution\pom.xml
[DEBUG] (f) scripts = [import java.util.jar.*
def jar = new JarInputStream(new
FileInputStream("C:\Users\tschoening\.m2\repository\org\apache\axis2\axis2-webapp\1.8.0-SNAPSHOT\axis2-webapp-1.8.0-SNAPSHOT.war"))
def expected = new HashSet()
def entry
while(entry = jar.nextJarEntry) {
expected.add(entry.name)
}
jar.close()
jar = new JarInputStream(new
FileInputStream("C:\Users\tschoening\Documents\Eclipse\Java
Axis2\axis2\modules\distribution\target/axis2-1.8.0-SNAPSHOT/dist/axis2.war"))
while(entry = jar.nextJarEntry) {
if (!expected.remove(entry.name)) {
throw new Error("Unexpected entry
in Web app: " + entry.name)
}
}
if (!expected.empty) {
throw new Error("Missing entries in Web
app: " + expected)
}
jar.close()]
[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3d904e9c
[DEBUG] (f) skipTests = false
[DEBUG] (f) sourceEncoding = UTF-8
[DEBUG] -- end configuration --
[INFO] Using Groovy 2.4.4 to perform execute.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Axis2 - Distribution ........................ FAILURE [ 49.237 s]
[INFO] Samples parent POM ................................. SKIPPED
[INFO] JAXWS - Starting from Java Example ................. SKIPPED
[INFO] JAXWS Addressbook Service .......................... SKIPPED
[INFO] JAXWS Calculator Service ........................... SKIPPED
[INFO] JAXWS Interop Sample ............................... SKIPPED
[INFO] JAXWS Samples - Echo, Ping, MTOM ................... SKIPPED
[INFO] Apache Axis2 -JAXWS Version Service ................ SKIPPED
[INFO] Apache Axis2 Transport-HTTPS sample ................ SKIPPED
[INFO] httpsService ....................................... SKIPPED
[INFO] httpsClient ........................................ SKIPPED
[INFO] Apache Axis2 Transport-JMS sample .................. SKIPPED
[INFO] jmsService ......................................... SKIPPED
[INFO] databinding-tests .................................. SKIPPED
[INFO] jaxbri-tests ....................................... SKIPPED
[INFO] echo ............................................... SKIPPED
[INFO] webapp-tests ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 51.245 s
[INFO] Finished at: 2017-08-28T19:27:47+02:00
[INFO] Final Memory: 60M/459M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute (check-webapp-content) on
project distribution: Error occurred while calling a method on a Groovy class
from classpath. InvocationTargetException: startup failed:
[ERROR] Script1.groovy: 3: unexpected char: '\' @ line 3, column 89.
[ERROR] Stream(new FileInputStream("C:\Users\tsc
[ERROR] ^
[ERROR]
[ERROR] 1 error
[ERROR] -> [Help 1]
{CODE}
The attached patch fixes the problem by using "%url%" instead of "%file%",
because that can be converted to a path at runtime easily. Please note that
while the value is named "%url%", I'm not creating an instance of the "URL"
class in Java to parse that string, but using "URI" instead directly, because
that's what's needed by the "File" CTOR anyway in the end. You might consider
that unclean, I think the difference is academic and it works as is for me. So
feel free to change it as necessary.
was:
"distribution/pom.xml" contains embedded Groovy and uses Maven build properties
to access some paths, which resolve to some string using "\" on Windows. The
problem is that these strings contain only one "\", which is valid in XML, but
are forwarded to Groovy code, where those strings become invalid.
{CODE}
[INFO] --- gmavenplus-plugin:1.5:execute (check-webapp-content) @ distribution
---
[DEBUG] Configuring mojo org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute
from plugin realm
ClassRealm[plugin>org.codehaus.gmavenplus:gmavenplus-plugin:1.5, parent:
sun.misc.Launcher$AppClassLoader@5c647e05]
[DEBUG] Configuring mojo
'org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute' with
include-project-test-dependencies configurator -->
[DEBUG] (f) allowSystemExits = false
[DEBUG] (f) bindPropertiesToSeparateVariables = true
[DEBUG] (f) continueExecuting = false
[DEBUG] (f) mojoExecution =
org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute {execution:
check-webapp-content}
[DEBUG] (f) pluginArtifacts =
[org.codehaus.gmavenplus:gmavenplus-plugin:maven-plugin:1.5:,
org.codehaus.groovy:groovy-all:jar:2.4.4:runtime,
org.apache.maven:maven-plugin-api:jar:2.2.1:compile,
org.apache.maven:maven-project:jar:2.2.1:compile,
org.apache.maven:maven-settings:jar:2.2.1:compile,
org.apache.maven:maven-profile:jar:2.2.1:compile,
org.apache.maven:maven-model:jar:2.2.1:compile,
org.apache.maven:maven-artifact-manager:jar:2.2.1:compile,
backport-util-concurrent:backport-util-concurrent:jar:3.1:compile,
org.codehaus.plexus:plexus-interpolation:jar:1.11:compile,
org.codehaus.plexus:plexus-utils:jar:1.5.15:compile,
org.apache.maven:maven-artifact:jar:2.2.1:compile,
org.apache.maven:maven-core:jar:2.2.1:compile,
org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.1:compile,
org.slf4j:slf4j-jdk14:jar:1.5.6:runtime, org.slf4j:slf4j-api:jar:1.5.6:runtime,
org.slf4j:jcl-over-slf4j:jar:1.5.6:runtime,
org.apache.maven.reporting:maven-reporting-api:jar:2.2.1:compile,
org.apache.maven.doxia:doxia-sink-api:jar:1.1:compile,
org.apache.maven.doxia:doxia-logging-api:jar:1.1:compile,
org.apache.maven:maven-repository-metadata:jar:2.2.1:compile,
org.apache.maven:maven-error-diagnostics:jar:2.2.1:compile,
commons-cli:commons-cli:jar:1.2:compile,
org.apache.maven:maven-plugin-descriptor:jar:2.2.1:compile,
org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile,
org.apache.maven:maven-monitor:jar:2.2.1:compile,
classworlds:classworlds:jar:1.1:compile,
org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile,
org.sonatype.plexus:plexus-cipher:jar:1.4:compile,
org.apache.maven.shared:file-management:jar:1.2.1:compile,
org.apache.maven.shared:maven-shared-io:jar:1.1:compile,
org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-6:compile,
org.codehaus.plexus:plexus-container-default:jar:1.6:compile,
org.apache.xbean:xbean-reflect:jar:3.7:compile,
com.google.collections:google-collections:jar:1.0:compile,
org.codehaus.plexus:plexus-classworlds:jar:2.5.2:compile,
org.apache.maven:maven-plugin-registry:jar:2.2.1:runtime,
org.fusesource.jansi:jansi:jar:1.11:runtime, jline:jline:jar:2.12.1:runtime,
org.apache.ant:ant:jar:1.9.4:runtime,
org.apache.ant:ant-launcher:jar:1.9.4:runtime,
org.apache.ivy:ivy:jar:2.4.0:runtime]
[DEBUG] (f) project = MavenProject:
org.apache.axis2:distribution:1.8.0-SNAPSHOT @
C:\Users\tschoening\Documents\Eclipse\Java
Axis2\axis2\modules\distribution\pom.xml
[DEBUG] (f) scripts = [import java.util.jar.*
def jar = new JarInputStream(new
FileInputStream("C:\Users\tschoening\.m2\repository\org\apache\axis2\axis2-webapp\1.8.0-SNAPSHOT\axis2-webapp-1.8.0-SNAPSHOT.war"))
def expected = new HashSet()
def entry
while(entry = jar.nextJarEntry) {
expected.add(entry.name)
}
jar.close()
jar = new JarInputStream(new
FileInputStream("C:\Users\tschoening\Documents\Eclipse\Java
Axis2\axis2\modules\distribution\target/axis2-1.8.0-SNAPSHOT/dist/axis2.war"))
while(entry = jar.nextJarEntry) {
if (!expected.remove(entry.name)) {
throw new Error("Unexpected entry
in Web app: " + entry.name)
}
}
if (!expected.empty) {
throw new Error("Missing entries in Web
app: " + expected)
}
jar.close()]
[DEBUG] (f) session = org.apache.maven.execution.MavenSession@3d904e9c
[DEBUG] (f) skipTests = false
[DEBUG] (f) sourceEncoding = UTF-8
[DEBUG] -- end configuration --
[INFO] Using Groovy 2.4.4 to perform execute.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Axis2 - Distribution ........................ FAILURE [ 49.237 s]
[INFO] Samples parent POM ................................. SKIPPED
[INFO] JAXWS - Starting from Java Example ................. SKIPPED
[INFO] JAXWS Addressbook Service .......................... SKIPPED
[INFO] JAXWS Calculator Service ........................... SKIPPED
[INFO] JAXWS Interop Sample ............................... SKIPPED
[INFO] JAXWS Samples - Echo, Ping, MTOM ................... SKIPPED
[INFO] Apache Axis2 -JAXWS Version Service ................ SKIPPED
[INFO] Apache Axis2 Transport-HTTPS sample ................ SKIPPED
[INFO] httpsService ....................................... SKIPPED
[INFO] httpsClient ........................................ SKIPPED
[INFO] Apache Axis2 Transport-JMS sample .................. SKIPPED
[INFO] jmsService ......................................... SKIPPED
[INFO] databinding-tests .................................. SKIPPED
[INFO] jaxbri-tests ....................................... SKIPPED
[INFO] echo ............................................... SKIPPED
[INFO] webapp-tests ....................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 51.245 s
[INFO] Finished at: 2017-08-28T19:27:47+02:00
[INFO] Final Memory: 60M/459M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute (check-webapp-content) on
project distribution: Error occurred while calling a method on a Groovy class
from classpath. InvocationTargetException: startup failed:
[ERROR] Script1.groovy: 3: unexpected char: '\' @ line 3, column 89.
[ERROR] Stream(new FileInputStream("C:\Users\tsc
[ERROR] ^
[ERROR]
[ERROR] 1 error
[ERROR] -> [Help 1]
{CODE}
The attached patch fixes the problem by using "%url%" instead of "%file%",
because that can be converted to a path at runtime easily. Please note that
while the value is named "%url%", I'm not creating an instance of the "URL"
class in Java to parse that string, but using "URI" instead directly, because
that's what's needed by the "File" CTOR anyway in the end. You might consider
that unclean, I think the difference is academic and it works as is for me. So
feel free to change it as necessary.
> "Apache Axis2 - Distribution" doesn't build on Windows
> ------------------------------------------------------
>
> Key: AXIS2-5873
> URL: https://issues.apache.org/jira/browse/AXIS2-5873
> Project: Axis2
> Issue Type: Bug
> Components: modules
> Affects Versions: 1.8.0
> Environment: Windows 10 Pro x86-64, JDK 1.8 x86-64
> Reporter: Thorsten Schöning
> Attachments: support Windows paths for distribution.patch
>
>
> "distribution/pom.xml" contains embedded Groovy and uses Maven build
> properties to access some paths, which resolve to some string using "\" on
> Windows. The problem is that these strings contain only one "\", which is
> valid in XML, but are forwarded to Groovy code, where those strings become
> invalid.
> {CODE}
> [INFO] --- gmavenplus-plugin:1.5:execute (check-webapp-content) @
> distribution ---
> [DEBUG] Configuring mojo
> org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute from plugin realm
> ClassRealm[plugin>org.codehaus.gmavenplus:gmavenplus-plugin:1.5, parent:
> sun.misc.Launcher$AppClassLoader@5c647e05]
> [DEBUG] Configuring mojo
> 'org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute' with
> include-project-test-dependencies configurator -->
> [DEBUG] (f) allowSystemExits = false
> [DEBUG] (f) bindPropertiesToSeparateVariables = true
> [DEBUG] (f) continueExecuting = false
> [DEBUG] (f) mojoExecution =
> org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute {execution:
> check-webapp-content}
> [DEBUG] (f) pluginArtifacts = [...]
> [DEBUG] (f) project = MavenProject:
> org.apache.axis2:distribution:1.8.0-SNAPSHOT @
> C:\Users\tschoening\Documents\Eclipse\Java
> Axis2\axis2\modules\distribution\pom.xml
> [DEBUG] (f) scripts = [import java.util.jar.*
> def jar = new JarInputStream(new
> FileInputStream("C:\Users\tschoening\.m2\repository\org\apache\axis2\axis2-webapp\1.8.0-SNAPSHOT\axis2-webapp-1.8.0-SNAPSHOT.war"))
> def expected = new HashSet()
> def entry
> while(entry = jar.nextJarEntry) {
> expected.add(entry.name)
> }
> jar.close()
> jar = new JarInputStream(new
> FileInputStream("C:\Users\tschoening\Documents\Eclipse\Java
> Axis2\axis2\modules\distribution\target/axis2-1.8.0-SNAPSHOT/dist/axis2.war"))
> while(entry = jar.nextJarEntry) {
> if (!expected.remove(entry.name)) {
> throw new Error("Unexpected entry
> in Web app: " + entry.name)
> }
> }
> if (!expected.empty) {
> throw new Error("Missing entries in
> Web app: " + expected)
> }
> jar.close()]
> [DEBUG] (f) session = org.apache.maven.execution.MavenSession@3d904e9c
> [DEBUG] (f) skipTests = false
> [DEBUG] (f) sourceEncoding = UTF-8
> [DEBUG] -- end configuration --
> [INFO] Using Groovy 2.4.4 to perform execute.
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Apache Axis2 - Distribution ........................ FAILURE [ 49.237
> s]
> [INFO] Samples parent POM ................................. SKIPPED
> [INFO] JAXWS - Starting from Java Example ................. SKIPPED
> [INFO] JAXWS Addressbook Service .......................... SKIPPED
> [INFO] JAXWS Calculator Service ........................... SKIPPED
> [INFO] JAXWS Interop Sample ............................... SKIPPED
> [INFO] JAXWS Samples - Echo, Ping, MTOM ................... SKIPPED
> [INFO] Apache Axis2 -JAXWS Version Service ................ SKIPPED
> [INFO] Apache Axis2 Transport-HTTPS sample ................ SKIPPED
> [INFO] httpsService ....................................... SKIPPED
> [INFO] httpsClient ........................................ SKIPPED
> [INFO] Apache Axis2 Transport-JMS sample .................. SKIPPED
> [INFO] jmsService ......................................... SKIPPED
> [INFO] databinding-tests .................................. SKIPPED
> [INFO] jaxbri-tests ....................................... SKIPPED
> [INFO] echo ............................................... SKIPPED
> [INFO] webapp-tests ....................................... SKIPPED
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 51.245 s
> [INFO] Finished at: 2017-08-28T19:27:47+02:00
> [INFO] Final Memory: 60M/459M
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.codehaus.gmavenplus:gmavenplus-plugin:1.5:execute (check-webapp-content)
> on project distribution: Error occurred while calling a method on a Groovy
> class from classpath. InvocationTargetException: startup failed:
> [ERROR] Script1.groovy: 3: unexpected char: '\' @ line 3, column 89.
> [ERROR] Stream(new FileInputStream("C:\Users\tsc
> [ERROR] ^
> [ERROR]
> [ERROR] 1 error
> [ERROR] -> [Help 1]
> {CODE}
> The attached patch fixes the problem by using "%url%" instead of "%file%",
> because that can be converted to a path at runtime easily. Please note that
> while the value is named "%url%", I'm not creating an instance of the "URL"
> class in Java to parse that string, but using "URI" instead directly, because
> that's what's needed by the "File" CTOR anyway in the end. You might consider
> that unclean, I think the difference is academic and it works as is for me.
> So feel free to change it as necessary.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]