You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2016/08/24 06:54:31 UTC

svn commit: r1757465 - /aries/trunk/blueprint/blueprint-maven-plugin/src/main/java/org/apache/aries/blueprint/plugin/GenerateMojo.java

Author: jbonofre
Date: Wed Aug 24 06:54:31 2016
New Revision: 1757465

URL: http://svn.apache.org/viewvc?rev=1757465&view=rev
Log:
[ARIES-1597] blueprint-maven-plugin new option to override generatedDir 

Signed-off-by: Michael Vorburger <vo...@redhat.com>

Modified:
    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/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=1757465&r1=1757464&r2=1757465&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 Wed Aug 24 06:54:31 2016
@@ -45,7 +45,7 @@ import java.util.Set;
 /**
  * Generates blueprint from CDI annotations
  */
-@Mojo(name="blueprint-generate", requiresDependencyResolution=ResolutionScope.COMPILE, 
+@Mojo(name="blueprint-generate", requiresDependencyResolution=ResolutionScope.COMPILE,
     defaultPhase=LifecyclePhase.PROCESS_CLASSES, inheritByDefault=false)
 public class GenerateMojo extends AbstractMojo {
 
@@ -54,7 +54,7 @@ public class GenerateMojo extends Abstra
 
     @Parameter(required=true)
     protected List<String> scanPaths;
-    
+
     /**
      * Which extension namespaces should the plugin support
      */
@@ -71,6 +71,13 @@ public class GenerateMojo extends Abstra
     protected String generatedFileName;
 
     /**
+     * Base directory to generate into
+     * (relative to ${project.build.directory}/generated-resources).
+     */
+    @Parameter(defaultValue="OSGI-INF/blueprint/")
+    private String generatedDir;
+
+    /**
      * Specifies the default activation setting that will be defined for components.
      * Default is null, which indicates eager (blueprint default).
      * If LAZY then default-activation will be set to lazy.
@@ -79,6 +86,7 @@ public class GenerateMojo extends Abstra
     @Parameter
     protected Activation defaultActivation;
 
+    @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
         if (scanPaths.size() == 0 || scanPaths.iterator().next() == null) {
             throw new MojoExecutionException("Configuration scanPaths must be set");
@@ -86,10 +94,10 @@ public class GenerateMojo extends Abstra
         if (!buildContext.hasDelta(new File(project.getCompileSourceRoots().iterator().next()))) {
             return;
         }
-        
+
         try {
             ClassFinder finder = createProjectScopeFinder();
-            
+
             Set<Class<?>> classes = FilteredClassFinder.findClasses(finder, scanPaths);
             Context context = new Context(classes);
             context.resolve();
@@ -103,12 +111,13 @@ public class GenerateMojo extends Abstra
 
     private void writeBlueprint(Context context) throws Exception {
         String buildDir = project.getBuild().getDirectory();
-        String generatedDir = buildDir + "/generated-resources";
+        String generatedBaseDir = buildDir + "/generated-resources";
         Resource resource = new Resource();
-        resource.setDirectory(generatedDir);
+        resource.setDirectory(generatedBaseDir);
         project.addResource(resource);
 
-        File file = new File(generatedDir, "OSGI-INF/blueprint/" + generatedFileName);
+        File dir = new File(generatedBaseDir, generatedDir);
+        File file = new File(dir, generatedFileName);
         file.getParentFile().mkdirs();
         System.out.println("Generating blueprint to " + file);
 
@@ -118,7 +127,7 @@ public class GenerateMojo extends Abstra
     }
 
     private ClassFinder createProjectScopeFinder() throws MalformedURLException {
-        List<URL> urls = new ArrayList<URL>();
+        List<URL> urls = new ArrayList<>();
 
         urls.add(new File(project.getBuild().getOutputDirectory()).toURI().toURL());
         for (Object artifactO : project.getArtifacts()) {