From f0caa867879aaff4913fa62f58a207ed0d078fa6 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 12 Feb 2012 17:38:46 +0000 Subject: [PATCH] Improve MavenCall git-svn-id: https://svn.argeo.org/slc/trunk@5053 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../java/org/argeo/slc/maven/MavenCall.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/runtime/org.argeo.slc.support.maven/src/main/java/org/argeo/slc/maven/MavenCall.java b/runtime/org.argeo.slc.support.maven/src/main/java/org/argeo/slc/maven/MavenCall.java index 39e57543b..d85067ebb 100644 --- a/runtime/org.argeo.slc.support.maven/src/main/java/org/argeo/slc/maven/MavenCall.java +++ b/runtime/org.argeo.slc.support.maven/src/main/java/org/argeo/slc/maven/MavenCall.java @@ -2,6 +2,7 @@ package org.argeo.slc.maven; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -15,6 +16,8 @@ public class MavenCall implements Runnable { private final static Log log = LogFactory.getLog(MavenCall.class); private String basedir; private String settings; + /** Raw command lines arguments */ + private String cl; private List goals; private List profiles; private Map properties; @@ -30,6 +33,12 @@ public class MavenCall implements Runnable { } args.add("-f"); args.add(getBasedirFile().getPath() + "/pom.xml"); + // FIXME manages \" \". Use Commons CLI? + if (cl != null) { + String[] clArgs = cl.split(" "); + args.addAll(Arrays.asList(clArgs)); + } + if (goals != null) args.addAll(goals); if (profiles != null) @@ -49,8 +58,10 @@ public class MavenCall implements Runnable { // Launcher.main(goals); CustomCli mavenCli = new CustomCli(); - mavenCli.doMain(args.toArray(new String[args.size()]), getBasedirFile() - .getPath(), System.out, System.err); + int exitCode = mavenCli.doMain(args.toArray(new String[args.size()]), + getBasedirFile().getPath(), System.out, System.err); + if (log.isDebugEnabled()) + log.debug("Maven exit code: " + exitCode); PlexusContainer plexusContainer = mavenCli.getContainer(); if (log.isDebugEnabled()) @@ -90,4 +101,8 @@ public class MavenCall implements Runnable { this.properties = properties; } + public void setCl(String cl) { + this.cl = cl; + } + } -- 2.39.5