You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2017/12/13 08:55:44 UTC

svn commit: r1817984 - /openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java

Author: rmannibucau
Date: Wed Dec 13 08:55:44 2017
New Revision: 1817984

URL: http://svn.apache.org/viewvc?rev=1817984&view=rev
Log:
adding bin config to bundle goal

Modified:
    openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java

Modified: openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java?rev=1817984&r1=1817983&r2=1817984&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveBundleMojo.java Wed Dec 13 08:55:44 2017
@@ -87,6 +87,12 @@ public class MeecrowaveBundleMojo extend
     private Collection<String> scopes;
 
     /**
+     * A directory with bin/ files like setenv.sh.
+     */
+    @Parameter(property = "meecrowave.bin", defaultValue = "src/main/meecrowave/bin")
+    private String bin;
+
+    /**
      * A directory with configuration which should be put into the final bundle.
      */
     @Parameter(property = "meecrowave.conf", defaultValue = "src/main/meecrowave/conf")
@@ -326,6 +332,29 @@ public class MeecrowaveBundleMojo extend
         {
             writeMeecrowaveProperties(distroFolder);
         }
+
+        final File srcBin = new File(project.getBasedir(), bin);
+        if (srcBin.exists() && srcBin.isDirectory()) {
+            final File targetRoot = new File(distroFolder, "bin");
+            targetRoot.mkdirs();
+            Stream.of(srcBin.listFiles())
+                  .filter(f -> !f.isDirectory()) // not nested for now
+                  .forEach(f -> {
+                      try {
+                          if (log.isDebugEnabled()) {
+                              log.debug("Copying file from " + f + " to " + targetRoot);
+                          }
+                          final File target = new File(targetRoot, f.getName());
+                          Files.copy(f.toPath(), target.toPath());
+                          if (target.getName().endsWith(".sh")) {
+                              target.setExecutable(true);
+                          }
+                      }
+                      catch (final IOException e) {
+                          throw new IllegalArgumentException("Could not copy file " + f.getAbsolutePath(), e);
+                      }
+                  });
+        }
     }
 
     private void writeMeecrowaveProperties(File distroFolder)