From 8d355b2e35313d663015f3342d74480c8f726ed9 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 12 Feb 2012 12:58:08 +0000 Subject: [PATCH] Deal with basedir with file: prefix git-svn-id: https://svn.argeo.org/slc/trunk@5048 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../java/org/argeo/slc/maven/MavenCall.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 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 d180d1e11..39e57543b 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 @@ -1,11 +1,13 @@ package org.argeo.slc.maven; +import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.slc.SlcException; import org.codehaus.plexus.PlexusContainer; /** A Maven execution. */ @@ -27,7 +29,7 @@ public class MavenCall implements Runnable { args.add(settings); } args.add("-f"); - args.add(basedir + "/pom.xml"); + args.add(getBasedirFile().getPath() + "/pom.xml"); if (goals != null) args.addAll(goals); if (profiles != null) @@ -47,8 +49,8 @@ public class MavenCall implements Runnable { // Launcher.main(goals); CustomCli mavenCli = new CustomCli(); - mavenCli.doMain(args.toArray(new String[args.size()]), basedir, - System.out, System.err); + mavenCli.doMain(args.toArray(new String[args.size()]), getBasedirFile() + .getPath(), System.out, System.err); PlexusContainer plexusContainer = mavenCli.getContainer(); if (log.isDebugEnabled()) @@ -56,6 +58,18 @@ public class MavenCall implements Runnable { plexusContainer.dispose(); } + /** Removes 'file:' prefix if present */ + protected File getBasedirFile() { + if (basedir == null) + throw new SlcException("basedir not set"); + File dir; + if (basedir.startsWith("file:")) + dir = new File(basedir.substring("file:".length())); + else + dir = new File(basedir); + return dir; + } + public void setBasedir(String basedir) { this.basedir = basedir; } -- 2.39.2