Author: jsdelfino
Date: Thu Oct 23 11:28:14 2008
New Revision: 707438
URL: http://svn.apache.org/viewvc?rev=707438&view=rev
Log:
Minor fixes to the Maven bundle plugin. Fixed the algorithm determining what
directories need to be excluded from the distro. Added an 'includeGroupIds'
configruation property.
Modified:
tuscany/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java
Modified:
tuscany/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java
URL:
http://svn.apache.org/viewvc/tuscany/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java?rev=707438&r1=707437&r2=707438&view=diff
==============================================================================
---
tuscany/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java
(original)
+++
tuscany/branches/sca-equinox/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/tools/bundle/plugin/ModuleBundlesBuildMojo.java
Thu Oct 23 11:28:14 2008
@@ -78,6 +78,13 @@
private String[] excludeGroupIds;
/**
+ * Directories containing groupids to include.
+ *
+ * @parameter
+ */
+ private String[] includeGroupIds;
+
+ /**
* Set to true to generate a PDE target platform configuration.
*
* @parameter
@@ -105,15 +112,23 @@
}
root.mkdirs();
- // Build sets of exclude directories and groupids
+ // Build sets of exclude directories and included/excluded/groupids
Set<String> excludedFileNames = new HashSet<String>();
if (excludeDirectories != null) {
for (File f: excludeDirectories) {
- for (String n: f.list()) {
- excludedFileNames.add(n);
+ if (f.isDirectory()) {
+ for (String n: f.list()) {
+ excludedFileNames.add(n);
+ }
}
}
}
+ Set<String> includedGroupIds = new HashSet<String>();
+ if (includeGroupIds != null) {
+ for (String g: includeGroupIds) {
+ includedGroupIds.add(g);
+ }
+ }
Set<String> excludedGroupIds = new HashSet<String>();
if (excludeGroupIds != null) {
for (String g: excludeGroupIds) {
@@ -139,11 +154,17 @@
continue;
}
- // Exclude artifact if its groupId is excluded
+ // Exclude artifact if its groupId is excluded or if it's not
included
if (excludedGroupIds.contains(artifact.getGroupId())) {
log.debug("Artifact groupId is excluded: " + artifact);
continue;
}
+ if (!includedGroupIds.isEmpty()) {
+ if (!includedGroupIds.contains(artifact.getGroupId())) {
+ log.debug("Artifact groupId is not included: " +
artifact);
+ continue;
+ }
+ }
File artifactFile = artifact.getFile();
if (!artifactFile.exists()) {
@@ -151,12 +172,6 @@
continue;
}
- // Exclude artifact if its file name is excluded
- if (excludedFileNames.contains(artifactFile.getName())) {
- log.debug("Artifact file is excluded: " + artifact);
- continue;
- }
-
if (log.isDebugEnabled()) {
log.debug("Processing artifact: " + artifact);
}
@@ -171,6 +186,12 @@
if (bundleName != null) {
+ // Exclude artifact if its file name is excluded
+ if (excludedFileNames.contains(artifactFile.getName())) {
+ log.debug("Artifact file is excluded: " + artifact);
+ continue;
+ }
+
// Copy an OSGi bundle as is
log.info("Adding OSGi bundle artifact: " + artifact);
copyFile(artifactFile, root);
@@ -178,6 +199,12 @@
} else if ("war".equals(artifact.getType())) {
+ // Exclude artifact if its file name is excluded
+ if (excludedFileNames.contains(artifactFile.getName())) {
+ log.debug("Artifact file is excluded: " + artifact);
+ continue;
+ }
+
// Copy a WAR as is
log.info("Adding WAR artifact: " + artifact);
copyFile(artifactFile, root);
@@ -185,6 +212,14 @@
} else {
+ File dir = new File(root,
artifactFile.getName().substring(0, artifactFile.getName().length() - 4));
+
+ // Exclude artifact if its file name is excluded
+ if (excludedFileNames.contains(dir.getName())) {
+ log.debug("Artifact file is excluded: " + artifact);
+ continue;
+ }
+
// Create a bundle directory for a non-OSGi JAR
log.info("Adding JAR artifact: " + artifact);
String version =
BundleUtil.version(artifactFile.getPath());
@@ -193,7 +228,6 @@
jarFiles.add(artifactFile);
String symbolicName = (artifact.getGroupId() + "." +
artifact.getArtifactId()).replace('-', '.');
Manifest mf = BundleUtil.libraryManifest(jarFiles,
symbolicName + "_" + version, symbolicName, version, null);
- File dir = new File(root,
artifactFile.getName().substring(0, artifactFile.getName().length() - 4));
File file = new File(dir, "META-INF");
file.mkdirs();
file = new File(file, "MANIFEST.MF");