From 58becf74fe403f5a1395d2ab71913256efde3fa6 Mon Sep 17 00:00:00 2001 From: tcmj Date: Wed, 13 Mar 2019 01:15:45 +0100 Subject: [PATCH 1/4] v.1.3.5: prepare for next development version --- api/pom.xml | 2 +- builder/pom.xml | 2 +- datasources/pom.xml | 2 +- examples-api/pom.xml | 2 +- exporter/pom.xml | 2 +- maven-plugin/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index f22f760..e913295 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.pug diff --git a/builder/pom.xml b/builder/pom.xml index c5d3f8f..1ce7118 100644 --- a/builder/pom.xml +++ b/builder/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.pug diff --git a/datasources/pom.xml b/datasources/pom.xml index 406ea0a..019ceb5 100644 --- a/datasources/pom.xml +++ b/datasources/pom.xml @@ -6,7 +6,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.pug diff --git a/examples-api/pom.xml b/examples-api/pom.xml index b781f60..1798b04 100644 --- a/examples-api/pom.xml +++ b/examples-api/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.pug diff --git a/exporter/pom.xml b/exporter/pom.xml index c6dc553..42f0969 100644 --- a/exporter/pom.xml +++ b/exporter/pom.xml @@ -6,7 +6,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.pug diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml index afd47bd..7fabce9 100644 --- a/maven-plugin/pom.xml +++ b/maven-plugin/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT com.tcmj.plugins diff --git a/pom.xml b/pom.xml index 2687289..c35b763 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.4 + 1.3.5-SNAPSHOT tcmj-pug-enums From 88fd1210c5bb3822c10d866da5b95ed5c7b3dbfc Mon Sep 17 00:00:00 2001 From: tcmj Date: Wed, 13 Mar 2019 04:51:15 +0100 Subject: [PATCH 2/4] v.1.3.5: MetaDataExtractor pimped with regex and unit tests --- .../exporter/tools/MetaDataExtractor.java | 43 +++-- .../enums/exporter/impl/TestDataProvider.java | 117 ++++++++++++- .../exporter/tools/MetaDataExtractorTest.java | 164 ++++++++++++------ 3 files changed, 245 insertions(+), 79 deletions(-) diff --git a/exporter/src/main/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractor.java b/exporter/src/main/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractor.java index d3b8844..1acd419 100644 --- a/exporter/src/main/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractor.java +++ b/exporter/src/main/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractor.java @@ -4,27 +4,38 @@ import com.tcmj.pug.enums.model.EnumData; import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** Extracts some data from the enum source needed by some exporter. */ public class MetaDataExtractor { + /** + * Remove all real javadoc comments (/**). + */ + public static String removeJavadocs(String enumSource) { + return enumSource.replaceAll("/\\*\\*(?s:(?!\\*/).)*\\*/", ""); + } + + /** + * Remove all slash-star-comments (/*). + */ + public static String removeDocs(String enumSource) { + return enumSource.replaceAll("/\\*(?s:(?!\\*/).)*\\*/", ""); + } + /** * Extract the java package name from a java source class. - * @return null if no package found */ public static String getPackageName(String source) { - //todo use regex - int idxPkg = Objects.requireNonNull(source, "source").indexOf("package"); - int idxSemi = source.indexOf(';'); - if (idxPkg >= 0) { - boolean invalid = !source.substring(0, idxPkg).trim().equals(""); - if (idxSemi == -1 || idxPkg > idxSemi || invalid) { - return null; - } else { - return source.substring((idxPkg + 8), idxSemi); - } - } - return null; + Objects.requireNonNull(source, "Cannot get a package from a null input!"); + String harmonized = removeDocs(removeJavadocs(source)); + return Stream.of(harmonized.split(System.lineSeparator())) + .filter(line -> line.trim().startsWith("package")) + .map(pckg -> { + String tmp = pckg.trim().substring("package ".length()).trim(); + return tmp.substring(0, tmp.indexOf(";")).trim(); + }).collect(Collectors.joining()); } /** Simple java class name. eg.: MyEnum */ @@ -88,6 +99,10 @@ public static String getFileNameSingle(EnumResult enumResult) { public static String getPackageDirectories(String source) { String packageName = getPackageName(source); + return getPackageDirectoriesIntern(packageName); + } + + private static String getPackageDirectoriesIntern(String packageName) { return packageName == null ? null : packageName.replace('.', '/').trim(); } @@ -95,6 +110,6 @@ public static String getPackageDirectories(String source) { public static String getPackageDirectories(EnumResult enumResult) { EnumData enumData = Objects.requireNonNull(enumResult.getData(), "Cannot get EnumData object from EnumResult!"); String javaPackageName = Objects.requireNonNull(enumData.getPackageName(), "EnumData.getPackageName() of EnumResult!"); - return javaPackageName.replace('.', '/').trim(); + return getPackageDirectoriesIntern(javaPackageName); } } diff --git a/exporter/src/test/java/com/tcmj/pug/enums/exporter/impl/TestDataProvider.java b/exporter/src/test/java/com/tcmj/pug/enums/exporter/impl/TestDataProvider.java index b4deb82..dc89845 100644 --- a/exporter/src/test/java/com/tcmj/pug/enums/exporter/impl/TestDataProvider.java +++ b/exporter/src/test/java/com/tcmj/pug/enums/exporter/impl/TestDataProvider.java @@ -3,18 +3,24 @@ import com.tcmj.pug.enums.api.EnumExporter; import com.tcmj.pug.enums.model.EnumData; +import java.util.Arrays; +import java.util.Iterator; +import java.util.Objects; +import java.util.Random; + /** * Creates java source enum test data in form of String objects. Used to test the {@link * EnumExporter} implementations. */ public class TestDataProvider { - + public static final String LINESEP = System.lineSeparator(); + private final Random random = new Random(); String[] data = new String[]{ - "package one.two.three; public enum SimpleEnum { ONE,TWO,THREE } ", - "public enum NoPckEnum { ONE,TWO,THREE } ", - " package com.tcmj.iso ; import java.util.Date; public enum UnFormat { A, B ,C }", - "package org; public enum Animal { DOG(\"Goldie\"); private final String name; Animal(String name) { this.name = name; } public String getName() { return name; } } " - }; + "package one.two.three; public enum SimpleEnum { ONE,TWO,THREE } ", + "public enum NoPckEnum { ONE,TWO,THREE } ", + " package com.tcmj.iso ; import java.util.Date; public enum UnFormat { A, B ,C }", + "package org; public enum Animal { DOG(\"Goldie\"); private final String name; Animal(String name) { this.name = name; } public String getName() { return name; } } " + }; public EnumData getEnumData() { return new EnumData(); @@ -36,11 +42,106 @@ public String getExtendedEnum() { return data[3]; } + /** + * Create a enum text object with a given package. + */ public String getEnumNamed(String packageName, String className) { return "package " - + packageName - + "; import java.util.Date; public enum " + + packageName + + "; import java.util.Date; public enum " + + className + + "{ RED,BLUE,GREEN }"; + } + + /** + * Create a enum text object without the leading java package line. + */ + public String getEnumNamed(String className) { + return + "import java.util.Date; public enum " + className + "{ RED,BLUE,GREEN }"; } + + public String getEnumSimple(String packageName, String classNameSimple) { + return join(System.lineSeparator(), + packageName + ";", + "", //sometimes an additional newline + "import java.util.Date; ", + "import java.util.Objects; ", + "", + "public enum " + classNameSimple + " { ", + " MARS, SNICKERS, TOBLERONE,", + "}"); + } + + /** + * Generates a complete enum object with a little bit of randomness. + * complete means with package, javadoc. + * randomness means sometimes more or less empty lines and sometimes with subfields + */ + public String getEnumComplete(String packageName, String classNameSimple) { + String enumSubs = random.nextBoolean() ? "(\"value\")" : ""; + return join(System.lineSeparator(), + "package " + packageName + ";", + random.nextBoolean() ? null : "", //sometimes an additional newline + "import java.util.Date; ", + "import java.util.Objects; ", + random.nextBoolean() ? null : "", + "/** ", + " * This is a generated Enum object.", + " * @author me", + " */ ", + "public enum " + classNameSimple + " { ", + " RED" + enumSubs + ",", + " BLUE" + enumSubs + ",", + " GREEN" + enumSubs + ";", + "".equals(enumSubs) ? "" : " private final String myField;", + random.nextBoolean() ? null : "", + "".equals(enumSubs) ? "" : " " + classNameSimple + "(String name) {", + "".equals(enumSubs) ? "" : " this.myField = name;", + "".equals(enumSubs) ? "" : " }", + random.nextBoolean() ? null : "", + "".equals(enumSubs) ? "" : " public String getMyField() {", + "".equals(enumSubs) ? "" : " return this.myField;", + "".equals(enumSubs) ? "" : " }", + "}"); + } + + private String join(final String separator, final String... objects) { + Objects.requireNonNull(separator, "Separator cannot be null"); + final StringBuilder result = new StringBuilder(); + final Iterator iterator = Arrays.asList(objects).iterator(); + while (iterator.hasNext()) { + final String value = iterator.next(); + if (value == null) { + continue; + } else { + result.append(value); + } + if (iterator.hasNext()) { + result.append(separator); + } + } + return result.toString(); + } + + public String getStaticEnumComplete() { + return "/* some licence */" + LINESEP + + "package a.b.c.d;" + LINESEP + + "/** " + LINESEP + " * some class doc. " + LINESEP + " */" + LINESEP + "public enum MyEnum { " + LINESEP + + " ONE,TWO,THREE;" + LINESEP + + " private final String myField;" + LINESEP + + " /** " + LINESEP + " * some constructor doc. " + LINESEP + " */" + LINESEP + + " MyEnum(String name) {" + LINESEP + + " //set the field name:" + LINESEP + + " this.myField = name;" + LINESEP + + " }" + LINESEP + + " /** " + LINESEP + " * some getter doc. " + LINESEP + " wo star " + LINESEP + " */" + LINESEP + + " public String getMyField() {" + LINESEP + + " /* here we return! */" + LINESEP + + " return this.myField;" + LINESEP + + " }" + LINESEP + + "}"; + } } diff --git a/exporter/src/test/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractorTest.java b/exporter/src/test/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractorTest.java index 75a78e5..1689519 100644 --- a/exporter/src/test/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractorTest.java +++ b/exporter/src/test/java/com/tcmj/pug/enums/exporter/tools/MetaDataExtractorTest.java @@ -1,90 +1,112 @@ package com.tcmj.pug.enums.exporter.tools; +import com.tcmj.pug.enums.api.EnumResult; import com.tcmj.pug.enums.exporter.impl.TestDataProvider; +import com.tcmj.pug.enums.model.EnumData; +import org.junit.Assert; import org.junit.Test; +import static com.tcmj.pug.enums.exporter.tools.MetaDataExtractor.getClassNameSimple; +import static com.tcmj.pug.enums.exporter.tools.MetaDataExtractor.getPackageName; import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; /** Unit tests of {@link MetaDataExtractor} */ public class MetaDataExtractorTest { - private TestDataProvider data = new TestDataProvider(); + private String getTestEnum(String packageName, String classNameSimple) { + return data.getEnumComplete(packageName, classNameSimple); + } + + @Test + public void removeJavadocs() { + String clazz = data.getStaticEnumComplete(); + Assert.assertTrue(clazz.contains("/**")); + String result = MetaDataExtractor.removeJavadocs(clazz); + Assert.assertFalse(result.contains("/**")); + } + + @Test + public void removeDocs() { + String clazz = data.getStaticEnumComplete(); + Assert.assertTrue(clazz.contains("/*")); + String result = MetaDataExtractor.removeDocs(clazz); + Assert.assertFalse(result.contains("/*")); + } + @Test - public void testGetPackageName() { - System.out.println(data.getEnumNamed("com.tcmj.iso", "MyEnum")); + public void getPackageNameGreenTest() { + assertThat("1", getPackageName(getTestEnum("com.tcmj.generated", "Animals")), equalTo("com.tcmj.generated")); + assertThat("2", getPackageName(data.getEnumNamed("com.tcmj.iso", "MyEnum")), equalTo("com.tcmj.iso")); + assertThat("3", getPackageName(data.getEnumNamed("java.util.foo", "MyEnum")), equalTo("java.util.foo")); + assertThat("4", getPackageName(data.getEnumNamed("a.b.c.d.e", "Food")), equalTo("a.b.c.d.e")); + } - assertThat( - "1", - MetaDataExtractor.getPackageName(data.getEnumNamed("com.tcmj.iso", "MyEnum")), - equalTo("com.tcmj.iso")); - assertThat( - "2", - MetaDataExtractor.getPackageName(data.getEnumNamed("java.util.foo", "MyEnum")), - equalTo("java.util.foo")); - assertThat( - "3", - MetaDataExtractor.getPackageName(data.getEnumNamed("a.b.c.d.e", "Food")), - equalTo("a.b.c.d.e")); + @Test + public void getPackageNameSpecialA() { + String data = "/*license*/package ar.be.ce.da.es;/** classdoc */..."; + assertThat(getPackageName(data), equalTo("ar.be.ce.da.es")); + } + + @Test + public void getPackageNameSpecialB() { + String data = " package x.y.z.a.b ; /** classdoc */..."; + assertThat(getPackageName(data), equalTo("x.y.z.a.b")); + } + + @Test + public void getPackageNameNoPackage() { + String data = " dsfdsf x.y.z.a.b enum bla {dsfd}; /** jklo */..."; + assertThat(getPackageName(data), equalTo("")); } @Test(expected = NullPointerException.class) - public void testGetPackageNameNullPointer() { - MetaDataExtractor.getPackageName(null); + public void getPackageNameNull() { + getPackageName(null); } @Test - public void testGetPackageDirectoriesNull() { - assertThat(MetaDataExtractor.getPackageDirectories("there is no package"), nullValue()); + public void getPackageDirectoriesNoPackage() { + assertThat("1", MetaDataExtractor.getPackageDirectories("there is no package"), equalTo("")); + assertThat("2", MetaDataExtractor.getPackageDirectories("public enum without package but a ;"), equalTo("")); } @Test - public void testGetgetPackageDirectories() { + public void getPackageDirectoriesGreen() { String source = "package org.foo.bar; class Money{...}"; assertThat(MetaDataExtractor.getPackageDirectories(source), equalTo("org/foo/bar")); } @Test - public void testGetPackageNameNotAvailable() { - assertThat(MetaDataExtractor.getPackageDirectories("public enum without package but a ;"), nullValue()); + public void getClassNameSimpleGreen() { + assertThat("1", getClassNameSimple(data.getEnumNamed("com.tcmj.iso", "MyEnum")), equalTo("MyEnum")); + assertThat("2", getClassNameSimple(data.getEnumNamed("java.util.foo", "MyEnum")), equalTo("MyEnum")); + assertThat("3", getClassNameSimple(data.getEnumNamed("a.b.c.d.e", "Food")), equalTo("Food")); } @Test - public void testGetClassNameSimple() { - assertThat( - "1", - MetaDataExtractor.getClassNameSimple(data.getEnumNamed("com.tcmj.iso", "MyEnum")), - equalTo("MyEnum")); - assertThat( - "2", - MetaDataExtractor.getClassNameSimple(data.getEnumNamed("java.util.foo", "MyEnum")), - equalTo("MyEnum")); - assertThat( - "3", - MetaDataExtractor.getClassNameSimple(data.getEnumNamed("a.b.c.d.e", "Food")), - equalTo("Food")); + public void getClassNameSimpleFromEnumWithJavadoc() { + String tstenum = "package com.tcmj.html;\n" + + "/**\n" + + " *\n" + + " * This is my dynamically generated java enum class.\n" + + " *

Data has been fetched from https://en.wikipedia.org/wiki/ISO_3166-1\n" + + " *\n" + + " */\n" + + "public enum ClassNameHtmlEnum {\n" + + " AFGHANISTAN(\"AF\", \"AFG\", \"004\"),\n" + + "..."; + assertThat(MetaDataExtractor.getClassNameSimple(tstenum), equalTo("ClassNameHtmlEnum")); } @Test - public void testGetClassNameSimpleFromEnumWithJavadoc() { - //given - String tstenum = "package com.tcmj.html;\n" - + "/**\n" - + " *\n" - + " * This is my dynamically generated java enum class.\n" - + " *

Data has been fetched from https://en.wikipedia.org/wiki/ISO_3166-1\n" - + " *\n" - + " */\n" - + "public enum ClassNameHtmlEnum {\n" - + " AFGHANISTAN(\"AF\", \"AFG\", \"004\"),\n" - + "..."; - System.out.println(tstenum); - assertThat( - MetaDataExtractor.getClassNameSimple(tstenum), - equalTo("ClassNameHtmlEnum")); - + public void getPackageDirectoriesEnumResult() { + EnumData enumDataContent = new EnumData(); + enumDataContent.setClassName("com.tcmj.iso.Planes"); + EnumResult enumResult = EnumResult.of(enumDataContent, null); + assertThat(MetaDataExtractor.getPackageDirectories(enumResult), equalTo("com/tcmj/iso")); + assertThat(MetaDataExtractor.getPackageDirectories(enumResult), equalTo("com/tcmj/iso")); } @Test @@ -97,12 +119,40 @@ public void testGetClassNameUnformated() { } @Test - public void testGetFileNameFull() { + public void getFileNameFull() { assertThat("1", MetaDataExtractor.getFileNameFull(data.getEnumNamed("com.tcmj.iso", "MyEnum")), - equalTo("com/tcmj/iso/MyEnum.java")); + equalTo("com/tcmj/iso/MyEnum.java")); assertThat("2", MetaDataExtractor.getFileNameFull(data.getEnumNamed("java.util.foo", "MyEnum")), - equalTo("java/util/foo/MyEnum.java")); + equalTo("java/util/foo/MyEnum.java")); assertThat("3", MetaDataExtractor.getFileNameFull(data.getEnumNamed("a.b.c.d.e", "Food")), - equalTo("a/b/c/d/e/Food.java")); + equalTo("a/b/c/d/e/Food.java")); + } + + @Test + public void getClassNameEnumResult() { + EnumData enumDataContent = new EnumData(); + enumDataContent.setClassName("com.tcmj.iso.Planes"); + EnumResult enumResult = EnumResult.of(enumDataContent, null); + assertThat(MetaDataExtractor.getClassName(enumResult), equalTo("com.tcmj.iso.Planes")); + } + + @Test + public void getClassNameString() { + String source = " package com.tcmj.iso ; import java.util.Date; public enum UnFormat { A, B ,C }"; + assertThat(MetaDataExtractor.getClassName(source), equalTo("com.tcmj.iso.UnFormat")); + } + + @Test + public void getFileNameSingleEnumResult() { + EnumData enumDataContent = new EnumData(); + enumDataContent.setClassName("com.tcmj.iso.Planes"); + EnumResult enumResult = EnumResult.of(enumDataContent, null); + assertThat(MetaDataExtractor.getFileNameSingle(enumResult), equalTo("Planes.java")); + } + + @Test + public void getFileNameSingleString() { + String source = " package com.tcmj.iso ; import java.util.Date; public enum UnFormat { A, B ,C }"; + assertThat(MetaDataExtractor.getFileNameSingle(source), equalTo("UnFormat.java")); } } From 9a2a1e2a7ce962e133f68d396a8694fa2276d8a7 Mon Sep 17 00:00:00 2001 From: tcmj Date: Sat, 16 Mar 2019 20:25:29 +0100 Subject: [PATCH 3/4] v.1.3.5: Do not override existing files (Option) closes #37 --- examples-api/pom.xml | 11 ++++++++++ .../exporter/impl/JavaSourceFileExporter.java | 22 +++++++++---------- .../com/tcmj/plugins/GenerateEnumMojo.java | 9 ++++---- pom.xml | 5 +++++ 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/examples-api/pom.xml b/examples-api/pom.xml index 1798b04..60732cd 100644 --- a/examples-api/pom.xml +++ b/examples-api/pom.xml @@ -77,6 +77,17 @@ + + org.apache.maven.plugins + maven-clean-plugin + + + + src/main/generated + + + + com.tcmj.plugins pug-enum-maven-plugin diff --git a/exporter/src/main/java/com/tcmj/pug/enums/exporter/impl/JavaSourceFileExporter.java b/exporter/src/main/java/com/tcmj/pug/enums/exporter/impl/JavaSourceFileExporter.java index 7f68e57..2f95028 100644 --- a/exporter/src/main/java/com/tcmj/pug/enums/exporter/impl/JavaSourceFileExporter.java +++ b/exporter/src/main/java/com/tcmj/pug/enums/exporter/impl/JavaSourceFileExporter.java @@ -72,15 +72,17 @@ public EnumResult export(EnumResult enumResult) { Path exportDir = Paths.get(exportPathPrefix, directories); Path exportPath = Paths.get(exportPathPrefix, directories, fileName); - LOG.info("Writing : {}", exportPath); - Files.createDirectories(exportDir); - - String finalContent = Objects.requireNonNull(enumResult.getResultFormatted(), "EnumResult.ResultFormatted"); - - Files.write(exportPath, finalContent.getBytes(getEncoding(enumResult))); - - Path existingFile = appendExistingFile(exportPath, enumResult); + if (Files.exists(exportPath)) { + LOG.warn("File: {}", exportPath); + LOG.warn("...already exists and will not be touched! Consider using maven-clean plugin!"); + } else { + LOG.info("Writing : {}", exportPath); + Files.createDirectories(exportDir); + String finalContent = Objects.requireNonNull(enumResult.getResultFormatted(), "EnumResult.ResultFormatted"); + Files.write(exportPath, finalContent.getBytes(getEncoding(enumResult))); + appendResultFile(exportPath, enumResult); + } } catch (Exception e) { LOG.error("Cannot write Enum '{}' to '{}'", fileName, directories, e); throw new JavaFileHasNotBeenCreatedException(e); @@ -88,13 +90,11 @@ public EnumResult export(EnumResult enumResult) { return enumResult; } - private Path appendExistingFile(Path path, EnumResult enumResult) { + private void appendResultFile(Path path, EnumResult enumResult) { Path absolutePath = path.toAbsolutePath(); if (Files.isRegularFile(absolutePath)) { enumResult.addOption(JavaSourceFileExporter.OPTION_RESULT_PATH, absolutePath); - return absolutePath; } - return null; } private Charset getEncoding(EnumResult enumResult) { diff --git a/maven-plugin/src/main/java/com/tcmj/plugins/GenerateEnumMojo.java b/maven-plugin/src/main/java/com/tcmj/plugins/GenerateEnumMojo.java index 0a1a479..4e62a8b 100644 --- a/maven-plugin/src/main/java/com/tcmj/plugins/GenerateEnumMojo.java +++ b/maven-plugin/src/main/java/com/tcmj/plugins/GenerateEnumMojo.java @@ -16,7 +16,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; @@ -241,7 +240,7 @@ private NamingStrategy resolveNamingStrategies(String[] namingStrategyConstants) @Override - public void execute() throws MojoExecutionException, MojoFailureException { + public void execute() throws MojoExecutionException { StaticLoggerBinder.getSingleton().setMavenLog(getLog()); try { @@ -288,7 +287,10 @@ public void execute() throws MojoExecutionException, MojoFailureException { myEnumExporter.export(eResult); - getLog().info("Finished: " + eResult.getOption(JavaSourceFileExporter.OPTION_RESULT_PATH)); + final Object resultFromExporter = eResult.getOption(JavaSourceFileExporter.OPTION_RESULT_PATH); + if (resultFromExporter != null) { + getLog().info("Created : " + resultFromExporter); + } this.currentEnumResult = eResult; if (this.project != null && eResult.optionExists(JavaSourceFileExporter.OPTION_RESULT_PATH)) { @@ -296,7 +298,6 @@ public void execute() throws MojoExecutionException, MojoFailureException { getLog().debug("Successfully added CompileSourceRoot: " + getOutputDirectory().getPath()); } - getLog().info(""); } catch (Exception e) { getLog().error("Cannot create your enum: " + getClassName(), e); throw new MojoExecutionException("ExecutionFailure!", e); diff --git a/pom.xml b/pom.xml index c35b763..226cd71 100644 --- a/pom.xml +++ b/pom.xml @@ -105,6 +105,11 @@ maven-surefire-plugin 2.22.1 + + org.apache.maven.plugins + maven-clean-plugin + 3.1.0 + From 7f21685895f1f6dd2e503feb0e9af5ba6e55b5ac Mon Sep 17 00:00:00 2001 From: tcmj Date: Sat, 16 Mar 2019 20:52:00 +0100 Subject: [PATCH 4/4] v1.3.5 RELEASE --- api/pom.xml | 2 +- builder/pom.xml | 2 +- datasources/pom.xml | 2 +- examples-api/pom.xml | 2 +- exporter/pom.xml | 2 +- maven-plugin/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index e913295..3eedd92 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.pug diff --git a/builder/pom.xml b/builder/pom.xml index 1ce7118..27bd3fa 100644 --- a/builder/pom.xml +++ b/builder/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.pug diff --git a/datasources/pom.xml b/datasources/pom.xml index 019ceb5..011a910 100644 --- a/datasources/pom.xml +++ b/datasources/pom.xml @@ -6,7 +6,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.pug diff --git a/examples-api/pom.xml b/examples-api/pom.xml index 60732cd..1ec0732 100644 --- a/examples-api/pom.xml +++ b/examples-api/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.pug diff --git a/exporter/pom.xml b/exporter/pom.xml index 42f0969..7e3431c 100644 --- a/exporter/pom.xml +++ b/exporter/pom.xml @@ -6,7 +6,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.pug diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml index 7fabce9..1ec928c 100644 --- a/maven-plugin/pom.xml +++ b/maven-plugin/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 com.tcmj.plugins diff --git a/pom.xml b/pom.xml index 226cd71..0fdc1b1 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.tcmj.pug tcmj-pug-enums - 1.3.5-SNAPSHOT + 1.3.5 tcmj-pug-enums