diff --git a/cukedoctor-converter/pom.xml b/cukedoctor-converter/pom.xml index 51bf259f..1458a879 100644 --- a/cukedoctor-converter/pom.xml +++ b/cukedoctor-converter/pom.xml @@ -34,31 +34,11 @@ com.github.cukedoctor cukedoctor-extension - ${project.parent.version} io.github.robwin markup-document-builder - - org.openjdk.jmh - jmh-core - 1.11.3 - - - org.openjdk.jmh - jmh-generator-annprocess - 1.11.3 - provided - - - io.cucumber - cucumber-junit - - - io.cucumber - cucumber-java - @@ -66,7 +46,6 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.0 @@ -83,10 +62,18 @@ perf + + org.openjdk.jmh + jmh-core + + + org.openjdk.jmh + jmh-generator-annprocess + provided + javax.annotation javax.annotation-api - 1.3.1 @@ -101,20 +88,9 @@ - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - UTF-8 - - org.codehaus.mojo exec-maven-plugin - 1.6.0 java @@ -132,19 +108,6 @@ org.codehaus.mojo build-helper-maven-plugin - - - - add-source - - generate-sources - - - src/perf/java - - - - @@ -158,7 +121,6 @@ com.github.cukedoctor cukedoctor-maven-plugin - ${project.parent.version} cukedoctor-documentation Cukedoctor Documentation @@ -174,24 +136,16 @@ ${project.parent.version} true - - - - execute - - install - - org.apache.maven.plugins maven-scm-publish-plugin - 1.1 ${project.build.outputDirectory} Publishing Cukedoctor-${project.parent.version} living documentation. target/cukedoctor true + scm:git:https://${GH_TOKEN}@github.com/rmpestano/cukedoctor.git gh-pages diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/CukedoctorConverter.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/CukedoctorConverter.java index 46991599..d2f29823 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/CukedoctorConverter.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/CukedoctorConverter.java @@ -18,6 +18,8 @@ public interface CukedoctorConverter { String getDocumentationTitle(); /** + * @param features the features to render + * @return underlying Converter instance * @deprecated Use an appropriate instance of FeatureRenderer to render the document features only * e.g. CukedoctorFeatureRenderer */ @@ -25,6 +27,7 @@ public interface CukedoctorConverter { CukedoctorConverter renderFeatures(List features); /** + * @return underlying Converter instance * @deprecated Use an appropriate instance of FeatureRenderer to render the document features only * e.g. CukedoctorFeatureRenderer */ @@ -32,6 +35,7 @@ public interface CukedoctorConverter { CukedoctorConverter renderFeatures(); /** + * @return underlying Converter instance * @deprecated Use an appropriate instance of HeaderRenderer to render the document attributes * only e.g. CukedoctorHeaderRenderer */ @@ -41,8 +45,7 @@ public interface CukedoctorConverter { /** * @deprecated Use an appropriate instance of SummaryRenderer to render the document summary only * e.g. CukedoctorSummaryRenderer - * @return document overall summary which gathers information about all features like number of - * steps, execution time, total passed scenarios and so on + * @return underlying Converter instance */ @Deprecated CukedoctorConverter renderSummary(); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/DocumentAttributes.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/DocumentAttributes.java index 394da122..84cd9739 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/DocumentAttributes.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/DocumentAttributes.java @@ -4,14 +4,18 @@ import com.github.cukedoctor.util.Constants; import java.lang.reflect.Field; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 04/06/15. Document overall configuration */ public class DocumentAttributes { + private static final Logger log = LoggerFactory.getLogger(DocumentAttributes.class); + private String docTitle = "Living Documentation"; private String backend = "html5"; private String docType = "book"; @@ -303,18 +307,19 @@ public Map toMap() { private Map createAttributesMap() { Map attributesMap = new HashMap<>(); + // fields can be added by instrumenting java class (e.g. jacoco or logger) + List ignoredFieldNames = Arrays.asList("$jacocodata", "log"); for (Field field : getClass().getDeclaredFields()) { try { String fieldName = field.getName(); Object fieldValue = getFieldValue(this, fieldName); - if (fieldValue != null) { + if (fieldValue != null && !ignoredFieldNames.contains(fieldName.toLowerCase())) { Constants.Attributes.Name asciidocAttrName = Constants.Attributes.Name.valueOf(fieldName.toUpperCase()); attributesMap.put(asciidocAttrName.getName(), fieldValue.toString()); } } catch (Exception e) { - Logger.getLogger(getClass().getName()) - .log(Level.WARNING, "Could not get field value of attribute: " + field.getName(), e); + log.warn("Could not get field value of attribute: {}", field.getName(), e); } } return attributesMap; diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/model/Step.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/model/Step.java index 988f3706..e7eb43ae 100755 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/model/Step.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/api/model/Step.java @@ -6,11 +6,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRawValue; import java.util.List; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @JsonIgnoreProperties(ignoreUnknown = true) public class Step { + private static final Logger log = LoggerFactory.getLogger(Step.class); + private String name; private String keyword; private String line; @@ -116,8 +119,7 @@ public Long getDuration() { public Status getStatus() { if (result == null || result.getStatus() == null) { - Logger.getLogger(getClass().getName()) - .warning("Line " + line + " : " + "Step is missing Result: " + keyword + " : " + name); + log.warn("Line {}: Step is missing Result: {}:{}", line, keyword, name); return Status.missing; } else { return result.getStatus(); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/config/CukedoctorConfig.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/config/CukedoctorConfig.java index 5daa7d64..bdb818e3 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/config/CukedoctorConfig.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/config/CukedoctorConfig.java @@ -118,10 +118,10 @@ public Boolean isDisableMinMaxExtension() { /** * Path to be used as relative when looking for introChapterAdoc see {@link - * CukedoctorConverterImpl#renderIntro()}. - * - *

used by com.github.cukedoctor.util.{@link + * CukedoctorConverterImpl#renderIntro()}. used by com.github.cukedoctor.util.{@link * com.github.cukedoctor.util.FileUtil#findFiles(String, String, boolean, String)} + * + * @return the relative path to the intro chapter */ public String getIntroChapterRelativePath() { return introChapterRelativePath; diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/i18n/I18nLoader.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/i18n/I18nLoader.java index e6556f35..5e57dbbb 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/i18n/I18nLoader.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/i18n/I18nLoader.java @@ -8,8 +8,8 @@ import java.io.*; import java.text.MessageFormat; import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This class is responsible for internationalization. @@ -20,7 +20,7 @@ public class I18nLoader extends ResourceBundle.Control { private static I18nLoader instance; - private static Logger log = Logger.getLogger(I18nLoader.class.getName()); + private static final Logger log = LoggerFactory.getLogger(I18nLoader.class); private ResourceBundle bundle; @@ -66,10 +66,9 @@ private void init(List features) { try { bundle = new PropertyResourceBundle(new InputStreamReader(stream, "UTF-8")); } catch (Exception e) { - log.warning( - String.format( - "No resource bundle found for language %s. Using 'cukedoctor_en.properties' as default bundle.", - lang)); + log.warn( + "No resource bundle found for language {}. Using 'cukedoctor_en.properties' as default bundle.", + lang); try { bundle = new PropertyResourceBundle( @@ -99,12 +98,12 @@ private InputStream findCukedoctorProperties(String baseDir) { List files = FileUtil.findFiles(baseDir, "cukedoctor.properties", true); if (files != null && !files.isEmpty()) { String path = files.get(0); - log.fine("Loading cukedoctor resource bundle from: " + path); + log.trace("Loading cukedoctor resource bundle from: {}", path); File file = new File(path); try { return new FileInputStream(file); } catch (Exception e) { - log.log(Level.WARNING, "Could not load resource bundle from target folder", e); + log.warn("Could not load resource bundle from target folder", e); } } return null; diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/parser/FeatureParser.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/parser/FeatureParser.java index 0b5c91e4..c3690ce3 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/parser/FeatureParser.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/parser/FeatureParser.java @@ -8,12 +8,12 @@ import com.github.cukedoctor.util.FileUtil; import java.io.*; import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 04/06/15. */ public class FeatureParser { - static final Logger log = Logger.getLogger(FeatureParser.class.getName()); + private static final Logger log = LoggerFactory.getLogger(FeatureParser.class); /** * @param json absolute path to cucumber json output file @@ -27,8 +27,7 @@ public static List parse(String json) { while (it.hasNext()) { Feature feature = it.next(); if (!feature.isCucumberFeature()) { - log.warning( - "json:" + json + " is NOT a Cucumber feature result file and will be ignored"); + log.warn("json: {} is NOT a Cucumber feature result file and will be ignored", json); it.remove(); } else { feature.initScenarios(); @@ -37,13 +36,13 @@ public static List parse(String json) { } } catch (FileNotFoundException e) { - log.log(Level.WARNING, "Could not find json file:" + json); + log.warn("Could not find json file: {}", json); } catch (JsonMappingException e) { - log.log(Level.WARNING, "Could not map json file:" + json); + log.warn("Could not map json file: {}", json); } catch (JsonParseException e) { - log.log(Level.WARNING, "Could not parse json file:" + json); + log.warn("Could not parse json file: {}", json); } catch (IOException e) { - log.log(Level.WARNING, "Could not read json file:" + json); + log.warn("Could not read json file: {}", json); } return features; diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/renderer/BaseRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/renderer/BaseRenderer.java index e28a202f..8bd803c6 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/renderer/BaseRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/renderer/BaseRenderer.java @@ -10,7 +10,10 @@ public interface BaseRenderer { void setI18n(I18nLoader i18nProvider); - /** @deprecated Use renderX calls that pass the documentBuilder as a parameter instead */ + /** + * @param documentBuilder the instance to use + * @deprecated Use renderX calls that pass the documentBuilder as a parameter instead + */ @Deprecated void setDocumentBuilder(CukedoctorDocumentBuilder documentBuilder); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ExamplesRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ExamplesRenderer.java index 0940fd7d..ae66cb23 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ExamplesRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ExamplesRenderer.java @@ -7,7 +7,11 @@ /** Created by pestano on 28/02/16. */ public interface ExamplesRenderer extends BaseRenderer { - /** @deprecated Use renderScenarioExamples(Scenario, CukedoctorDocumentBuilder) instead */ + /** + * @param scenario the scenario containing the examples + * @return the renderer {@link String} + * @deprecated Use renderScenarioExamples(Scenario, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderScenarioExamples(Scenario scenario); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/FeatureRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/FeatureRenderer.java index 874df575..392da8cd 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/FeatureRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/FeatureRenderer.java @@ -8,7 +8,11 @@ /** Created by pestano on 24/02/16. */ public interface FeatureRenderer extends BaseRenderer { - /** @deprecated Use renderFeature(Feature, CukedoctorDocumentBuilder) instead */ + /** + * @param feature the feature to render + * @return the rendered {@link String} + * @deprecated Use renderFeature(Feature, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderFeature(Feature feature); @@ -17,7 +21,11 @@ default String renderFeature(Feature feature, CukedoctorDocumentBuilder document return renderFeature(feature); } - /** @deprecated Use renderFeatures(List<Feature>, CukedoctorDocumentBuilder) instead */ + /** + * @param features the features to render + * @return the rendered {@link String} + * @deprecated Use renderFeatures(List<Feature>, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderFeatures(List features); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/HeaderRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/HeaderRenderer.java index feff575d..8ea51626 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/HeaderRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/HeaderRenderer.java @@ -14,7 +14,7 @@ public interface HeaderRenderer extends BaseRenderer { /** * @deprecated Use renderDocumentHeader(DocumentAttributes, CukedoctorDocumentBuilder) instead * @param cukedoctorAttributes cukedoctor attributes - * @return + * @return the rendered {@link String} */ @Deprecated String renderDocumentHeader(DocumentAttributes cukedoctorAttributes); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ScenarioRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ScenarioRenderer.java index c55b0ec0..bbb1d702 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ScenarioRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/ScenarioRenderer.java @@ -8,7 +8,12 @@ /** Created by pestano on 24/02/16. */ public interface ScenarioRenderer extends BaseRenderer { - /** @deprecated Use renderScenario(Scenario, Feature, CukedoctorDocumentBuilder) instead */ + /** + * @param scenario scenario to render + * @param feature the feature containing the scenario + * @return the renderer scenario + * @deprecated Use renderScenario(Scenario, Feature, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderScenario(Scenario scenario, Feature feature); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/StepsRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/StepsRenderer.java index a2dcb7c3..19e58f85 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/StepsRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/StepsRenderer.java @@ -11,6 +11,10 @@ public interface StepsRenderer extends BaseRenderer { /** + * @param steps the steps to render + * @param scenario scenario containing the steps + * @param feature the feature containing the scenario + * @return the renderer {@link String} * @deprecated Use renderSteps(List<Step>, Scenario, Feature, CukedoctorDocumentBuilder) * instead */ diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/SummaryRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/SummaryRenderer.java index a8c177a4..d35438a3 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/SummaryRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/SummaryRenderer.java @@ -8,7 +8,11 @@ /** Created by pestano on 24/02/16. */ public interface SummaryRenderer extends BaseRenderer { - /** @deprecated Use renderSummary(List<Feature>, CukedoctorDocumentBuilder) instead */ + /** + * @param features the features to render + * @return the rendered {@link String} + * @deprecated Use renderSummary(List<Feature>, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderSummary(List features); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/TagsRenderer.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/TagsRenderer.java index 80385a65..8a3cb9b4 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/TagsRenderer.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/spi/TagsRenderer.java @@ -8,7 +8,12 @@ /** Created by pestano on 28/02/16. */ public interface TagsRenderer extends BaseRenderer { - /** @deprecated Use renderScenarioTags(Scenario, CukedoctorDocumentBuilder) instead */ + /** + * @param feature the feature containing the tags + * @param scenario the scenario containing the tags + * @return the rendered {@link String} + * @deprecated Use renderScenarioTags(Scenario, CukedoctorDocumentBuilder) instead + */ @Deprecated String renderScenarioTags(Feature feature, Scenario scenario); diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/Assert.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/Assert.java index f4a885b6..2b0b4816 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/Assert.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/Assert.java @@ -144,8 +144,8 @@ public static boolean notEmpty(Map map) { * * * @param array the array + * @return TRUE when given array has no null elements; FALSE otherwise */ - /** @return TRUE when given array has no null elements; FALSE otherwise */ public static boolean notNull(Object[] array) { if (array != null) { for (Object element : array) { diff --git a/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/FileUtil.java b/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/FileUtil.java index 178ed677..8f0e2c87 100644 --- a/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/FileUtil.java +++ b/cukedoctor-converter/src/main/java/com/github/cukedoctor/util/FileUtil.java @@ -10,16 +10,16 @@ import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import java.util.regex.Pattern; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 02/06/15. */ public class FileUtil { - private static final Logger log = Logger.getLogger(FileUtil.class.getName()); + private static final Logger log = LoggerFactory.getLogger(FileUtil.class); public static final Pattern ADOC_FILE_EXTENSION = Pattern.compile("([^\\s]+(\\.(?i)(ad|adoc|asciidoc|asc))$)"); @@ -119,10 +119,7 @@ public FileVisitResult visitFile(final Path file, final BasicFileAttributes attr } }); } catch (IOException e) { - log.log( - Level.WARNING, - "Problems scanning " + suffix + " files in path:" + startDir, - e.getMessage()); + log.warn("Problems scanning {} files in path: {}", suffix, startDir, e); } return foundPaths; } @@ -157,7 +154,7 @@ public static File saveFile(String name, String data) { log.info("Wrote: " + file.getAbsolutePath()); return file; } catch (IOException e) { - log.log(Level.SEVERE, "Could not create file " + name, e); + log.error("Could not create file {}", name, e); return null; } } @@ -186,6 +183,11 @@ public static boolean removeFile(String path) { return fileToRemove.delete(); } + public static void removeDir(String path) throws IOException { + File directoryToRemove = loadFile(path); + FileUtils.deleteDirectory(directoryToRemove); + } + /** * @param source resource from classpath * @param dest dest path @@ -197,8 +199,7 @@ public static File copyFileFromClassPath(String source, String dest) { InputStream in = FileUtil.class.getResourceAsStream(source); return saveFile(dest, IOUtils.toString(in)); } catch (IOException e) { - log.log( - Level.SEVERE, "Could not copy source file: " + source + " to dest file: " + dest, e); + log.error("Could not copy source file: {} to dest file: {}", source, dest, e); } } return null; @@ -214,15 +215,14 @@ public static File copyFile(String source, String dest) { if (source != null && dest != null) { File sourcefile = new File(source); if (!sourcefile.exists()) { - log.warning(String.format("File %s not found.", sourcefile.getAbsolutePath())); + log.warn("File {} not found.", sourcefile.getAbsolutePath()); return null; } try { InputStream in = new FileInputStream(source); return saveFile(dest, IOUtils.toString(in)); } catch (IOException e) { - log.log( - Level.SEVERE, "Could not copy source file: " + source + " to dest file: " + dest, e); + log.error("Could not copy source file: {} to dest file: {}", source, dest, e); } } return null; diff --git a/cukedoctor-converter/src/perf/java/com/github/cukedoctor/CukedoctorBenchmark.java b/cukedoctor-converter/src/perf/java/com/github/cukedoctor/CukedoctorBenchmark.java index 80f460e2..4f248051 100644 --- a/cukedoctor-converter/src/perf/java/com/github/cukedoctor/CukedoctorBenchmark.java +++ b/cukedoctor-converter/src/perf/java/com/github/cukedoctor/CukedoctorBenchmark.java @@ -14,8 +14,8 @@ import java.io.File; import java.util.List; import java.util.UUID; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Created by pestano on 22/02/16. @@ -24,6 +24,8 @@ @BenchmarkMode(Mode.Throughput) public class CukedoctorBenchmark { + private static final Logger log = LoggerFactory.getLogger(CukedoctorBenchmark.class); + private static CukedoctorConverter cukedoctorConverter; private static List asciidoctorFeatures; private static Asciidoctor asciidoctor; @@ -34,7 +36,7 @@ public static class BenchmarkContext { @Setup public void init() throws RunnerException { - Logger.getLogger(FileUtil.class.getName()).setLevel(Level.SEVERE); + System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "error"); String asciidoctorFeaturesPath = FileUtil.findJsonFile(CukedoctorBenchmark.class.getResource("/asciidoctor-features.json").getPath()); asciidoctorFeatures = FeatureParser.parse(asciidoctorFeaturesPath); cukedoctorConverter = Cukedoctor.instance(asciidoctorFeatures); @@ -65,7 +67,7 @@ public static void main(String[] args) throws RunnerException, InterruptedExcept ).run(); }finally { List files = FileUtil.findFiles("target/benchmark", ".adoc"); - Logger.getLogger(CukedoctorBenchmark.class.getName()).info("Number of files converted: " + files.size()); + log.info("Number of files converted: {}", files.size()); CukedoctorBenchmark.removeAdocFIles(); } diff --git a/cukedoctor-converter/src/test/resources/cucumber.properties b/cukedoctor-converter/src/test/resources/cucumber.properties new file mode 100644 index 00000000..e843e395 --- /dev/null +++ b/cukedoctor-converter/src/test/resources/cucumber.properties @@ -0,0 +1,2 @@ +# suppress inspection "UnusedProperty" for whole file +cucumber.publish.quiet=true diff --git a/cukedoctor-converter/src/test/resources/logging.properties b/cukedoctor-converter/src/test/resources/logging.properties deleted file mode 100644 index 5ad47a5b..00000000 --- a/cukedoctor-converter/src/test/resources/logging.properties +++ /dev/null @@ -1,9 +0,0 @@ -handlers = java.util.logging.ConsoleHandler - - -java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter - -com.github.cukedoctor.converter.level=INFO - -com.github.cukedoctor.parser.level=OFF - diff --git a/cukedoctor-extension/pom.xml b/cukedoctor-extension/pom.xml index 51b08101..1e10c5c7 100644 --- a/cukedoctor-extension/pom.xml +++ b/cukedoctor-extension/pom.xml @@ -18,14 +18,11 @@ org.jsoup jsoup - 1.8.3 commons-io commons-io - 2.11.0 - diff --git a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorFooterExtension.java b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorFooterExtension.java index 6c6ff511..a9765281 100644 --- a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorFooterExtension.java +++ b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorFooterExtension.java @@ -2,15 +2,18 @@ import java.text.DateFormat; import java.util.*; -import java.util.logging.Logger; import org.asciidoctor.ast.Document; import org.asciidoctor.extension.Postprocessor; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 20/07/15. adds search box to rendered html documentation */ public class CukedoctorFooterExtension extends Postprocessor { + private static final Logger log = LoggerFactory.getLogger(CukedoctorFooterExtension.class); + private static final DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT); @@ -28,8 +31,7 @@ public String process(Document document, String output) { "/cukedoctor-extension.properties")); cukedoctorVersion = bundle.getString("cukedoctor.version"); } catch (Exception e) { - Logger.getLogger(getClass().getName()) - .warning("Could not find bundle cukedoctor-extension"); + log.warn("Could not find bundle cukedoctor-extension"); } if (stopWatch != null && !"".equals(stopWatch)) { diff --git a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorStyleExtension.java b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorStyleExtension.java index 785d068c..b651da43 100644 --- a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorStyleExtension.java +++ b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/CukedoctorStyleExtension.java @@ -8,19 +8,19 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.commons.io.IOUtils; import org.asciidoctor.ast.Document; import org.asciidoctor.extension.Postprocessor; import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 20/07/15. extends html document styles */ public class CukedoctorStyleExtension extends Postprocessor { - private static final Logger LOG = Logger.getLogger(CukedoctorStyleExtension.class.getName()); + private static final Logger log = LoggerFactory.getLogger(CukedoctorStyleExtension.class); public static final String BASE_DIR = Files.exists(Paths.get("target")) @@ -68,7 +68,7 @@ private void addCukedoctorCss(org.jsoup.nodes.Document document) { Elements head = document.getElementsByTag("head"); head.append(" "); } catch (IOException e) { - LOG.log(Level.SEVERE, "Could not copy cukedoctor css from: " + themePath, e); + log.error("Could not copy cukedoctor css from: {}", themePath, e); } } } diff --git a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/util/FileUtil.java b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/util/FileUtil.java index edbe2ed6..310738b7 100644 --- a/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/util/FileUtil.java +++ b/cukedoctor-extension/src/main/java/com/github/cukedoctor/extension/util/FileUtil.java @@ -5,16 +5,16 @@ import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import java.util.regex.Pattern; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Created by pestano on 02/06/15. */ public class FileUtil { - private static final Logger LOG = Logger.getLogger(FileUtil.class.getName()); + private static final Logger log = LoggerFactory.getLogger(FileUtil.class); public static final Pattern ADOC_FILE_EXTENSION = Pattern.compile("([^\\s]+(\\.(?i)(ad|adoc|asciidoc|asc))$)"); @@ -45,10 +45,10 @@ public static File saveFile(String name, String data) { File file = new File(fullyQualifiedName); file.createNewFile(); FileUtils.write(file, data, "UTF-8"); - LOG.info("Wrote: " + file.getAbsolutePath()); + log.info("Wrote: " + file.getAbsolutePath()); return file; } catch (IOException e) { - LOG.log(Level.SEVERE, "Could not create file " + name, e); + log.error("Could not create file {}", name, e); return null; } } @@ -80,8 +80,7 @@ public static File copyFile(String source, String dest) { try (InputStream in = FileUtil.class.getResourceAsStream(source)) { return saveFile(dest, IOUtils.toString(in)); } catch (IOException e) { - LOG.log( - Level.SEVERE, "Could not copy source file: " + source + " to dest file: " + dest, e); + log.error("Could not copy source file: {} to dest file: {}", dest, e); } } return null; @@ -133,10 +132,7 @@ public FileVisitResult visitFile(final Path file, final BasicFileAttributes attr } }); } catch (IOException e) { - LOG.log( - Level.WARNING, - "Problems scanning " + sulfix + " files in path:" + startDir, - e.getMessage()); + log.warn("Problems scanning {} files in path: {}", sulfix, startDir, e); } return absolutePaths; } @@ -152,8 +148,7 @@ public static File copyFileFromClassPath(String source, String dest) { InputStream in = FileUtil.class.getResourceAsStream(source); return saveFile(dest, IOUtils.toString(in)); } catch (IOException e) { - LOG.log( - Level.SEVERE, "Could not copy source file: " + source + " to dest file: " + dest, e); + log.error("Could not copy source file: {} to dest file: {}", source, dest, e); } } return null; @@ -170,11 +165,11 @@ public static String readFileContent(File target) { bufferedReader.close(); } catch (Exception e) { - LOG.log(Level.WARNING, "Could not read file content: " + target); + log.warn("Could not read file content: {}", target); } } catch (Exception e) { - LOG.log(Level.WARNING, "Could not read file content: " + target); + log.warn("Could not read file content: {}", target); } return content.toString(); diff --git a/cukedoctor-main/pom.xml b/cukedoctor-main/pom.xml index b1a6cd98..de0f7372 100644 --- a/cukedoctor-main/pom.xml +++ b/cukedoctor-main/pom.xml @@ -14,7 +14,6 @@ com.github.cukedoctor cukedoctor-converter - ${project.parent.version} org.asciidoctor @@ -32,13 +31,6 @@ com.beust jcommander - 1.48 - - - junit - junit - 4.13.1 - test @@ -47,15 +39,6 @@ com.github.cukedoctor cukedoctor-maven-plugin - ${project.parent.version} - - - - execute - - install - - @@ -68,7 +51,6 @@ org.apache.maven.plugins maven-assembly-plugin - 2.4.1 false @@ -95,18 +77,9 @@ com.ning.maven.plugins maven-duplicate-finder-plugin - 1.0.9 false - - - - check - - verify - - diff --git a/cukedoctor-main/src/test/java/com/github/cukedoctor/CukedoctorMainTest.java b/cukedoctor-main/src/test/java/com/github/cukedoctor/CukedoctorMainTest.java index 3aab2394..1406ced8 100644 --- a/cukedoctor-main/src/test/java/com/github/cukedoctor/CukedoctorMainTest.java +++ b/cukedoctor-main/src/test/java/com/github/cukedoctor/CukedoctorMainTest.java @@ -137,6 +137,9 @@ public void shouldCreateDocumentationUsingDefaults() throws IOException { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } @Test @@ -170,6 +173,9 @@ public void shouldCreateDocumentationWithoutFeaturesSection() throws IOException } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -193,6 +199,9 @@ public void shouldCreateDocumentationWithoutSummarySection() throws IOException } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -215,6 +224,9 @@ public void shouldCreateDocumentationWithoutScenarioKeyword() throws IOException } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -235,6 +247,9 @@ public void shouldCreateDocumentationWithoutStepTime() throws IOException { } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -256,6 +271,9 @@ public void shouldCreateDocumentationUsingCoderaySourceHighlighter() throws IOEx } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -276,6 +294,9 @@ public void shouldCreateDocumentationWithoutTags() throws IOException { } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -397,6 +418,9 @@ public void shouldCreateDocumentationUsingChapterLabelAndVersionLabel() throws I } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -411,6 +435,9 @@ public void shouldRenderStemWhenSpecifiedOnCommandLine() throws IOException { } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -425,6 +452,9 @@ public void shouldRenderAllowIriReadWhenSpecifiedOnCommandLine() throws IOExcept } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } @@ -459,6 +489,9 @@ public void shouldRenderDataUriWhenSpecifiedOnCommandLine() throws IOException { } finally { FileUtil.removeFile("Living-Documentation.adoc"); FileUtil.removeFile("Living-Documentation.html"); + FileUtil.removeFile("test.svg"); + FileUtil.removeDir(".asciidoctor"); + FileUtil.removeDir("themes"); } } } diff --git a/cukedoctor-main/src/test/resources/cucumber.properties b/cukedoctor-main/src/test/resources/cucumber.properties new file mode 100644 index 00000000..e843e395 --- /dev/null +++ b/cukedoctor-main/src/test/resources/cucumber.properties @@ -0,0 +1,2 @@ +# suppress inspection "UnusedProperty" for whole file +cucumber.publish.quiet=true diff --git a/cukedoctor-main/src/test/resources/logging.properties b/cukedoctor-main/src/test/resources/logging.properties deleted file mode 100644 index 5ad47a5b..00000000 --- a/cukedoctor-main/src/test/resources/logging.properties +++ /dev/null @@ -1,9 +0,0 @@ -handlers = java.util.logging.ConsoleHandler - - -java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter - -com.github.cukedoctor.converter.level=INFO - -com.github.cukedoctor.parser.level=OFF - diff --git a/cukedoctor-maven-plugin/pom.xml b/cukedoctor-maven-plugin/pom.xml index 26143bec..476e497e 100644 --- a/cukedoctor-maven-plugin/pom.xml +++ b/cukedoctor-maven-plugin/pom.xml @@ -11,11 +11,16 @@ cukedoctor-maven-plugin maven-plugin + + 3.8.6 + 3.6.4 + 3.3.0 + + com.github.cukedoctor cukedoctor-converter - ${project.parent.version} org.asciidoctor @@ -30,58 +35,41 @@ asciidoctorj-diagram runtime + org.apache.maven maven-plugin-api - 3.8.6 - test - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.4 + ${maven.version} provided - - junit - junit - 4.13.1 - test - - - org.apache.maven.plugin-testing - maven-plugin-testing-harness - 3.3.0 - test - org.apache.maven maven-core - 3.3.3 + ${maven.version} provided org.apache.maven - maven-model - 3.8.6 - provided - - - org.apache.maven - maven-plugin-api - 3.8.6 + maven-artifact + ${maven.version} provided org.apache.maven maven-compat - 3.3.3 + ${maven.version} test - org.apache.maven - maven-aether-provider - 3.3.9 + org.apache.maven.plugin-tools + maven-plugin-annotations + ${maven-plugin.version} + provided + + + org.apache.maven.plugin-testing + maven-plugin-testing-harness + ${maven-plugin-testing-harness.version} test @@ -91,7 +79,7 @@ org.apache.maven.plugins maven-plugin-plugin - 3.5.2 + ${maven-plugin.version} true diff --git a/cukedoctor-maven-plugin/src/main/java/com/github/cukedoctor/mojo/CukedoctorMojo.java b/cukedoctor-maven-plugin/src/main/java/com/github/cukedoctor/mojo/CukedoctorMojo.java index 3914471e..4506c047 100644 --- a/cukedoctor-maven-plugin/src/main/java/com/github/cukedoctor/mojo/CukedoctorMojo.java +++ b/cukedoctor-maven-plugin/src/main/java/com/github/cukedoctor/mojo/CukedoctorMojo.java @@ -33,7 +33,6 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; @@ -124,7 +123,8 @@ public class CukedoctorMojo extends AbstractMojo { @Parameter(property = "dataUri", required = false) Boolean dataUri; - @Component MavenProject project; + @Parameter(defaultValue = "${project}", readonly = true) + MavenProject project; private String generatedFile = null; // only for tests diff --git a/cukedoctor-multipage-layout/pom.xml b/cukedoctor-multipage-layout/pom.xml index e903af41..b04d7866 100644 --- a/cukedoctor-multipage-layout/pom.xml +++ b/cukedoctor-multipage-layout/pom.xml @@ -13,29 +13,18 @@ com.github.cukedoctor cukedoctor-converter - ${project.parent.version} com.github.cukedoctor cukedoctor-converter - ${project.parent.version} test-jar test com.github.cukedoctor cukedoctor-main - ${project.parent.version} test - - io.cucumber - cucumber-junit - - - io.cucumber - cucumber-java - @@ -44,15 +33,6 @@ com.github.cukedoctor cukedoctor-maven-plugin - ${project.parent.version} - - - - execute - - install - - diff --git a/cukedoctor-multipage-layout/src/test/resources/cucumber.properties b/cukedoctor-multipage-layout/src/test/resources/cucumber.properties new file mode 100644 index 00000000..e843e395 --- /dev/null +++ b/cukedoctor-multipage-layout/src/test/resources/cucumber.properties @@ -0,0 +1,2 @@ +# suppress inspection "UnusedProperty" for whole file +cucumber.publish.quiet=true diff --git a/cukedoctor-section-layout/pom.xml b/cukedoctor-section-layout/pom.xml index 511aa1f4..59109f74 100644 --- a/cukedoctor-section-layout/pom.xml +++ b/cukedoctor-section-layout/pom.xml @@ -13,29 +13,18 @@ com.github.cukedoctor cukedoctor-converter - ${project.parent.version} com.github.cukedoctor cukedoctor-converter - ${project.parent.version} test-jar test com.github.cukedoctor cukedoctor-main - ${project.parent.version} test - - io.cucumber - cucumber-junit - - - io.cucumber - cucumber-java - @@ -44,7 +33,6 @@ com.github.cukedoctor cukedoctor-maven-plugin - ${project.parent.version} Cukedoctor Section Layout cukedoctor-section-documentation @@ -63,24 +51,16 @@ ${project.parent.version} - - - - execute - - install - - org.apache.maven.plugins maven-scm-publish-plugin - 1.1 ${project.build.outputDirectory} Publishing Cukedoctor-${project.parent.version} living documentation. target/cukedoctor true + scm:git:https://${GH_TOKEN}@github.com/rmpestano/cukedoctor.git gh-pages diff --git a/cukedoctor-section-layout/src/test/resources/cucumber.properties b/cukedoctor-section-layout/src/test/resources/cucumber.properties new file mode 100644 index 00000000..e843e395 --- /dev/null +++ b/cukedoctor-section-layout/src/test/resources/cucumber.properties @@ -0,0 +1,2 @@ +# suppress inspection "UnusedProperty" for whole file +cucumber.publish.quiet=true diff --git a/cukedoctor-spi-example/pom.xml b/cukedoctor-spi-example/pom.xml index 89dda04f..55300159 100644 --- a/cukedoctor-spi-example/pom.xml +++ b/cukedoctor-spi-example/pom.xml @@ -10,32 +10,15 @@ cukedoctor-spi-example - - - junit - junit - 4.13.1 - test - com.github.cukedoctor cukedoctor-converter - ${project.parent.version} com.github.cukedoctor cukedoctor-main - ${project.parent.version} test - - io.cucumber - cucumber-junit - - - io.cucumber - cucumber-java - @@ -44,20 +27,10 @@ com.github.cukedoctor cukedoctor-maven-plugin - ${project.parent.version} - - - - execute - - install - - org.apache.maven.plugins maven-deploy-plugin - 2.7 true diff --git a/cukedoctor-spi-example/src/test/resources/cucumber.properties b/cukedoctor-spi-example/src/test/resources/cucumber.properties new file mode 100644 index 00000000..e843e395 --- /dev/null +++ b/cukedoctor-spi-example/src/test/resources/cucumber.properties @@ -0,0 +1,2 @@ +# suppress inspection "UnusedProperty" for whole file +cucumber.publish.quiet=true diff --git a/pom.xml b/pom.xml index 7dda31ec..cbf50048 100644 --- a/pom.xml +++ b/pom.xml @@ -44,6 +44,7 @@ cukedoctor-section-layout cukedoctor-multipage-layout + scm:git:https://github.com/rmpestano/cukedoctor.git scm:git:git@github.com:rmpestano/cukedoctor.git @@ -63,6 +64,7 @@ + 8 UTF-8 ${project.encoding} 2.13.3 @@ -75,9 +77,44 @@ 0.8.7 2.22.6 1.7 + 2.3.1 + + + + com.github.cukedoctor + cukedoctor-extension + ${project.version} + + + com.github.cukedoctor + cukedoctor-converter + ${project.version} + + + com.github.cukedoctor + cukedoctor-converter + ${project.version} + test-jar + + + com.github.cukedoctor + cukedoctor-main + ${project.version} + + + + org.slf4j + slf4j-api + 1.7.35 + + + org.slf4j + slf4j-simple + 1.7.35 + com.fasterxml.jackson.core jackson-core @@ -122,40 +159,102 @@ io.cucumber cucumber-junit ${cucumber.version} - test io.cucumber cucumber-java ${cucumber.version} - test + + + org.jacoco + org.jacoco.core + ${jacoco.version} + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + junit + junit + 4.13.1 + + + org.assertj + assertj-core + 3.15.0 + + + org.mockito + mockito-all + 1.10.19 + + + commons-lang + commons-lang + 2.6 + + + org.openjdk.jmh + jmh-core + 1.11.3 + + + org.openjdk.jmh + jmh-generator-annprocess + 1.11.3 + + + javax.annotation + javax.annotation-api + 1.3.1 + + + org.jsoup + jsoup + 1.8.3 + + + commons-io + commons-io + 2.11.0 + + + com.beust + jcommander + 1.48 + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-simple + junit junit - 4.13.1 test org.assertj assertj-core - 3.15.0 test org.mockito mockito-all - 1.10.19 test commons-lang commons-lang - 2.6 test @@ -196,62 +295,259 @@ ${plugin.version.google-java-format} + + + apply-format + + apply + + process-sources + + + check-format + + check + + compile + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + ${java.version} + ${java.version} + ${project.encoding} + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + + + **/*Test.java + **/*Bdd.java + + + System.out + info + off + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + 2.19.1 + + true + + **/*It.java + **/*Test.java + **/*Feature.java + **/*Bdd.java + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.2.0 + + ${java.version} + + + + attach-javadocs + + jar + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + + prepare-agent + + + + report + + report + + prepare-package + + + **/*HelpMojo* + + + + + + + org.eluder.coveralls + coveralls-maven-plugin + 4.3.0 + + + ${COVERAGE_TOKEN} + + cukedoctor-maven-plugin/target/generated-sources/plugin + + + + + javax.xml.bind + jaxb-api + ${jaxb.version} + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.8 + true + + releases + https://oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + + --pinentry-mode + loopback + + + + + sign-artifacts + + sign + + verify + + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.4.0.905 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + build-helper-maven-plugin + + + + add-source + + generate-sources + + + src/perf/java + + + + + + + com.github.cukedoctor + cukedoctor-maven-plugin + 3.8.0 + + + + execute + + install + + + + + org.apache.maven.plugins + maven-scm-publish-plugin + 1.1 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4.1 + + + com.ning.maven.plugins + maven-duplicate-finder-plugin + 1.0.9 + + + + check + + verify + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.7 + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + org.apache.maven.plugins maven-compiler-plugin - 3.3 - - 1.8 - 1.8 - ${project.encoding} - org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 - - - **/*Test.java - **/*Bdd.java - - - - src/test/resources/logging.properties - - + org.apache.maven.plugins maven-surefire-report-plugin - 2.19.1 - - true - - **/*It.java - **/*Test.java - **/*Feature.java - **/*Bdd.java - - + org.apache.maven.plugins maven-javadoc-plugin - 3.2.0 - - 8 - - - - attach-javadocs - - jar - - - com.diffplug.spotless @@ -261,14 +557,12 @@ - coverage org.jacoco org.jacoco.core - ${jacoco.version} test @@ -277,44 +571,10 @@ org.jacoco jacoco-maven-plugin - ${jacoco.version} - - - - prepare-agent - - - - report - - report - - prepare-package - - - **/*HelpMojo* - - - - org.eluder.coveralls coveralls-maven-plugin - 4.3.0 - - ${COVERAGE_TOKEN} - - cukedoctor-maven-plugin/target/generated-sources/plugin - - - - - javax.xml.bind - jaxb-api - 2.3.1 - - @@ -327,52 +587,18 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.8 - true - - releases - https://oss.sonatype.org/ - true - org.apache.maven.plugins maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - org.apache.maven.plugins maven-gpg-plugin - 3.0.1 - - - - --pinentry-mode - loopback - - - - - sign-artifacts - - sign - - verify - - org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 true @@ -396,38 +622,6 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.4.0.905 - - - - - - - javaFormat - - true - - - - - com.diffplug.spotless - spotless-maven-plugin - - - apply-format - - apply - - process-sources - - - check-format - - check - - compile - -