This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 632fcef Improve build speed
632fcef is described below
commit 632fcef05764d12d6770f1bcb4cf350bbd413a89
Author: Guillaume Nodet <[email protected]>
AuthorDate: Tue Jun 8 13:00:40 2021 +0200
Improve build speed
---
dsl/camel-kotlin-dsl/pom.xml | 1 +
dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/pom.xml | 4 ++++
.../maven/dsl/yaml/GenerateYamlDeserializersMojo.java | 15 ++++++++++++++-
.../camel/maven/dsl/yaml/GenerateYamlSchemaMojo.java | 6 +++++-
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dsl/camel-kotlin-dsl/pom.xml b/dsl/camel-kotlin-dsl/pom.xml
index 8d25cd6..82159e7 100644
--- a/dsl/camel-kotlin-dsl/pom.xml
+++ b/dsl/camel-kotlin-dsl/pom.xml
@@ -172,6 +172,7 @@
<sourceDirs>
<sourceDir>src/main/kotlin</sourceDir>
</sourceDirs>
+ <myIncremental>true</myIncremental>
</configuration>
</execution>
<execution>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/pom.xml
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/pom.xml
index e1df736..dfc913c 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/pom.xml
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/pom.xml
@@ -107,6 +107,10 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-tooling-util</artifactId>
+ </dependency>
<dependency>
<groupId>org.jboss</groupId>
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
index e2e6fcd..b2d885b 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
@@ -17,6 +17,9 @@
package org.apache.camel.maven.dsl.yaml;
import java.io.File;
+import java.io.StringWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -46,6 +49,7 @@ import org.apache.camel.catalog.DefaultCamelCatalog;
import org.apache.camel.maven.dsl.yaml.support.ToolingSupport;
import org.apache.camel.maven.dsl.yaml.support.TypeSpecHolder;
import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.tooling.util.FileUtil;
import org.apache.camel.util.StringHelper;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -94,11 +98,20 @@ public class GenerateYamlDeserializersMojo extends
GenerateYamlSupportMojo {
private void write(Collection<TypeSpec> specs) throws Exception {
for (TypeSpec typeSpec: specs) {
+ StringWriter sw = new StringWriter();
JavaFile.builder(packageName, typeSpec)
.addFileComment("Generated by camel-yaml-dsl-maven-plugin - do
NOT edit this file!")
.indent(" ")
.build()
- .writeTo(sourcesOutputDir.toPath());
+ .writeTo(sw);
+ Path outputDirectory = sourcesOutputDir.toPath();
+ if (!packageName.isEmpty()) {
+ for (String packageComponent : packageName.split("\\.")) {
+ outputDirectory =
outputDirectory.resolve(packageComponent);
+ }
+ Files.createDirectories(outputDirectory);
+ }
+ FileUtil.updateFile(outputDirectory.resolve(typeSpec.name +
".java"), sw.toString());
}
}
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSchemaMojo.java
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSchemaMojo.java
index 193d94d..beb5c3a 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSchemaMojo.java
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlSchemaMojo.java
@@ -18,6 +18,7 @@ package org.apache.camel.maven.dsl.yaml;
import java.io.File;
import java.io.IOException;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -32,6 +33,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.camel.maven.dsl.yaml.support.ToolingSupport;
+import org.apache.camel.tooling.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
import org.apache.maven.plugin.MojoFailureException;
@@ -120,7 +122,9 @@ public class GenerateYamlSchemaMojo extends
GenerateYamlSupportMojo {
try {
ToolingSupport.mkparents(outputFile);
- mapper.writerWithDefaultPrettyPrinter().writeValue(outputFile,
root);
+ StringWriter sw = new StringWriter();
+ mapper.writerWithDefaultPrettyPrinter().writeValue(sw, root);
+ FileUtil.updateFile(outputFile.toPath(), sw.toString());
} catch (IOException e) {
throw new MojoFailureException(e.getMessage(), e);
}