You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2016/05/02 10:50:18 UTC
svn commit: r1741936 - in
/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin:
FilteredClassFinder.java GenerateMojo.java
Author: cschneider
Date: Mon May 2 08:50:18 2016
New Revision: 1741936
URL: http://svn.apache.org/viewvc?rev=1741936&view=rev
Log:
[ARIES-1539] Allow for setting name of generated file. closes #45
Modified:
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/FilteredClassFinder.java
aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/FilteredClassFinder.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/FilteredClassFinder.java?rev=1741936&r1=1741935&r2=1741936&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/FilteredClassFinder.java (original)
+++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/FilteredClassFinder.java Mon May 2 08:50:18 2016
@@ -18,17 +18,16 @@
*/
package org.apache.aries.blueprint.plugin;
+import org.apache.xbean.finder.ClassFinder;
+import org.springframework.stereotype.Component;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
import java.lang.annotation.Annotation;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.xbean.finder.ClassFinder;
-import org.springframework.stereotype.Component;
-
public class FilteredClassFinder {
@SuppressWarnings("unchecked")
@@ -50,12 +49,9 @@ public class FilteredClassFinder {
for (String packageName : packageNames) {
if (clazz.getPackage().getName().startsWith(packageName)) {
filteredClasses.add(clazz);
- continue;
}
}
}
- //System.out.println("Raw: " + rawClasses);
- //System.out.println("Filtered: " + beanClasses);
return filteredClasses;
}
}
Modified: aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java?rev=1741936&r1=1741935&r2=1741936&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java (original)
+++ aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java Mon May 2 08:50:18 2016
@@ -6,9 +6,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -18,15 +18,6 @@
*/
package org.apache.aries.blueprint.plugin;
-import java.io.File;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
import org.apache.aries.blueprint.plugin.model.Context;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Resource;
@@ -37,8 +28,18 @@ import org.apache.maven.project.MavenPro
import org.apache.xbean.finder.ClassFinder;
import org.sonatype.plexus.build.incremental.BuildContext;
+import java.io.File;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
/**
* Generates blueprint from spring annotations
+ *
* @goal blueprint-generate
* @phase process-classes
* @requiresDependencyResolution compile
@@ -63,8 +64,8 @@ public class GenerateMojo extends Abstra
/**
* Which extension namespaces should the plugin support
- *
- * @parameter
+ *
+ * @parameter
*/
protected Set<String> namespaces;
@@ -73,6 +74,13 @@ public class GenerateMojo extends Abstra
*/
private BuildContext buildContext;
+ /**
+ * Name of file to generate, default: autowire.xml
+ *
+ * @parameter
+ */
+ protected String generatedFileName;
+
public void execute() throws MojoExecutionException, MojoFailureException {
if (!buildContext.hasDelta(new File(project.getCompileSourceRoots().iterator().next()))) {
return;
@@ -99,7 +107,9 @@ public class GenerateMojo extends Abstra
resource.setDirectory(generatedDir);
project.addResource(resource);
- File file = new File(generatedDir, "OSGI-INF/blueprint/autowire.xml");
+ String fileName = generatedFileName != null ? generatedFileName : "autowire.xml";
+
+ File file = new File(generatedDir, "OSGI-INF/blueprint/" + fileName);
file.getParentFile().mkdirs();
System.out.println("Generating blueprint to " + file);
@@ -111,12 +121,12 @@ public class GenerateMojo extends Abstra
private ClassFinder createProjectScopeFinder() throws MalformedURLException {
List<URL> urls = new ArrayList<URL>();
- urls.add( new File(project.getBuild().getOutputDirectory()).toURI().toURL() );
- for ( Object artifactO : project.getArtifacts() ) {
- Artifact artifact = (Artifact)artifactO;
+ urls.add(new File(project.getBuild().getOutputDirectory()).toURI().toURL());
+ for (Object artifactO : project.getArtifacts()) {
+ Artifact artifact = (Artifact) artifactO;
File file = artifact.getFile();
- if ( file != null ) {
- urls.add( file.toURI().toURL() );
+ if (file != null) {
+ urls.add(file.toURI().toURL());
}
}
ClassLoader loader = new URLClassLoader(urls.toArray(new URL[urls.size()]), getClass().getClassLoader());