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