summaryrefslogtreecommitdiff
path: root/src/main/java/org/apache/maven/plugin/nar/Linker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/apache/maven/plugin/nar/Linker.java')
-rw-r--r--src/main/java/org/apache/maven/plugin/nar/Linker.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/main/java/org/apache/maven/plugin/nar/Linker.java b/src/main/java/org/apache/maven/plugin/nar/Linker.java
index 5d9069f..2bfc6aa 100644
--- a/src/main/java/org/apache/maven/plugin/nar/Linker.java
+++ b/src/main/java/org/apache/maven/plugin/nar/Linker.java
@@ -179,28 +179,38 @@ public class Linker
throw new MojoFailureException( "Cannot deduce linker version if name is null" );
String version = null;
-
+
TextStream out = new StringTextStream();
TextStream err = new StringTextStream();
TextStream dbg = new StringTextStream();
if ( name.equals( "g++" ) || name.equals( "gcc" ) )
{
- NarUtil.runCommand( "gcc", new String[] { "--version" }, null, null, out, err, dbg );
+ int r = NarUtil.runCommand( "gcc", new String[] { "--version" }, null, null, out, err, dbg );
Pattern p = Pattern.compile( "\\d+\\.\\d+\\.\\d+" );
Matcher m = p.matcher( out.toString() );
- if (m.find()) {
+ if ( m.find() )
+ {
version = m.group( 0 );
}
+ else
+ {
+ throw new MojoFailureException( "Cannot deduce version number from: " + out );
+ }
}
else if ( name.equals( "msvc" ) )
{
- NarUtil.runCommand( "link", new String[] { "/version" }, null, null, out, err, dbg );
+ int r = NarUtil.runCommand( "link", new String[] { "/version" }, null, null, out, err, dbg );
Pattern p = Pattern.compile( "\\d+\\.\\d+\\.\\d+" );
Matcher m = p.matcher( out.toString() );
- if (m.find()) {
+ if ( m.find() )
+ {
version = m.group( 0 );
}
+ else
+ {
+ throw new MojoFailureException( "Cannot deduce version number from: " + out );
+ }
}
else
{