maven-nar / nar-maven-plugin

Native ARchive plugin for Maven
https://maven-nar.github.io/
Apache License 2.0
231 stars 160 forks source link

Broken CC version detection regular expression in Linker.java #228

Closed JnyJny closed 8 years ago

JnyJny commented 8 years ago
[INFO] Using AOL: sparcv9-SunOS-CC
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.908 s
[INFO] Finished at: 2016-05-26T13:15:19-07:00
[INFO] Final Memory: 59M/7852M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.maven-nar:nar-maven-plugin:3.2.3:nar-validate (default-nar-validate) on project nar-maven-plugin-jni-example: Cannot deduce version number from: -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.maven-nar:nar-maven-plugin:3.2.3:nar-validate (default-nar-validate) on project nar-maven-plugin-jni-example: Cannot deduce version number from: 
<stack trace>

Poking around in Linker.java, line 517 I observed the regular expression to find a version number appears different and possibly broken compared to the regex's used in other cases.

Specifically, it appears to be missing a quoted backslash in the last number matching term:

final Pattern p = Pattern.compile( "\\d+\\.d+" );

I suspect that it should be:

final Pattern p = Pattern.compile( "\\d+\\.\\d+" );

I suppose g++ is the overwhelming use case and CC is abandoned for g++ when it fails like above.

ctrueden commented 8 years ago

Thanks for the heads up!