You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/02/07 15:26:54 UTC
svn commit: r1443501 -
/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
Author: rmannibucau
Date: Thu Feb 7 14:26:54 2013
New Revision: 1443501
URL: http://svn.apache.org/viewvc?rev=1443501&view=rev
Log:
TOMEE-763 TOMEE-764 adding context option + ignoring webapps added by the user when removing default webapps
Modified:
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1443501&r1=1443500&r2=1443501&view=diff
==============================================================================
--- tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java (original)
+++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java Thu Feb 7 14:26:54 2013
@@ -140,6 +140,12 @@ public abstract class AbstractTomEEMojo
protected File catalinaBase;
/**
+ * rename the current artifact
+ */
+ @Parameter
+ protected String context;
+
+ /**
* relative to tomee.base.
*/
@Parameter(defaultValue = "webapps")
@@ -227,12 +233,19 @@ public abstract class AbstractTomEEMojo
tomeeVersion = "1" + version.substring(1, version.length());
}
+ final Collection<String> existingWebapps; // added before using the plugin with maven dependency plugin or sthg like that
+ if (removeDefaultWebapps) {
+ existingWebapps = webappsAlreadyAdded();
+ } else {
+ existingWebapps = Collections.emptyList();
+ }
+
unzip(resolve(), catalinaBase);
if (removeDefaultWebapps) { // do it first to let add other war
- removeDefaultWebapps(removeTomeeWebapp);
+ removeDefaultWebapps(removeTomeeWebapp, existingWebapps);
}
copyLibs(libs, new File(catalinaBase, libDir), "jar");
- copyLibs(webapps, new File(catalinaBase, webappDir), "war"); // TODO: manage custom context ?context=foo
+ copyLibs(webapps, new File(catalinaBase, webappDir), "war");
copyLibs(apps, new File(catalinaBase, appDir), "jar");
overrideConf(config);
overrideConf(lib);
@@ -259,6 +272,20 @@ public abstract class AbstractTomEEMojo
run();
}
+ private List<String> webappsAlreadyAdded() {
+ final List<String> list = new ArrayList<String>();
+ final File webapps = new File(catalinaBase, webappDir);
+ if (webapps.exists() && webapps.isDirectory()) {
+ final File[] files = webapps.listFiles();
+ if (files != null) {
+ for (File f : files) {
+ list.add(f.getName());
+ }
+ }
+ }
+ return list;
+ }
+
private String activateSimpleLog() {
// adding SimpleTomEEFormatter to the classpath
final String cp = InstallationEnrichers.addOneLineFormatter(catalinaBase);
@@ -284,17 +311,19 @@ public abstract class AbstractTomEEMojo
return null;
}
- private void removeDefaultWebapps(final boolean removeTomee) {
+ private void removeDefaultWebapps(final boolean removeTomee, final Collection<String> providedWebapps) {
final File webapps = new File(catalinaBase, webappDir);
if (webapps.isDirectory()) {
final File[] files = webapps.listFiles();
- if (null != files) for (File webapp : files) {
- final String name = webapp.getName();
- if (webapp.isDirectory() && (removeTomee || !name.equals("tomee"))) {
- try {
- deleteDirectory(webapp);
- } catch (IOException ignored) {
- // no-op
+ if (null != files) {
+ for (File webapp : files) {
+ final String name = webapp.getName();
+ if (webapp.isDirectory() && !providedWebapps.contains(name) && (removeTomee || !name.equals("tomee"))) {
+ try {
+ deleteDirectory(webapp);
+ } catch (IOException ignored) {
+ // no-op
+ }
}
}
}
@@ -411,7 +440,7 @@ public abstract class AbstractTomEEMojo
}
final boolean war = "war".equals(packaging);
- final String name = warFile.getName();
+ final String name = destinationName();
final File out;
if (war) {
out = new File(catalinaBase, webappDir + "/" + name);
@@ -462,6 +491,16 @@ public abstract class AbstractTomEEMojo
deployedFile = out;
}
+ private String destinationName() {
+ if (context != null) {
+ if (warFile.getName().endsWith(".war")) {
+ return context + ".war";
+ }
+ return context;
+ }
+ return warFile.getName();
+ }
+
private void overrideAddresses() {
final File serverXml = new File(catalinaBase, "conf/server.xml");
final QuickServerXmlParser parser = QuickServerXmlParser.parse(serverXml);
@@ -670,18 +709,6 @@ public abstract class AbstractTomEEMojo
return true;
}
- protected String cp() {
- final boolean unix = !System.getProperty("os.name").toLowerCase().startsWith("win");
- final char cpSep;
- if (unix) {
- cpSep = ':';
- } else {
- cpSep = ';';
- }
-
- return "bin/bootstrap.jar" + cpSep + "bin/tomcat-juli.jar";
- }
-
private File resolve() {
if (!settings.isOffline()) {
try {