Repository: camel
Updated Branches:
  refs/heads/master a9d34dc87 -> cd16e6593


http://git-wip-us.apache.org/repos/asf/camel/blob/c88489b8/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
index 8d37d06..6eff7f9 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
@@ -18,11 +18,11 @@ package org.apache.camel.maven.packaging;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
-import java.io.Writer;
 import java.net.URL;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -76,8 +76,9 @@ import freemarker.template.TemplateException;
  */
 public class SpringBootStarterMojo extends AbstractMojo {
 
-    // TO ADD?: "camel-chronicle", "camel-guava-eventbus" ?, "camel-johnzon", 
"camel-ribbon"
-    private static final String[] IGNORE_MODULES = {/* OSGi -> */ 
"camel-core-osgi", "camel-eventadmin", "camel-paxlogging",  /* deprecated (and 
not working perfectly) -> */"camel-swagger", "camel-mina",
+
+    private static final String[] IGNORE_MODULES = {/* OSGi -> */ 
"camel-core-osgi", "camel-eventadmin", "camel-paxlogging",  /* deprecated (and 
not working perfectly) -> */"camel-swagger",
+            "camel-mina",
             /* others (not managed) -> */ "camel-zipkin"};
 
     private static final boolean IGNORE_TEST_MODULES = true;
@@ -348,14 +349,16 @@ public class SpringBootStarterMojo extends AbstractMojo {
     }
 
     private void writeStaticFiles() throws IOException, TemplateException {
+        String notice;
+        String license;
         try (InputStream isNotice = 
getClass().getResourceAsStream("/spring-boot-starter-NOTICE.txt");
-             FileWriter outNotice = new FileWriter(new File(starterDir(), 
"src/main/resources/META-INF/NOTICE.txt"));
-             InputStream isLicense = 
getClass().getResourceAsStream("/spring-boot-starter-LICENSE.txt");
-             FileWriter outLicense = new FileWriter(new File(starterDir(), 
"src/main/resources/META-INF/LICENSE.txt"))
-        ) {
-            IOUtils.copy(isNotice, outNotice);
-            IOUtils.copy(isLicense, outLicense);
+             InputStream isLicense = 
getClass().getResourceAsStream("/spring-boot-starter-LICENSE.txt")) {
+            notice = IOUtils.toString(isNotice);
+            license = IOUtils.toString(isLicense);
         }
+
+        writeIfChanged(notice, new File(starterDir(), 
"src/main/resources/META-INF/NOTICE.txt"));
+        writeIfChanged(license, new File(starterDir(), 
"src/main/resources/META-INF/LICENSE.txt"));
     }
 
     private void writeSpringProvides() throws IOException, TemplateException {
@@ -367,9 +370,11 @@ public class SpringBootStarterMojo extends AbstractMojo {
         outDir.mkdirs();
         File outFile = new File(outDir, "spring.provides");
 
-        try (FileWriter outWriter = new FileWriter(outFile)) {
-            fileTemplate.process(props, outWriter);
-        }
+        StringWriter sw = new StringWriter();
+        fileTemplate.process(props, sw);
+        sw.close();
+
+        writeIfChanged(sw.toString(), outFile);
     }
 
 
@@ -459,11 +464,22 @@ public class SpringBootStarterMojo extends AbstractMojo {
             }
         }
 
+        writeIfChanged(b.toString(), destination);
+    }
 
-        try (Writer out = new FileWriter(destination)) {
-            IOUtils.write(b.toString(), out);
+    private void writeIfChanged(String content, File file) throws IOException {
+        try (FileReader fr = new FileReader(file)) {
+            String oldContent = IOUtils.toString(fr);
+            if (!content.equals(oldContent)) {
+                getLog().info("Writing new file " + file.getAbsolutePath());
+                fr.close();
+                try (FileWriter fw = new FileWriter(file)) {
+                    IOUtils.write(content, fw);
+                }
+            } else {
+                getLog().info("File " + file.getAbsolutePath() + " has been 
left unchanged");
+            }
         }
-
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/c88489b8/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-additional-dependencies.properties
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-additional-dependencies.properties
 
b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-additional-dependencies.properties
index 6436731..39c0b0d 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-additional-dependencies.properties
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-additional-dependencies.properties
@@ -1,5 +1,7 @@
 # This file contains additional dependencies needed by camel modules in a 
spring-boot deployment
 
+camel-guava-eventbus=com.google.guava:guava
 camel-jms=org.apache.geronimo.specs:geronimo-jms_1.1_spec
-camel-kubernetes=org.hibernate:hibernate-validator
-
+camel-jpa=org.apache.geronimo.specs:geronimo-jpa_2.0_spec
+camel-kubernetes=org.hibernate:hibernate-validator:${hibernate-validator-version}
+camel-sjms=org.apache.geronimo.specs:geronimo-jms_1.1_spec

Reply via email to