This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 87dd256 CAMEL-14657: Make generate plugin less verbose
87dd256 is described below
commit 87dd256f9316493b11f69fe5db9975ba070b1777
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Mar 20 07:21:09 2020 +0100
CAMEL-14657: Make generate plugin less verbose
---
.../maven/packaging/AbstractGeneratorMojo.java | 12 ++++---
.../camel/maven/packaging/ComponentDslMojo.java | 22 +++++++-----
.../camel/maven/packaging/EndpointDslMojo.java | 39 ++++++++++++----------
.../packaging/EndpointSchemaGeneratorMojo.java | 4 +--
.../component/ComponentsDslMetadataRegistry.java | 12 +++----
5 files changed, 51 insertions(+), 38 deletions(-)
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
index 612804e..5f7e9ec 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGeneratorMojo.java
@@ -77,12 +77,14 @@ public abstract class AbstractGeneratorMojo extends
AbstractMojo {
refresh(buildContext, file);
}
- protected void updateResource(Path dir, String fileName, String data) {
- updateResource(buildContext, dir.resolve(fileName), data);
+ protected boolean updateResource(Path dir, String fileName, String data) {
+ boolean updated;
+ updated = updateResource(buildContext, dir.resolve(fileName), data);
if (!fileName.endsWith(".java")) {
Path outputDir =
Paths.get(project.getBuild().getOutputDirectory());
- updateResource(buildContext, outputDir.resolve(fileName), data);
+ updated |= updateResource(buildContext,
outputDir.resolve(fileName), data);
}
+ return updated;
}
protected String createProperties(String key, String val) {
@@ -111,14 +113,16 @@ public abstract class AbstractGeneratorMojo extends
AbstractMojo {
}
}
- public static void updateResource(BuildContext buildContext, Path out,
String data) {
+ public static boolean updateResource(BuildContext buildContext, Path out,
String data) {
try {
if (FileUtil.updateFile(out, data)) {
refresh(buildContext, out);
+ return true;
}
} catch (IOException e) {
throw new IOError(e);
}
+ return false;
}
public static boolean haveResourcesChanged(Log log, MavenProject project,
BuildContext buildContext, String suffix) {
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
index 6a8a65a..558603a 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
@@ -187,27 +187,33 @@ public class ComponentDslMojo extends
AbstractGeneratorMojo {
private ComponentDslBuilderFactoryGenerator
syncAndGenerateSpecificComponentsBuilderFactories(final ComponentModel
componentModel) throws MojoFailureException {
final ComponentDslBuilderFactoryGenerator
componentDslBuilderFactoryGenerator =
ComponentDslBuilderFactoryGenerator.generateClass(componentModel,
projectClassLoader, componentsDslPackageName);
-
writeSourceIfChanged(componentDslBuilderFactoryGenerator.printClassAsString(),
componentsDslFactoriesPackageName.replace('.', '/'),
componentDslBuilderFactoryGenerator.getGeneratedClassName() + ".java",
sourcesOutputDir);
+ boolean updated =
writeSourceIfChanged(componentDslBuilderFactoryGenerator.printClassAsString(),
componentsDslFactoriesPackageName.replace('.', '/'),
componentDslBuilderFactoryGenerator.getGeneratedClassName() + ".java",
sourcesOutputDir);
- getLog().info("Regenerate " +
componentDslBuilderFactoryGenerator.getGeneratedClassName());
+ if (updated) {
+ getLog().info("Updated ComponentDsl: " +
componentModel.getScheme());
+ }
return componentDslBuilderFactoryGenerator;
}
private ComponentsDslMetadataRegistry
syncAndUpdateComponentsMetadataRegistry(final ComponentModel componentModel,
final String className) {
final ComponentsDslMetadataRegistry componentsDslMetadataRegistry =
new
ComponentsDslMetadataRegistry(sourcesOutputDir.toPath().resolve(componentsDslFactoriesPackageName.replace('.',
'/')).toFile(), componentsMetadata);
-
componentsDslMetadataRegistry.addComponentToMetadataAndSyncMetadataFile(componentModel,
className);
+ boolean updated =
componentsDslMetadataRegistry.addComponentToMetadataAndSyncMetadataFile(componentModel,
className);
- getLog().info("Update components metadata with " + className);
+ if (updated) {
+ getLog().info("Updated ComponentDsl metadata: " +
componentModel.getScheme());
+ }
return componentsDslMetadataRegistry;
}
private void syncAndGenerateComponentsBuilderFactories(final
Set<ComponentModel> componentCachedModels) throws MojoFailureException {
final ComponentsBuilderFactoryGenerator
componentsBuilderFactoryGenerator =
ComponentsBuilderFactoryGenerator.generateClass(componentCachedModels,
projectClassLoader, componentsDslPackageName);
-
writeSourceIfChanged(componentsBuilderFactoryGenerator.printClassAsString(),
componentsDslPackageName.replace('.', '/'),
componentsBuilderFactoryGenerator.getGeneratedClassName() + ".java",
sourcesOutputDir);
+ boolean updated =
writeSourceIfChanged(componentsBuilderFactoryGenerator.printClassAsString(),
componentsDslPackageName.replace('.', '/'),
componentsBuilderFactoryGenerator.getGeneratedClassName() + ".java",
sourcesOutputDir);
- getLog().info("Regenerate " +
componentsBuilderFactoryGenerator.getGeneratedClassName());
+ if (updated) {
+ getLog().info("Updated ComponentDsl factories: " +
componentCachedModels);
+ }
}
protected static String loadJson(File file) {
@@ -255,7 +261,7 @@ public class ComponentDslMojo extends AbstractGeneratorMojo
{
}
}
- protected void writeSourceIfChanged(String source, String filePath, String
fileName, File outputDir) throws MojoFailureException {
+ protected boolean writeSourceIfChanged(String source, String filePath,
String fileName, File outputDir) throws MojoFailureException {
Path target = outputDir.toPath().resolve(filePath).resolve(fileName);
try {
@@ -266,7 +272,7 @@ public class ComponentDslMojo extends AbstractGeneratorMojo
{
String code = header + source;
getLog().debug("Source code generated:\n" + code);
- updateResource(buildContext, target, code);
+ return updateResource(buildContext, target, code);
} catch (Exception e) {
throw new MojoFailureException("IOError with file " + target, e);
}
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 8ccc582..25dfbe1 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -234,20 +234,23 @@ public class EndpointDslMojo extends
AbstractGeneratorMojo {
}
private void createEndpointDsl(ComponentModel model, List<ComponentModel>
aliases, String overrideComponentName) throws MojoFailureException {
-
- doCreateEndpointDsl(model, aliases, overrideComponentName);
+ boolean updated = doCreateEndpointDsl(model, aliases,
overrideComponentName);
// Update components metadata
- getLog().info("Load components EndpointFactories");
+ getLog().debug("Load components EndpointFactories");
List<File> endpointFactories =
loadAllComponentsDslEndpointFactoriesAsFile();
- getLog().info("Regenerate EndpointBuilderFactory");
+ getLog().debug("Regenerate EndpointBuilderFactory");
// make sure EndpointBuilderFactory is synced
- synchronizeEndpointBuilderFactoryInterface(endpointFactories);
+ updated |=
synchronizeEndpointBuilderFactoryInterface(endpointFactories);
- getLog().info("Regenerate EndpointBuilders");
+ getLog().debug("Regenerate EndpointBuilders");
// make sure EndpointBuilders is synced
- synchronizeEndpointBuildersInterface(endpointFactories);
+ updated |= synchronizeEndpointBuildersInterface(endpointFactories);
+
+ if (updated) {
+ getLog().info("Updated EndpointDsl: " + model.getScheme());
+ }
}
private ComponentsDslMetadataRegistry
syncAndUpdateComponentsMetadataRegistry(final ComponentModel componentModel,
final String className) {
@@ -257,13 +260,13 @@ public class EndpointDslMojo extends
AbstractGeneratorMojo {
componentsMetadata);
componentsDslMetadataRegistry.addComponentToMetadataAndSyncMetadataFile(componentModel,
className);
- getLog().info("Update components metadata with " + className);
+ getLog().debug("Update components metadata with " + className);
return componentsDslMetadataRegistry;
}
@SuppressWarnings("checkstyle:methodlength")
- private void doCreateEndpointDsl(ComponentModel model,
List<ComponentModel> aliases, String overrideComponentName) throws
MojoFailureException {
+ private boolean doCreateEndpointDsl(ComponentModel model,
List<ComponentModel> aliases, String overrideComponentName) throws
MojoFailureException {
String componentClassName = model.getJavaType();
String builderName = getEndpointName(componentClassName);
Class<?> realComponentClass = loadClass(componentClassName);
@@ -548,10 +551,10 @@ public class EndpointDslMojo extends
AbstractGeneratorMojo {
dslClass.addMethod(method.copy()).setDefault().setBodyF("return
%s.%s(%s);", javaClass.getName(), method.getName(), String.join(",",
method.getParametersNames()));
}
- writeSourceIfChanged(javaClass,
componentsFactoriesPackageName.replace('.', '/'), builderName + "Factory.java",
false);
+ return writeSourceIfChanged(javaClass,
componentsFactoriesPackageName.replace('.', '/'), builderName + "Factory.java",
false);
}
- private void synchronizeEndpointBuilderFactoryInterface(List<File>
factories) throws MojoFailureException {
+ private boolean synchronizeEndpointBuilderFactoryInterface(List<File>
factories) throws MojoFailureException {
JavaClass javaClass = new JavaClass(getProjectClassLoader());
javaClass.setPackage(endpointFactoriesPackageName);
javaClass.setName("EndpointBuilderFactory");
@@ -575,10 +578,10 @@ public class EndpointDslMojo extends
AbstractGeneratorMojo {
javaClass.implementInterface(componentsFactoriesPackageName + "."
+ factoryName + "." + endpointsName);
}
- writeSourceIfChanged("//CHECKSTYLE:OFF\n" + javaClass.printClass() +
"\n//CHECKSTYLE:ON", endpointFactoriesPackageName.replace('.', '/'),
"EndpointBuilderFactory.java");
+ return writeSourceIfChanged("//CHECKSTYLE:OFF\n" +
javaClass.printClass() + "\n//CHECKSTYLE:ON",
endpointFactoriesPackageName.replace('.', '/'), "EndpointBuilderFactory.java");
}
- private void synchronizeEndpointBuildersInterface(List<File> factories)
throws MojoFailureException {
+ private boolean synchronizeEndpointBuildersInterface(List<File> factories)
throws MojoFailureException {
JavaClass javaClass = new JavaClass(getProjectClassLoader());
javaClass.setPackage(endpointFactoriesPackageName);
javaClass.setName("EndpointBuilders");
@@ -591,7 +594,7 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
javaClass.implementInterface(componentsFactoriesPackageName + "."
+ Strings.before(factory.getName(), "."));
}
- writeSourceIfChanged("//CHECKSTYLE:OFF\n" + javaClass.printClass() +
"\n//CHECKSTYLE:ON", endpointFactoriesPackageName.replace(".", "/"),
"EndpointBuilders.java");
+ return writeSourceIfChanged("//CHECKSTYLE:OFF\n" +
javaClass.printClass() + "\n//CHECKSTYLE:ON",
endpointFactoriesPackageName.replace(".", "/"), "EndpointBuilders.java");
}
private List<File> loadAllComponentsDslEndpointFactoriesAsFile() {
@@ -918,11 +921,11 @@ public class EndpointDslMojo extends
AbstractGeneratorMojo {
}
}
- private void writeSourceIfChanged(JavaClass source, String filePath,
String fileName, boolean innerClassesLast) throws MojoFailureException {
- writeSourceIfChanged(source.printClass(innerClassesLast), filePath,
fileName);
+ private boolean writeSourceIfChanged(JavaClass source, String filePath,
String fileName, boolean innerClassesLast) throws MojoFailureException {
+ return writeSourceIfChanged(source.printClass(innerClassesLast),
filePath, fileName);
}
- private void writeSourceIfChanged(String source, String filePath, String
fileName) throws MojoFailureException {
+ private boolean writeSourceIfChanged(String source, String filePath,
String fileName) throws MojoFailureException {
try {
String header;
try (InputStream is =
getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
@@ -931,7 +934,7 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
String code = header + source;
getLog().debug("Source code generated:\n" + code);
- updateResource(sourcesOutputDir.toPath(), filePath + "/" +
fileName, code);
+ return updateResource(sourcesOutputDir.toPath(), filePath + "/" +
fileName, code);
} catch (Exception e) {
throw new MojoFailureException("IOError with file " + filePath +
"/" + fileName, e);
}
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 314d2ba..f865038 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -248,9 +248,9 @@ public class EndpointSchemaGeneratorMojo extends
AbstractGeneratorMojo {
return componentModel;
}
- protected void updateResource(Path dir, String file, String data) {
+ protected boolean updateResource(Path dir, String file, String data) {
resources.put(file, data);
- super.updateResource(dir, file, data);
+ return super.updateResource(dir, file, data);
}
private String loadResource(String fileName) {
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsDslMetadataRegistry.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsDslMetadataRegistry.java
index 8527cce..36980e1 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsDslMetadataRegistry.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/dsl/component/ComponentsDslMetadataRegistry.java
@@ -76,16 +76,16 @@ public class ComponentsDslMetadataRegistry {
.collect(Collectors.toCollection(TreeSet::new));
}
- public void addComponentToMetadataAndSyncMetadataFile(final ComponentModel
componentModel, final String key) {
+ public boolean addComponentToMetadataAndSyncMetadataFile(final
ComponentModel componentModel, final String key) {
// put the component into the cache
componentsCache.put(key, new ModifiedComponentModel(componentModel));
- syncMetadataFile();
+ return syncMetadataFile();
}
- private void syncMetadataFile() {
+ private boolean syncMetadataFile() {
syncMetadataFileWithGeneratedDslComponents();
- writeCacheIntoMetadataFile();
+ return writeCacheIntoMetadataFile();
}
private void syncMetadataFileWithGeneratedDslComponents() {
@@ -101,12 +101,12 @@ public class ComponentsDslMetadataRegistry {
componentsNamesToRemoveFromCache.forEach(componentFactoryName ->
componentsCache.remove(componentFactoryName));
}
- private void writeCacheIntoMetadataFile() {
+ private boolean writeCacheIntoMetadataFile() {
JsonObject json = new JsonObject();
componentsCache.forEach((componentKey, componentModel) ->
json.put(componentKey,
JsonMapper.asJsonObject(componentModel).get("component")));
final String jsonText = JsonMapper.serialize(json);
try {
- FileUtil.updateFile(metadataFile.toPath(), jsonText);
+ return FileUtil.updateFile(metadataFile.toPath(), jsonText);
} catch (IOException ex) {
throw new IOError(ex);
}