From eca111507a2760d64941e33b56d7d1da4c53374e Mon Sep 17 00:00:00 2001 From: pesse Date: Tue, 10 Dec 2019 23:32:48 +0100 Subject: [PATCH 01/65] Move Locale-Initialization to Run-Action Also configure Logger not before Run-Action and log it when we change the locale based on LC_ALL environment variable --- src/main/java/org/utplsql/cli/Cli.java | 3 --- src/main/java/org/utplsql/cli/LocaleInitializer.java | 10 +++++++++- src/main/java/org/utplsql/cli/RunAction.java | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/utplsql/cli/Cli.java b/src/main/java/org/utplsql/cli/Cli.java index 2671988..e330818 100644 --- a/src/main/java/org/utplsql/cli/Cli.java +++ b/src/main/java/org/utplsql/cli/Cli.java @@ -17,9 +17,6 @@ public static void main(String[] args) { static int runPicocliWithExitCode(String[] args) { - LoggerConfiguration.configure(LoggerConfiguration.ConfigLevel.NONE); - LocaleInitializer.initLocale(); - CommandLine commandLine = new CommandLine(UtplsqlPicocliCommand.class); commandLine.setTrimQuotes(true); diff --git a/src/main/java/org/utplsql/cli/LocaleInitializer.java b/src/main/java/org/utplsql/cli/LocaleInitializer.java index 44a755a..bcb0fe7 100644 --- a/src/main/java/org/utplsql/cli/LocaleInitializer.java +++ b/src/main/java/org/utplsql/cli/LocaleInitializer.java @@ -1,5 +1,7 @@ package org.utplsql.cli; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.utplsql.api.EnvironmentVariableUtil; import java.util.Locale; @@ -18,6 +20,8 @@ */ class LocaleInitializer { + private static final Logger logger = LoggerFactory.getLogger(RunAction.class); + private static final Pattern REGEX_LOCALE = Pattern.compile("^([a-zA-Z]+)[_-]([a-zA-Z]+)"); // We only need the very first part and are pretty forgiving in parsing /** @@ -27,7 +31,10 @@ static void initLocale() { boolean localeChanged = setDefaultLocale(EnvironmentVariableUtil.getEnvValue("LC_ALL")); if (!localeChanged) { - setDefaultLocale(EnvironmentVariableUtil.getEnvValue("LANG")); + localeChanged = setDefaultLocale(EnvironmentVariableUtil.getEnvValue("LANG")); + } + if ( !localeChanged ) { + logger.debug("Java Locale not changed from LC_ALL or LANG environment variable"); } } @@ -54,6 +61,7 @@ private static boolean setDefaultLocale(String localeString) { Locale l = new Locale.Builder().setLanguageTag(sb.toString()).build(); if (l != null) { Locale.setDefault(l); + logger.debug("Java Locale changed to {}", l); return true; } } diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java index ba8c934..29d248b 100644 --- a/src/main/java/org/utplsql/cli/RunAction.java +++ b/src/main/java/org/utplsql/cli/RunAction.java @@ -48,6 +48,7 @@ public RunAction(RunCommandConfig config) { void init() { LoggerConfiguration.configure(config.getLogConfigLevel()); + LocaleInitializer.initLocale(); } public RunCommandConfig getConfig() { From dddafb00f681da104b2452c08273b33c55b0c903 Mon Sep 17 00:00:00 2001 From: pesse Date: Tue, 10 Dec 2019 23:33:13 +0100 Subject: [PATCH 02/65] Exclude the correct packages from java-api --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index f05df21..3b38f34 100644 --- a/pom.xml +++ b/pom.xml @@ -27,15 +27,15 @@ compile - com.oracle.jdbc + com.oracle.ojdbc ucp - com.oracle.jdbc + com.oracle.ojdbc ojdbc8 - com.oracle.jdbc + com.oracle.ojdbc orai18n @@ -67,7 +67,7 @@ - + com.oracle.ojdbc orai18n ${oracle.jdbc.version} From ebda7369922a9566f6fdabfd5c6e892089232951 Mon Sep 17 00:00:00 2001 From: pesse Date: Wed, 11 Dec 2019 00:02:41 +0100 Subject: [PATCH 03/65] Make ut_documentation_reporter the default for commandline Fixes #170 --- .../java/org/utplsql/cli/RunPicocliCommand.java | 2 +- .../org/utplsql/cli/PicocliRunCommandTest.java | 14 ++++++++++++++ src/test/java/org/utplsql/cli/RunCommandIT.java | 14 ++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index da0d871..f172564 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -99,7 +99,7 @@ public class RunPicocliCommand implements IRunCommand { private List reporters = new ArrayList<>(); static class Format { - @Option(names = {"-f", "--format"}, required = true, description = "Enables specified format reporting") + @Option(names = {"-f", "--format"}, required = true, description = "Enables specified format reporting", defaultValue = "ut_documentation_reporter") String format; @Option(names = {"-o"}, description = "Outputs format to file") String outputFile; diff --git a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java index c29d3fd..ea22627 100644 --- a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java +++ b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java @@ -163,6 +163,20 @@ void multipleReporters() throws Exception { assertTrue(reporterConfig.isForceToScreen()); } + @Test + void outputWithDefaultReporter() throws Exception { + RunCommandConfig config = parseForConfig("run", + TestHelper.getConnectionString(), + "-o=output1.txt"); + + assertNotNull( config.getReporters() ); + + ReporterConfig reporterConfig = config.getReporters()[0]; + assertEquals("ut_documentation_reporter", reporterConfig.getName()); + assertEquals("output1.txt", reporterConfig.getOutput()); + assertFalse(reporterConfig.isForceToScreen()); + } + @Test void sourceFileMapping() throws Exception { RunCommandConfig config = parseForConfig("run", diff --git a/src/test/java/org/utplsql/cli/RunCommandIT.java b/src/test/java/org/utplsql/cli/RunCommandIT.java index 336f2a8..e6ac671 100644 --- a/src/test/java/org/utplsql/cli/RunCommandIT.java +++ b/src/test/java/org/utplsql/cli/RunCommandIT.java @@ -75,4 +75,18 @@ void run_withDbmsOutputEnabled() throws Exception { assertValidReturnCode(result); } + + @Test + void run_withOutputButNoReporterDefined() throws Exception { + + String outputFileName = "output_" + System.currentTimeMillis() + ".xml"; + addTempPath(Paths.get(outputFileName)); + + int result = TestHelper.runApp("run", + TestHelper.getConnectionString(), + "-o=" + outputFileName, + "--failure-exit-code=2"); + + assertValidReturnCode(result); + } } From 1b044c23fc0616bccde804c3fc3e9e1e25d15793 Mon Sep 17 00:00:00 2001 From: pesse Date: Wed, 11 Dec 2019 08:08:23 +0100 Subject: [PATCH 04/65] Moved default value to ReporterConfig instead of Command line interpretation --- src/main/java/org/utplsql/cli/RunPicocliCommand.java | 2 +- src/main/java/org/utplsql/cli/config/ReporterConfig.java | 8 +++++++- src/test/java/org/utplsql/cli/PicocliRunCommandTest.java | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index f172564..da0d871 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -99,7 +99,7 @@ public class RunPicocliCommand implements IRunCommand { private List reporters = new ArrayList<>(); static class Format { - @Option(names = {"-f", "--format"}, required = true, description = "Enables specified format reporting", defaultValue = "ut_documentation_reporter") + @Option(names = {"-f", "--format"}, required = true, description = "Enables specified format reporting") String format; @Option(names = {"-o"}, description = "Outputs format to file") String outputFile; diff --git a/src/main/java/org/utplsql/cli/config/ReporterConfig.java b/src/main/java/org/utplsql/cli/config/ReporterConfig.java index e68d6ab..e3e74ba 100644 --- a/src/main/java/org/utplsql/cli/config/ReporterConfig.java +++ b/src/main/java/org/utplsql/cli/config/ReporterConfig.java @@ -1,5 +1,7 @@ package org.utplsql.cli.config; +import org.utplsql.api.reporter.CoreReporters; + import java.beans.ConstructorProperties; public class ReporterConfig { @@ -10,7 +12,11 @@ public class ReporterConfig { @ConstructorProperties({"name", "output", "forceToScreen"}) public ReporterConfig(String name, String output, Boolean forceToScreen) { - this.name = name; + if ( name != null ) { + this.name = name; + } else { + this.name = CoreReporters.UT_DOCUMENTATION_REPORTER.name(); + } this.output = output; if (forceToScreen != null) this.forceToScreen = forceToScreen; } diff --git a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java index ea22627..809912d 100644 --- a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java +++ b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java @@ -172,7 +172,7 @@ void outputWithDefaultReporter() throws Exception { assertNotNull( config.getReporters() ); ReporterConfig reporterConfig = config.getReporters()[0]; - assertEquals("ut_documentation_reporter", reporterConfig.getName()); + assertEquals("ut_documentation_reporter", reporterConfig.getName().toLowerCase()); assertEquals("output1.txt", reporterConfig.getOutput()); assertFalse(reporterConfig.isForceToScreen()); } From 2be9ea4e41db329f614cbf2521bbb4516037a2f0 Mon Sep 17 00:00:00 2001 From: pesse Date: Wed, 11 Dec 2019 08:27:32 +0100 Subject: [PATCH 05/65] Add section about charset handling to the documentation --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 1368172..fd518ec 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,22 @@ ALTER SESSION SET NLS_LANGUAGE='AMERICAN'; ALTER SESSION SET NLS_TERRITORY='AMERICA'; ``` +## Charset + +Java will use the default charset of your system for any string output. +You can change this by passing the `-Dfile.encoding` property to the JVM when running a java-application. +To avoid changing the utPLSQL-cli shell- or batchscript, you can define `-Dfile.encoding` in the environment variable `JAVA_TOOL_OPTIONS`. +This environment variable will be picked up and interpreted by the JVM: + +``` +export JAVA_TOOL_OPTIONS='-Dfile.encoding=utf8' +utplsql run user/pw@connecstring + +> Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf8 +``` + +Make sure that the defined charset matches with the codepage your console is using. + ## Usage Currently, utPLSQL-cli supports the following sub-commands: - run From b78ac3826c1701ea7bc4db359e7e03977af687e8 Mon Sep 17 00:00:00 2001 From: pesse Date: Wed, 11 Dec 2019 08:34:23 +0100 Subject: [PATCH 06/65] Set Logging to none in VersionInfo and Reporters-Command --- src/main/java/org/utplsql/cli/ReportersCommand.java | 1 + src/main/java/org/utplsql/cli/VersionInfoCommand.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/org/utplsql/cli/ReportersCommand.java b/src/main/java/org/utplsql/cli/ReportersCommand.java index 257f2ca..f7dcddd 100644 --- a/src/main/java/org/utplsql/cli/ReportersCommand.java +++ b/src/main/java/org/utplsql/cli/ReportersCommand.java @@ -28,6 +28,7 @@ public class ReportersCommand implements ICommand { @Override public int run() { + LoggerConfiguration.configure(LoggerConfiguration.ConfigLevel.NONE); try { DataSource ds = DataSourceProvider.getDataSource(connectionString, 1); diff --git a/src/main/java/org/utplsql/cli/VersionInfoCommand.java b/src/main/java/org/utplsql/cli/VersionInfoCommand.java index d6a40ea..821d0ba 100644 --- a/src/main/java/org/utplsql/cli/VersionInfoCommand.java +++ b/src/main/java/org/utplsql/cli/VersionInfoCommand.java @@ -23,6 +23,7 @@ public class VersionInfoCommand implements ICommand { boolean help; public int run() { + LoggerConfiguration.configure(LoggerConfiguration.ConfigLevel.NONE); System.out.println(CliVersionInfo.getInfo()); System.out.println(JavaApiVersionInfo.getInfo()); From 4b34110b9897289b0f54b4bb5adf6297ac4d3ac2 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 23 Feb 2020 14:05:39 +0000 Subject: [PATCH 07/65] Removed download of `wagon-http` --- .travis.yml | 1 - .travis/maven_cfg.sh | 17 ----------------- 2 files changed, 18 deletions(-) delete mode 100644 .travis/maven_cfg.sh diff --git a/.travis.yml b/.travis.yml index 65d84a2..76b64a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,6 @@ cache: - $MAVEN_CFG install: - - bash .travis/maven_cfg.sh - bash .travis/start_db.sh - bash .travis/install_utplsql.sh - bash .travis/install_demo_project.sh diff --git a/.travis/maven_cfg.sh b/.travis/maven_cfg.sh deleted file mode 100644 index 33b8187..0000000 --- a/.travis/maven_cfg.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -set -ev -cd $(dirname $(readlink -f $0)) - -# Download wagon-http recommended by Oracle. -# On maven latest version this is not needed, but travis doesn't have it. -if [ ! -f $CACHE_DIR/wagon-http-2.8-shaded.jar ]; then - curl -L -O "http://central.maven.org/maven2/org/apache/maven/wagon/wagon-http/2.8/wagon-http-2.8-shaded.jar" - mv wagon-http-2.8-shaded.jar $CACHE_DIR/ - sudo cp $CACHE_DIR/wagon-http-2.8-shaded.jar $MAVEN_HOME/lib/ext/ -else - echo "Using cached wagon-http..." - sudo cp $CACHE_DIR/wagon-http-2.8-shaded.jar $MAVEN_HOME/lib/ext/ -fi - -cp settings.xml $MAVEN_CFG/settings.xml - From 9d8ae5d47a11d1a764126850d85de43ddd1bf327 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 23 Feb 2020 15:12:19 +0000 Subject: [PATCH 08/65] Removed not used settings.xml --- .travis/settings.xml | 51 -------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 .travis/settings.xml diff --git a/.travis/settings.xml b/.travis/settings.xml deleted file mode 100644 index 731ef52..0000000 --- a/.travis/settings.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - maven.oracle.com - ${env.ORACLE_OTN_USER} - ${env.ORACLE_OTN_PASSWORD} - - - ANY - ANY - OAM 11g - - - - - - http.protocol.allow-circular-redirects - %b,true - - - - - - - - - From bbbdbb57b3e778be44fbdba40656cc1bb627cbd0 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 22:08:39 +0100 Subject: [PATCH 09/65] Add command-line param `--coverage-schemes` --- src/main/java/org/utplsql/cli/RunPicocliCommand.java | 8 +++++++- .../java/org/utplsql/cli/config/RunCommandConfig.java | 8 ++++++-- src/test/java/org/utplsql/cli/PicocliRunCommandTest.java | 4 +++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index da0d871..c87826b 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -28,6 +28,11 @@ public class RunPicocliCommand implements IRunCommand { split = ",") private List tags = new ArrayList<>(); + @Option(names = {"--coverage-schemes"}, + description = "comma-separated list of schemas on which coverage should be gathered", + split = ",") + private List coverageSchemes = new ArrayList<>(); + @Option( names = {"-c", "--color"}, @@ -238,7 +243,8 @@ public RunCommandConfig getRunCommandConfig() { enableDbmsOutput, randomTestOrder, randomTestOrderSeed, - tags.toArray(new String[0])); + tags.toArray(new String[0]), + coverageSchemes.toArray(new String[0])); } private RunAction getRunAction() { diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index 4418a45..2ea4223 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -22,9 +22,10 @@ public class RunCommandConfig extends ConnectionConfig { private boolean randomTestOrder = false; private final Integer randomTestOrderSeed; private final String[] tags; + private final String[] coverageSchemes; - @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags"}) - public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags) { + @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags", "coverageSchemes"}) + public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags, String[] coverageSchemes) { super(connectString); this.suitePaths = suitePaths; this.reporters = reporters; @@ -41,6 +42,7 @@ public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfi this.randomTestOrder = randomTestOrder; this.randomTestOrderSeed = randomTestOrderSeed; this.tags = tags; + this.coverageSchemes = coverageSchemes; } public String[] getSuitePaths() { @@ -102,4 +104,6 @@ public boolean isRandomTestOrder() { public Integer getRandomTestOrderSeed() { return randomTestOrderSeed; } + + public String[] getCoverageSchemes() { return coverageSchemes; } } diff --git a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java index 809912d..a7b4eb5 100644 --- a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java +++ b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java @@ -48,7 +48,8 @@ void runCommandAllArguments() throws Exception { "-type_mapping=\"tsql=PACKAGE BODY\"", "-owner_subexpression=1", "-type_subexpression=2", - "-name_subexpression=3"); + "-name_subexpression=3", + "--coverage-schemes=schema1,other_schema"); assertNotNull(config.getConnectString()); assertThat( config.getSuitePaths(), is(new String[]{"app.betwnstr", "app.basic"})); @@ -65,6 +66,7 @@ void runCommandAllArguments() throws Exception { assertEquals( 123, config.getRandomTestOrderSeed() ); assertNotNull( config.getReporters() ); assertEquals( 1, config.getReporters().length ); + assertThat( config.getCoverageSchemes(), is(new String[]{"schema1", "other_schema"}) ); // Source FileMapping assertNotNull(config.getSourceMapping()); From 4059d91311889126dbbd257520a202e69f3e0b8c Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 22:32:30 +0100 Subject: [PATCH 10/65] Use 3.1.9-SNAPSHOT version of java-api --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3b38f34..4da718b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.8-SNAPSHOT + 3.1.9-SNAPSHOT jar cli @@ -23,7 +23,7 @@ org.utplsql java-api - 3.1.8 + 3.1.9-SNAPSHOT compile From a97124537fdefa180d2d0c3652fa2bb6f3b238fb Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 22:35:20 +0100 Subject: [PATCH 11/65] Pass `--coverage-schemes` to TestRunner --- src/main/java/org/utplsql/cli/RunAction.java | 3 ++- .../java/org/utplsql/cli/RunCommandArgumentsTest.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java index 29d248b..d91108a 100644 --- a/src/main/java/org/utplsql/cli/RunAction.java +++ b/src/main/java/org/utplsql/cli/RunAction.java @@ -165,7 +165,8 @@ TestRunner newTestRunner(List reporterList) { .excludeObjects(Arrays.asList(config.getExcludePackages())) .randomTestOrder(config.isRandomTestOrder()) .randomTestOrderSeed(config.getRandomTestOrderSeed()) - .addTags(Arrays.asList(config.getTags())); + .addTags(Arrays.asList(config.getTags())) + .addCoverageSchemes(Arrays.asList(config.getCoverageSchemes())); } private void outputMainInformation() { diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index a2f0a9a..add6844 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -18,6 +18,7 @@ public void allArgumentsAreRecognized() { "-o=sonar_result.xml", "-s", "--tags=tag1,tag2", + "--coverage-schemes=schema1,some_other_schema", "-d", "-c", "--failure-exit-code=10", @@ -64,4 +65,14 @@ void provideTags() { TestRunner testRunner = runCmd.newTestRunner(new ArrayList<>()); assertThat( testRunner.getOptions().tags, contains("tag1", "tag.2") ); } + + @Test + void provideCoverageSchemes() { + IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), + "--coverage-schemes=schema-1,some_other_schema" + ); + + TestRunner testRunner = runCmd.newTestRunner(new ArrayList<>()); + assertThat( testRunner.getOptions().coverageSchemes, contains("schema-1", "some_other_schema") ); + } } From efe4e534ca1dc28d9bdb7d7764018d23e6aa111d Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 22:44:30 +0100 Subject: [PATCH 12/65] Add `--coverage-schemes` to README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index fd518ec..d3d4e17 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,9 @@ utplsql run "my/Username"/"myP@ssword"@connectstring -seed - Sets the seed to use for random test execution order. If set, it sets -random to true (--random-test-order-seed) + +--coverage-schemes - A comma separated list of schemas on which coverage should be gathered + Format: --coverage-schemes=schema1[,schema2[,schema3]] ``` Parameters -f, -o, -s are correlated. That is parameters -o and -s are controlling outputs for reporter specified by the preceding -f parameter. From 1bc62661eccf2acde07b908f9620e6e60e15effa Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 23:31:45 +0100 Subject: [PATCH 13/65] Refactor to Builder-pattern for RunCommandConfig --- .../org/utplsql/cli/RunPicocliCommand.java | 37 +++--- .../utplsql/cli/config/RunCommandConfig.java | 114 +++++++++++++++++- 2 files changed, 132 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index c87826b..a90ffd9 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -227,24 +227,25 @@ public RunCommandConfig getRunCommandConfig() { } } - return new RunCommandConfig( - connectionString, - suitePaths.toArray(new String[0]), - reporterConfigs.toArray(new ReporterConfig[0]), - colorConsole, - failureExitCode, - skipCompatibilityCheck, - splitOrEmpty(includeObjects), - splitOrEmpty(excludeObjects), - sourceFileMapping, - testFileMapping, - loggerConfigLevel, - timeoutInMinutes, - enableDbmsOutput, - randomTestOrder, - randomTestOrderSeed, - tags.toArray(new String[0]), - coverageSchemes.toArray(new String[0])); + return new RunCommandConfig.Builder() + .connectString(connectionString) + .suitePaths(suitePaths.toArray(new String[0])) + .reporters(reporterConfigs.toArray(new ReporterConfig[0])) + .outputAnsiColor(colorConsole) + .failureExitCode(failureExitCode) + .skipCompatibilityCheck(skipCompatibilityCheck) + .includePackages(splitOrEmpty(includeObjects)) + .excludePackages(splitOrEmpty(excludeObjects)) + .sourceMapping(sourceFileMapping) + .testMapping(testFileMapping) + .logConfigLevel(loggerConfigLevel) + .timeoutInMinutes(timeoutInMinutes) + .dbmsOutput(enableDbmsOutput) + .randomTestOrder(randomTestOrder) + .randomTestOrderSeed(randomTestOrderSeed) + .tags(tags.toArray(new String[0])) + .coverageSchemes(coverageSchemes.toArray(new String[0])) + .create(); } private RunAction getRunAction() { diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index 2ea4223..a07b6f6 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -105,5 +105,117 @@ public Integer getRandomTestOrderSeed() { return randomTestOrderSeed; } - public String[] getCoverageSchemes() { return coverageSchemes; } + public String[] getCoverageSchemes() { + return coverageSchemes; + } + + public static class Builder { + + private String connectString; + private String[] suitePaths; + private ReporterConfig[] reporters; + private boolean outputAnsiColor; + private Integer failureExitCode; + private boolean skipCompatibilityCheck; + private String[] includePackages; + private String[] excludePackages; + private FileMapperConfig sourceMapping; + private FileMapperConfig testMapping; + private ConfigLevel logConfigLevel; + private Integer timeoutInMinutes; + private boolean dbmsOutput; + private boolean randomTestOrder; + private Integer randomTestOrderSeed; + private String[] tags; + private String[] coverageSchemes; + + public Builder connectString(String connectString) { + this.connectString = connectString; + return this; + } + + public Builder suitePaths(String[] suitePaths) { + this.suitePaths = suitePaths; + return this; + } + + public Builder reporters(ReporterConfig[] reporters) { + this.reporters = reporters; + return this; + } + + public Builder outputAnsiColor(boolean outputAnsiColor) { + this.outputAnsiColor = outputAnsiColor; + return this; + } + + public Builder failureExitCode(Integer failureExitCode) { + this.failureExitCode = failureExitCode; + return this; + } + + public Builder skipCompatibilityCheck(boolean skipCompatibilityCheck) { + this.skipCompatibilityCheck = skipCompatibilityCheck; + return this; + } + + public Builder includePackages(String[] includePackages) { + this.includePackages = includePackages; + return this; + } + + public Builder excludePackages(String[] excludePackages) { + this.excludePackages = excludePackages; + return this; + } + + public Builder sourceMapping(FileMapperConfig sourceMapping) { + this.sourceMapping = sourceMapping; + return this; + } + + public Builder testMapping(FileMapperConfig testMapping) { + this.testMapping = testMapping; + return this; + } + + public Builder logConfigLevel(ConfigLevel logConfigLevel) { + this.logConfigLevel = logConfigLevel; + return this; + } + + public Builder timeoutInMinutes(Integer timeoutInMinutes) { + this.timeoutInMinutes = timeoutInMinutes; + return this; + } + + public Builder dbmsOutput(boolean dbmsOutput) { + this.dbmsOutput = dbmsOutput; + return this; + } + + public Builder randomTestOrder(boolean randomTestOrder) { + this.randomTestOrder = randomTestOrder; + return this; + } + + public Builder randomTestOrderSeed(Integer randomTestOrderSeed) { + this.randomTestOrderSeed = randomTestOrderSeed; + return this; + } + + public Builder tags(String[] tags) { + this.tags = tags; + return this; + } + + public Builder coverageSchemes(String[] coverageSchemes) { + this.coverageSchemes = coverageSchemes; + return this; + } + + public RunCommandConfig create() { + return new RunCommandConfig(connectString, suitePaths, reporters, outputAnsiColor, failureExitCode, skipCompatibilityCheck, includePackages, excludePackages, sourceMapping, testMapping, logConfigLevel, timeoutInMinutes, dbmsOutput, randomTestOrder, randomTestOrderSeed, tags, coverageSchemes); + } + } } From 2a7e7166feacd48008d817c09dc7d40e70155fbe Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 12 Mar 2020 23:46:04 +0100 Subject: [PATCH 14/65] Start composable test for RunCommandConfig -> TestRunnerOptions --- .../utplsql/cli/config/RunCommandConfig.java | 10 +++--- ...ConfigParamsArePassedToTestRunnerTest.java | 31 +++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index a07b6f6..ea66ffd 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -112,13 +112,13 @@ public String[] getCoverageSchemes() { public static class Builder { private String connectString; - private String[] suitePaths; + private String[] suitePaths = new String[0]; private ReporterConfig[] reporters; private boolean outputAnsiColor; private Integer failureExitCode; private boolean skipCompatibilityCheck; - private String[] includePackages; - private String[] excludePackages; + private String[] includePackages = new String[0]; + private String[] excludePackages = new String[0]; private FileMapperConfig sourceMapping; private FileMapperConfig testMapping; private ConfigLevel logConfigLevel; @@ -126,8 +126,8 @@ public static class Builder { private boolean dbmsOutput; private boolean randomTestOrder; private Integer randomTestOrderSeed; - private String[] tags; - private String[] coverageSchemes; + private String[] tags = new String[0]; + private String[] coverageSchemes = new String[0]; public Builder connectString(String connectString) { this.connectString = connectString; diff --git a/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java new file mode 100644 index 0000000..b1b34d4 --- /dev/null +++ b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java @@ -0,0 +1,31 @@ +package org.utplsql.cli; + +import org.junit.jupiter.api.Test; +import org.utplsql.api.TestRunner; +import org.utplsql.cli.config.RunCommandConfig; + +import java.util.ArrayList; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; + +public class RunCommandConfigParamsArePassedToTestRunnerTest { + + @Test + void tags() { + RunCommandConfig config = new RunCommandConfig.Builder() + .tags(new String[]{"tag1", "tag2"}) + .create(); + TestRunner testRunner = new RunAction(config).newTestRunner(new ArrayList<>()); + assertThat( testRunner.getOptions().tags, contains("tag1", "tag2") ); + } + + @Test + void coverageSchemes() { + RunCommandConfig config = new RunCommandConfig.Builder() + .coverageSchemes(new String[]{"schema1", "another_schema", "and-another-one"}) + .create(); + TestRunner testRunner = new RunAction(config).newTestRunner(new ArrayList<>()); + assertThat( testRunner.getOptions().coverageSchemes, contains("schema1", "another_schema", "and-another-one") ); + } +} From 2473530e7f5f187c89761d0d7d4b6c58a13b345f Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 10 Jun 2021 22:01:55 +0200 Subject: [PATCH 15/65] Start adding descriptions to the tests --- src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index add6844..d280c2e 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -1,5 +1,6 @@ package org.utplsql.cli; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.utplsql.api.TestRunner; @@ -11,6 +12,7 @@ public class RunCommandArgumentsTest { @Test + @DisplayName("All arguments are recognized") public void allArgumentsAreRecognized() { IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-p=app", From d56812632858833da896f4cdc278d3a6aea73805 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 10 Jun 2021 23:21:09 +0200 Subject: [PATCH 16/65] Add new --catch-ora-stuck parameter Reson for this that I have the assumption that catch is too greedy, leading to more abort- and retries than necessary. --- src/main/java/org/utplsql/cli/RunAction.java | 3 ++- .../java/org/utplsql/cli/RunPicocliCommand.java | 4 ++++ .../org/utplsql/cli/config/RunCommandConfig.java | 16 +++++++++++++--- .../org/utplsql/cli/RunCommandArgumentsTest.java | 3 ++- ...andConfigParamsArePassedToTestRunnerTest.java | 10 ++++++++++ src/test/java/org/utplsql/cli/RunCommandIT.java | 10 ++++++++++ .../org/utplsql/cli/RunCommandIssue20IT.java | 3 ++- 7 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java index d91108a..ba0faf3 100644 --- a/src/main/java/org/utplsql/cli/RunAction.java +++ b/src/main/java/org/utplsql/cli/RunAction.java @@ -166,7 +166,8 @@ TestRunner newTestRunner(List reporterList) { .randomTestOrder(config.isRandomTestOrder()) .randomTestOrderSeed(config.getRandomTestOrderSeed()) .addTags(Arrays.asList(config.getTags())) - .addCoverageSchemes(Arrays.asList(config.getCoverageSchemes())); + .addCoverageSchemes(Arrays.asList(config.getCoverageSchemes())) + .catchOraStuck(config.isCatchOraStuck()); } private void outputMainInformation() { diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index a90ffd9..c024a3b 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -183,6 +183,9 @@ FileMapperConfig toFileMapperConfig() { @Option(names = "-h", usageHelp = true, description = "display this help and exit") boolean help; + @Option(names = "--catch-ora-stuck", description = "Sets a timeout around Reporter creation and retries when not ready after a while") + boolean catchOraStuck = false; + private RunAction runAction; private String[] splitOrEmpty(String value) { @@ -245,6 +248,7 @@ public RunCommandConfig getRunCommandConfig() { .randomTestOrderSeed(randomTestOrderSeed) .tags(tags.toArray(new String[0])) .coverageSchemes(coverageSchemes.toArray(new String[0])) + .catchOraStuck(catchOraStuck) .create(); } diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index ea66ffd..7b92dbe 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -23,9 +23,10 @@ public class RunCommandConfig extends ConnectionConfig { private final Integer randomTestOrderSeed; private final String[] tags; private final String[] coverageSchemes; + private final boolean catchOraStuck; - @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags", "coverageSchemes"}) - public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags, String[] coverageSchemes) { + @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags", "coverageSchemes", "catchOraStuck"}) + public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags, String[] coverageSchemes, boolean catchOraStuck) { super(connectString); this.suitePaths = suitePaths; this.reporters = reporters; @@ -43,6 +44,7 @@ public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfi this.randomTestOrderSeed = randomTestOrderSeed; this.tags = tags; this.coverageSchemes = coverageSchemes; + this.catchOraStuck = catchOraStuck; } public String[] getSuitePaths() { @@ -109,6 +111,8 @@ public String[] getCoverageSchemes() { return coverageSchemes; } + public boolean isCatchOraStuck() { return catchOraStuck; } + public static class Builder { private String connectString; @@ -128,6 +132,7 @@ public static class Builder { private Integer randomTestOrderSeed; private String[] tags = new String[0]; private String[] coverageSchemes = new String[0]; + private boolean catchOraStuck; public Builder connectString(String connectString) { this.connectString = connectString; @@ -214,8 +219,13 @@ public Builder coverageSchemes(String[] coverageSchemes) { return this; } + public Builder catchOraStuck(boolean catchOraStuck) { + this.catchOraStuck = catchOraStuck; + return this; + } + public RunCommandConfig create() { - return new RunCommandConfig(connectString, suitePaths, reporters, outputAnsiColor, failureExitCode, skipCompatibilityCheck, includePackages, excludePackages, sourceMapping, testMapping, logConfigLevel, timeoutInMinutes, dbmsOutput, randomTestOrder, randomTestOrderSeed, tags, coverageSchemes); + return new RunCommandConfig(connectString, suitePaths, reporters, outputAnsiColor, failureExitCode, skipCompatibilityCheck, includePackages, excludePackages, sourceMapping, testMapping, logConfigLevel, timeoutInMinutes, dbmsOutput, randomTestOrder, randomTestOrderSeed, tags, coverageSchemes, catchOraStuck); } } } diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index d280c2e..af368a4 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -41,7 +41,8 @@ public void allArgumentsAreRecognized() { "-type_mapping=\"sql=PACKAGE BODY\"", "-owner_subexpression=0", "-type_subexpression=0", - "-name_subexpression=0" + "-name_subexpression=0", + "--catch-ora-stuck" ); TestRunner testRunner = runCmd.newTestRunner(new ArrayList<>()); diff --git a/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java index b1b34d4..2a2e3bb 100644 --- a/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java @@ -8,6 +8,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; +import static org.junit.jupiter.api.Assertions.assertTrue; public class RunCommandConfigParamsArePassedToTestRunnerTest { @@ -28,4 +29,13 @@ void coverageSchemes() { TestRunner testRunner = new RunAction(config).newTestRunner(new ArrayList<>()); assertThat( testRunner.getOptions().coverageSchemes, contains("schema1", "another_schema", "and-another-one") ); } + + @Test + void catchOraStuck() { + RunCommandConfig config = new RunCommandConfig.Builder() + .catchOraStuck(true) + .create(); + TestRunner testRunner = new RunAction(config).newTestRunner(new ArrayList<>()); + assertTrue( testRunner.getOptions().catchOraStuck ); + } } diff --git a/src/test/java/org/utplsql/cli/RunCommandIT.java b/src/test/java/org/utplsql/cli/RunCommandIT.java index e6ac671..291e980 100644 --- a/src/test/java/org/utplsql/cli/RunCommandIT.java +++ b/src/test/java/org/utplsql/cli/RunCommandIT.java @@ -89,4 +89,14 @@ void run_withOutputButNoReporterDefined() throws Exception { assertValidReturnCode(result); } + + @Test + void run_withCatchOraStuck() throws Exception { + int result = TestHelper.runApp("run", + TestHelper.getConnectionString(), + "--catch-ora-stuck", + "--failure-exit-code=2"); + + assertValidReturnCode(result); + } } diff --git a/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java b/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java index 0976706..9db13e0 100644 --- a/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java +++ b/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java @@ -24,7 +24,8 @@ void runLoop() { IRunCommand runCmd = TestHelper.createRunCommand( TestHelper.getConnectionString(), "-p=TEST_BETWNSTR.normal_case", - "-f=ut_documentation_reporter"); + "-f=ut_documentation_reporter", + "--catch-ora-stuck"); List reporterOptionsList = runCmd.getReporterOptionsList(); ReporterOptions reporterOptions1 = reporterOptionsList.get(0); assertEquals(CoreReporters.UT_DOCUMENTATION_REPORTER.name(), reporterOptions1.getReporterName()); From eeb1d5892b30413b0e1966f3230915368d0e5485 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Mon, 17 Jan 2022 00:29:35 +0200 Subject: [PATCH 17/65] Fixing failing test for 3.1.11 --- src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java b/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java index bf67f7f..3718a50 100644 --- a/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java +++ b/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java @@ -19,7 +19,7 @@ */ class RunCommandCoverageReporterIT extends AbstractFileOutputTest { - private static final Pattern REGEX_COVERAGE_TITLE = Pattern.compile("([a-zA-Z0-9\\._]+)<\\/a>"); + private static final Pattern REGEX_COVERAGE_TITLE = Pattern.compile("([a-zA-Z ]+ )?([a-zA-Z0-9\\._]+)<\\/a>"); private String getTempCoverageFileName(int counter) { From 5fa8d3881c471163b02ed3dd35f0678bc0a3bdd8 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Mon, 17 Jan 2022 00:36:24 +0200 Subject: [PATCH 18/65] Fixing failing test for 3.1.11 --- src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java b/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java index 3718a50..e95dce2 100644 --- a/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java +++ b/src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java @@ -60,7 +60,7 @@ private boolean hasCoverageListed(String content, String packageName) { Matcher m = REGEX_COVERAGE_TITLE.matcher(content); while (m.find()) { - if (packageName.equals(m.group(1))) + if (packageName.equals(m.group(2))) return true; } From 7733c167fd0fc092f20d0aa6b3030ba122fb9a73 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:02:43 +0200 Subject: [PATCH 19/65] Adding Github Action to build and test the project --- .github/workflows/build.yml | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5b6c545 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,87 @@ +name: Build and test +on: + push: + branches: [ develop ] + tags: + - v* + pull_request: + branches: [ develop ] + workflow_dispatch: + repository_dispatch: + types: [utPLSQL-build] + +defaults: + run: + shell: bash + +jobs: + build: + name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }} + runs-on: ubuntu-latest + env: + ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim" + UTPLSQL_VERSION: ${{matrix.utplsql_version}} + UTPLSQL_FILE: ${{matrix.utplsql_file}} + ORACLE_PASSWORD: oracle + DB_URL: "127.0.0.1:1521:XE" + DB_USER: app + DB_PASS: app + + strategy: + fail-fast: false + matrix: + utplsql_version: ["v3.0.1","v3.0.2","v3.0.3","v3.0.4","v3.1.1","v3.1.2","v3.1.3","v3.1.6","v3.1.7","v3.1.8","v3.1.9","v3.1.10","v3.1.11","develop"] + utplsql_file: ["utPLSQL"] + jdk: ['8'] + include: + - utplsql_version: "v3.0.0" + jdk: '8' + utplsql_file: "utPLSQLv3.0.0" + services: + oracle: + image: gvenzl/oracle-xe:18.4.0-slim + env: + ORACLE_PASSWORD: oracle + ports: + - 1521:1521 + options: >- + --health-cmd healthcheck.sh + --health-interval 10s + --health-timeout 5s + --health-retries 10 + --name oracle + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: ${{matrix.jdk}} + cache: 'maven' + + - name: Install utplsql + run: .travis/install_utplsql.sh + + - name: Install demo project + run: .travis/install_demo_project.sh + + - name: Build + run: mvn package -DskipTests + - name: Test + run: mvn package verify jar:jar appassembler:assemble + + slack-workflow-status: + if: always() + name: Post Workflow Status To Slack + needs: [ build, deploy ] + runs-on: ubuntu-latest + steps: + - name: Slack Workflow Notification + uses: Gamesight/slack-workflow-status@master + with: + repo_token: ${{secrets.GITHUB_TOKEN}} + slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}} + name: 'Github Actions[bot]' + icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png' From e27c07e7c3d6ff45d1dd3ef5dfa800cf4d5d51c1 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:17:21 +0200 Subject: [PATCH 20/65] Adding badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3d4e17..8e397c3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![latest-release](https://img.shields.io/github/release/utPLSQL/utPLSQL-cli.svg)](https://github.com/utPLSQL/utPLSQL-cli/releases) [![license](https://img.shields.io/github/license/utPLSQL/utPLSQL-cli.svg)](https://www.apache.org/licenses/LICENSE-2.0) -[![build](https://img.shields.io/travis/utPLSQL/utPLSQL-cli/develop.svg?label=develop%20branch)](https://travis-ci.org/utPLSQL/utPLSQL-cli) +[![Build status](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml/badge.svg)](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml) ---------- # utPLSQL-cli From eca50c8203f66a56dfdaac6116d33b2922bb785c Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:17:33 +0200 Subject: [PATCH 21/65] testing build on branch --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5b6c545..d81721a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,7 @@ name: Build and test on: push: - branches: [ develop ] + branches: [ develop, feature/github_actions ] tags: - v* pull_request: From 3e5bdfef4060a902d89b648eb271cc97ecc8a9b5 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:18:27 +0200 Subject: [PATCH 22/65] testing build on branch --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d81721a..6f3c83b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,7 +75,7 @@ jobs: slack-workflow-status: if: always() name: Post Workflow Status To Slack - needs: [ build, deploy ] + needs: [ build ] runs-on: ubuntu-latest steps: - name: Slack Workflow Notification From 4cc8b839aa566d1de30af93634d6a20b4d8ffa58 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:38:03 +0200 Subject: [PATCH 23/65] Fixing sh file privileges --- .travis/create_api_user.sh | 0 .travis/create_release.sh | 0 .travis/install_demo_project.sh | 0 .travis/install_utplsql.sh | 0 .travis/start_db.sh | 0 5 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .travis/create_api_user.sh mode change 100644 => 100755 .travis/create_release.sh mode change 100644 => 100755 .travis/install_demo_project.sh mode change 100644 => 100755 .travis/install_utplsql.sh mode change 100644 => 100755 .travis/start_db.sh diff --git a/.travis/create_api_user.sh b/.travis/create_api_user.sh old mode 100644 new mode 100755 diff --git a/.travis/create_release.sh b/.travis/create_release.sh old mode 100644 new mode 100755 diff --git a/.travis/install_demo_project.sh b/.travis/install_demo_project.sh old mode 100644 new mode 100755 diff --git a/.travis/install_utplsql.sh b/.travis/install_utplsql.sh old mode 100644 new mode 100755 diff --git a/.travis/start_db.sh b/.travis/start_db.sh old mode 100644 new mode 100755 From 51158d04fa3a682494cd9973b6a9d14cac8d71e2 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sun, 16 Jan 2022 18:41:49 +0200 Subject: [PATCH 24/65] Fixing scripts --- .travis/install_demo_project.sh | 10 +++++----- .travis/install_utplsql.sh | 21 ++++++++++----------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.travis/install_demo_project.sh b/.travis/install_demo_project.sh index adb9566..20bf1a4 100755 --- a/.travis/install_demo_project.sh +++ b/.travis/install_demo_project.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -ev +set -evx cd $(dirname $(readlink -f $0)) PROJECT_FILE="utPLSQL-demo-project" @@ -13,7 +13,7 @@ grant select any dictionary to ${DB_USER}; exit SQL -cd ${PROJECT_FILE} +cd /${PROJECT_FILE} sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe < install.sh.tmp < Date: Wed, 23 Feb 2022 02:06:56 +0200 Subject: [PATCH 25/65] Update of build trigger event --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6f3c83b..22e880f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,8 +7,9 @@ on: pull_request: branches: [ develop ] workflow_dispatch: + repository_dispatch: - types: [utPLSQL-build] + types: [utPLSQL-build,utPLSQL-java-api-build] defaults: run: From b20727dc8bfbb88d259df340dae00b2a7c11e172 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Wed, 23 Feb 2022 02:12:14 +0200 Subject: [PATCH 26/65] Fixing demo project install --- .travis/install_demo_project.sh | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/.travis/install_demo_project.sh b/.travis/install_demo_project.sh index 20bf1a4..bafc8f1 100755 --- a/.travis/install_demo_project.sh +++ b/.travis/install_demo_project.sh @@ -17,24 +17,14 @@ cd /${PROJECT_FILE} sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe < Date: Thu, 9 Jun 2022 00:21:16 +0200 Subject: [PATCH 27/65] New parameter --ora-stuck-timeout Sets a timeout around Reporter creation and retries when not ready after a while. 0 = no timeout. Fixes #199 Fixes #197 Fixes #196 Fixes #193 Fixes #191 --- README.md | 2 ++ src/main/java/org/utplsql/cli/RunAction.java | 2 +- .../org/utplsql/cli/RunPicocliCommand.java | 6 +++--- .../utplsql/cli/config/RunCommandConfig.java | 18 +++++++++--------- .../utplsql/cli/RunCommandArgumentsTest.java | 2 +- ...dConfigParamsArePassedToTestRunnerTest.java | 7 ++++--- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 8e397c3..ba9fe0f 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,8 @@ utplsql run "my/Username"/"myP@ssword"@connectstring --coverage-schemes - A comma separated list of schemas on which coverage should be gathered Format: --coverage-schemes=schema1[,schema2[,schema3]] + +--ora-stuck-timeout - Sets a timeout around Reporter creation and retries when not ready after a while. 0 = no timeout. ``` Parameters -f, -o, -s are correlated. That is parameters -o and -s are controlling outputs for reporter specified by the preceding -f parameter. diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java index ba0faf3..de1be33 100644 --- a/src/main/java/org/utplsql/cli/RunAction.java +++ b/src/main/java/org/utplsql/cli/RunAction.java @@ -167,7 +167,7 @@ TestRunner newTestRunner(List reporterList) { .randomTestOrderSeed(config.getRandomTestOrderSeed()) .addTags(Arrays.asList(config.getTags())) .addCoverageSchemes(Arrays.asList(config.getCoverageSchemes())) - .catchOraStuck(config.isCatchOraStuck()); + .oraStuckTimeout(config.getOraStuckTimeout()); } private void outputMainInformation() { diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index c024a3b..0bdf33c 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -183,8 +183,8 @@ FileMapperConfig toFileMapperConfig() { @Option(names = "-h", usageHelp = true, description = "display this help and exit") boolean help; - @Option(names = "--catch-ora-stuck", description = "Sets a timeout around Reporter creation and retries when not ready after a while") - boolean catchOraStuck = false; + @Option(names = "--ora-stuck-timeout", description = "Sets a timeout around Reporter creation and retries when not ready after a while. 0 = no timeout.") + Integer oraStuckTimeout = 0; private RunAction runAction; @@ -248,7 +248,7 @@ public RunCommandConfig getRunCommandConfig() { .randomTestOrderSeed(randomTestOrderSeed) .tags(tags.toArray(new String[0])) .coverageSchemes(coverageSchemes.toArray(new String[0])) - .catchOraStuck(catchOraStuck) + .oraStuckTimeout(oraStuckTimeout) .create(); } diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index 7b92dbe..218466b 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -23,10 +23,10 @@ public class RunCommandConfig extends ConnectionConfig { private final Integer randomTestOrderSeed; private final String[] tags; private final String[] coverageSchemes; - private final boolean catchOraStuck; + private final Integer oraStuckTimeout; - @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags", "coverageSchemes", "catchOraStuck"}) - public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags, String[] coverageSchemes, boolean catchOraStuck) { + @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags", "coverageSchemes", "oraStuckTimeout"}) + public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags, String[] coverageSchemes, Integer oraStuckTimeout) { super(connectString); this.suitePaths = suitePaths; this.reporters = reporters; @@ -44,7 +44,7 @@ public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfi this.randomTestOrderSeed = randomTestOrderSeed; this.tags = tags; this.coverageSchemes = coverageSchemes; - this.catchOraStuck = catchOraStuck; + this.oraStuckTimeout = oraStuckTimeout; } public String[] getSuitePaths() { @@ -111,7 +111,7 @@ public String[] getCoverageSchemes() { return coverageSchemes; } - public boolean isCatchOraStuck() { return catchOraStuck; } + public Integer getOraStuckTimeout() { return oraStuckTimeout; } public static class Builder { @@ -132,7 +132,7 @@ public static class Builder { private Integer randomTestOrderSeed; private String[] tags = new String[0]; private String[] coverageSchemes = new String[0]; - private boolean catchOraStuck; + private Integer oraStuckTimeout; public Builder connectString(String connectString) { this.connectString = connectString; @@ -219,13 +219,13 @@ public Builder coverageSchemes(String[] coverageSchemes) { return this; } - public Builder catchOraStuck(boolean catchOraStuck) { - this.catchOraStuck = catchOraStuck; + public Builder oraStuckTimeout(Integer oraStuckTimeout) { + this.oraStuckTimeout = oraStuckTimeout; return this; } public RunCommandConfig create() { - return new RunCommandConfig(connectString, suitePaths, reporters, outputAnsiColor, failureExitCode, skipCompatibilityCheck, includePackages, excludePackages, sourceMapping, testMapping, logConfigLevel, timeoutInMinutes, dbmsOutput, randomTestOrder, randomTestOrderSeed, tags, coverageSchemes, catchOraStuck); + return new RunCommandConfig(connectString, suitePaths, reporters, outputAnsiColor, failureExitCode, skipCompatibilityCheck, includePackages, excludePackages, sourceMapping, testMapping, logConfigLevel, timeoutInMinutes, dbmsOutput, randomTestOrder, randomTestOrderSeed, tags, coverageSchemes, oraStuckTimeout); } } } diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index af368a4..63be6e2 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -42,7 +42,7 @@ public void allArgumentsAreRecognized() { "-owner_subexpression=0", "-type_subexpression=0", "-name_subexpression=0", - "--catch-ora-stuck" + "--ora-stuck-timeout=2" ); TestRunner testRunner = runCmd.newTestRunner(new ArrayList<>()); diff --git a/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java index 2a2e3bb..95d146a 100644 --- a/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandConfigParamsArePassedToTestRunnerTest.java @@ -8,6 +8,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.equalTo; import static org.junit.jupiter.api.Assertions.assertTrue; public class RunCommandConfigParamsArePassedToTestRunnerTest { @@ -31,11 +32,11 @@ void coverageSchemes() { } @Test - void catchOraStuck() { + void oraStuckTimeout() { RunCommandConfig config = new RunCommandConfig.Builder() - .catchOraStuck(true) + .oraStuckTimeout(2) .create(); TestRunner testRunner = new RunAction(config).newTestRunner(new ArrayList<>()); - assertTrue( testRunner.getOptions().catchOraStuck ); + assertThat( testRunner.getOptions().oraStuckTimeout, equalTo(2) ); } } From 288ca0530b3f41266832328d85583234a7de1b55 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 00:24:46 +0200 Subject: [PATCH 28/65] Fix failing test --- src/test/java/org/utplsql/cli/RunCommandIT.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/utplsql/cli/RunCommandIT.java b/src/test/java/org/utplsql/cli/RunCommandIT.java index 291e980..95effad 100644 --- a/src/test/java/org/utplsql/cli/RunCommandIT.java +++ b/src/test/java/org/utplsql/cli/RunCommandIT.java @@ -91,10 +91,10 @@ void run_withOutputButNoReporterDefined() throws Exception { } @Test - void run_withCatchOraStuck() throws Exception { + void run_withOraStuckTimeout() throws Exception { int result = TestHelper.runApp("run", TestHelper.getConnectionString(), - "--catch-ora-stuck", + "--ora-stuck-timeout=2", "--failure-exit-code=2"); assertValidReturnCode(result); From a5094839adf72c70bf41d56dddb2b820a57d0b70 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 00:27:57 +0200 Subject: [PATCH 29/65] Fix another test Yes I need my local setup again --- src/test/java/org/utplsql/cli/RunCommandIssue20IT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java b/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java index 9db13e0..8162fc9 100644 --- a/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java +++ b/src/test/java/org/utplsql/cli/RunCommandIssue20IT.java @@ -25,7 +25,7 @@ void runLoop() { TestHelper.getConnectionString(), "-p=TEST_BETWNSTR.normal_case", "-f=ut_documentation_reporter", - "--catch-ora-stuck"); + "--ora-stuck-timeout=3"); List reporterOptionsList = runCmd.getReporterOptionsList(); ReporterOptions reporterOptions1 = reporterOptionsList.get(0); assertEquals(CoreReporters.UT_DOCUMENTATION_REPORTER.name(), reporterOptions1.getReporterName()); From 79d69ffd22345124e79092e68d5d17f7cdf23caa Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 07:20:45 +0200 Subject: [PATCH 30/65] Update dependencies Use logback 1.2.11 to omit known security issues. Use more recent stable versions of jaxb-api and picocli Fixes #203 --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 4da718b..ca6d8de 100644 --- a/pom.xml +++ b/pom.xml @@ -43,17 +43,17 @@ javax.xml.bind jaxb-api - 2.3.0 + 2.3.1 ch.qos.logback logback-classic - 1.2.3 + 1.2.11 info.picocli picocli - 4.0.0-beta-1b + 4.6.3 com.oracle.ojdbc From e7f62f562ac4b03a9520de063a17d576219dea30 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 26 Aug 2021 16:27:47 +0200 Subject: [PATCH 31/65] Catch "Incompatible version of libocijdbc" Error when trying to connect via thick driver --- .../org/utplsql/cli/datasource/TestedDataSourceProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java index 8ecfeca..14f7bf4 100644 --- a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java +++ b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java @@ -58,7 +58,7 @@ private void setThickOrThinJdbcUrl(OracleDataSource ds) throws SQLException { try (Connection ignored = ds.getConnection()) { logger.info("Use connection string {}", possibility.getMaskedConnectString(config)); return; - } catch (UnsatisfiedLinkError | Exception e) { + } catch (Error | Exception e) { errors.add(possibility.getMaskedConnectString(config) + ": " + e.getMessage()); lastException = e; } From 5313a7ad3c6df2bd5e3d93cc5ef34b9282d60c3d Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 07:55:11 +0200 Subject: [PATCH 32/65] Update oracle dependencies also add a bit more logging --- pom.xml | 6 +++--- .../utplsql/cli/datasource/TestedDataSourceProvider.java | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index ca6d8de..f2a4d7d 100644 --- a/pom.xml +++ b/pom.xml @@ -56,19 +56,19 @@ 4.6.3 - com.oracle.ojdbc + com.oracle.database.jdbc ojdbc8 ${oracle.jdbc.version} compile - com.oracle.ojdbc + com.oracle.database.jdbc ucp - com.oracle.ojdbc + com.oracle.database.nls orai18n ${oracle.jdbc.version} compile diff --git a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java index 14f7bf4..8f99cf3 100644 --- a/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java +++ b/src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java @@ -54,6 +54,7 @@ private void setThickOrThinJdbcUrl(OracleDataSource ds) throws SQLException { ds.setPassword(config.getPassword()); for (ConnectStringPossibility possibility : possibilities) { + logger.debug("Try connecting {}", possibility.getMaskedConnectString(config)); ds.setURL(possibility.getConnectString(config)); try (Connection ignored = ds.getConnection()) { logger.info("Use connection string {}", possibility.getMaskedConnectString(config)); From d7d106742377a906a06fe05e34294f25fa87aae9 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 07:59:32 +0200 Subject: [PATCH 33/65] Make format not required --- src/main/java/org/utplsql/cli/RunPicocliCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index 0bdf33c..2908cf2 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -104,7 +104,7 @@ public class RunPicocliCommand implements IRunCommand { private List reporters = new ArrayList<>(); static class Format { - @Option(names = {"-f", "--format"}, required = true, description = "Enables specified format reporting") + @Option(names = {"-f", "--format"}, description = "Enables specified format reporting") String format; @Option(names = {"-o"}, description = "Outputs format to file") String outputFile; From ec25ab59b95c8c7b4f4cf7f61d1ad887b532bbb7 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 09:05:14 +0200 Subject: [PATCH 34/65] Test for negatedTag argument Also added a bit of logging --- src/main/java/org/utplsql/cli/Cli.java | 6 ++++++ src/test/java/org/utplsql/cli/PicocliRunCommandTest.java | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/org/utplsql/cli/Cli.java b/src/main/java/org/utplsql/cli/Cli.java index e330818..4f711b6 100644 --- a/src/main/java/org/utplsql/cli/Cli.java +++ b/src/main/java/org/utplsql/cli/Cli.java @@ -1,11 +1,15 @@ package org.utplsql.cli; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import picocli.CommandLine; import java.util.List; public class Cli { + private static final Logger logger = LoggerFactory.getLogger(Cli.class); + static final int DEFAULT_ERROR_CODE = 1; public static void main(String[] args) { @@ -17,6 +21,8 @@ public static void main(String[] args) { static int runPicocliWithExitCode(String[] args) { + logger.debug("Args: "+String.join(", ", args)); + CommandLine commandLine = new CommandLine(UtplsqlPicocliCommand.class); commandLine.setTrimQuotes(true); diff --git a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java index a7b4eb5..475ca82 100644 --- a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java +++ b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java @@ -240,4 +240,13 @@ void testFileMappingWithoutDetails() throws Exception { assertNull( testMapperConfig.getTypeSubexpression()); assertNull( testMapperConfig.getNameSubexpression()); } + + @Test + void negatedTag() throws Exception { + RunCommandConfig config = parseForConfig("run", + TestHelper.getConnectionString(), + "--tags=\"-dontwantit\""); + + assertThat(config.getTags(), hasItemInArray("-dontwantit") ); + } } From cf5dd7ddc0cd274e0955fc422c14800d0118f788 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 11:28:29 +0200 Subject: [PATCH 35/65] Added assembly plugin and release.yml --- .github/workflows/release.yml | 87 ++++++++++ pom.xml | 310 ++++++++++++++++++---------------- src/main/assembly/zip.xml | 19 +++ 3 files changed, 267 insertions(+), 149 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 src/main/assembly/zip.xml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..96e5ead --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,87 @@ +name: Release +on: + push: + branches: [ main ] + tags: + - v* + + workflow_dispatch: + + repository_dispatch: + types: [utPLSQL-build,utPLSQL-java-api-build] + +defaults: + run: + shell: bash + +jobs: + build: + name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }} + runs-on: ubuntu-latest + env: + ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim" + UTPLSQL_VERSION: ${{matrix.utplsql_version}} + UTPLSQL_FILE: ${{matrix.utplsql_file}} + ORACLE_PASSWORD: oracle + DB_URL: "127.0.0.1:1521:XE" + DB_USER: app + DB_PASS: app + + strategy: + fail-fast: false + matrix: + utplsql_version: ["v3.0.1","v3.0.2","v3.0.3","v3.0.4","v3.1.1","v3.1.2","v3.1.3","v3.1.6","v3.1.7","v3.1.8","v3.1.9","v3.1.10","v3.1.11","develop"] + utplsql_file: ["utPLSQL"] + jdk: ['8'] + include: + - utplsql_version: "v3.0.0" + jdk: '8' + utplsql_file: "utPLSQLv3.0.0" + services: + oracle: + image: gvenzl/oracle-xe:18.4.0-slim + env: + ORACLE_PASSWORD: oracle + ports: + - 1521:1521 + options: >- + --health-cmd healthcheck.sh + --health-interval 10s + --health-timeout 5s + --health-retries 10 + --name oracle + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: ${{matrix.jdk}} + cache: 'maven' + + - name: Install utplsql + run: .travis/install_utplsql.sh + + - name: Install demo project + run: .travis/install_demo_project.sh + + - name: Build + run: mvn package -DskipTests + - name: Test + run: mvn verify appassembler:assemble assembly:single + + slack-workflow-status: + if: always() + name: Post Workflow Status To Slack + needs: [ build ] + runs-on: ubuntu-latest + steps: + - name: Slack Workflow Notification + uses: Gamesight/slack-workflow-status@master + with: + repo_token: ${{secrets.GITHUB_TOKEN}} + slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}} + name: 'Github Actions[bot]' + icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png' diff --git a/pom.xml b/pom.xml index f2a4d7d..3f25f3a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,14 +1,14 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - org.utplsql - cli - 3.1.9-SNAPSHOT - jar + org.utplsql + cli + 3.1.9-SNAPSHOT + jar - cli - http://maven.apache.org + cli + http://maven.apache.org UTF-8 @@ -19,153 +19,165 @@ local - - - org.utplsql - java-api - 3.1.9-SNAPSHOT - compile - - - com.oracle.ojdbc - ucp - - - com.oracle.ojdbc - ojdbc8 - - - com.oracle.ojdbc - orai18n - - - - - javax.xml.bind - jaxb-api - 2.3.1 - - - ch.qos.logback - logback-classic - 1.2.11 - - - info.picocli - picocli - 4.6.3 - - - com.oracle.database.jdbc - ojdbc8 - ${oracle.jdbc.version} - compile - - - com.oracle.database.jdbc - ucp - - - - - com.oracle.database.nls - orai18n - ${oracle.jdbc.version} - compile - + + + org.utplsql + java-api + 3.1.9-SNAPSHOT + compile + + + com.oracle.ojdbc + ucp + + + com.oracle.ojdbc + ojdbc8 + + + com.oracle.ojdbc + orai18n + + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + ch.qos.logback + logback-classic + 1.2.11 + + + info.picocli + picocli + 4.6.3 + + + com.oracle.database.jdbc + ojdbc8 + ${oracle.jdbc.version} + compile + + + com.oracle.database.jdbc + ucp + + + + + com.oracle.database.nls + orai18n + ${oracle.jdbc.version} + compile + - - - org.junit.jupiter - junit-jupiter - ${junit.jupiter.version} - test - - - org.hamcrest - hamcrest - 2.1 - test - + + + org.junit.jupiter + junit-jupiter + ${junit.jupiter.version} + test + + + org.hamcrest + hamcrest + 2.1 + test + - + - - - - org.codehaus.mojo - appassembler-maven-plugin - 1.10 - - true - true - etc - lib - flat - - - org.utplsql.cli.Cli - utplsql - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.0 - + + + + org.codehaus.mojo + appassembler-maven-plugin + 1.10 + + true + true + etc + lib + flat + + + org.utplsql.cli.Cli + utplsql + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.0 + + + **/*IT.java + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.22.0 + + + + integration-test + verify + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.3.0 + + utPLSQL-cli + false + + src/main/assembly/zip.xml + + + + + + + src/main/resources + true + + **/utplsql-cli.version + + + + src/main/resources + false - **/*IT.java + **/utplsql-cli.version - - - - org.apache.maven.plugins - maven-failsafe-plugin - 2.22.0 - - - - integration-test - verify - - - - - - - - src/main/resources - true - - **/utplsql-cli.version - - - - src/main/resources - false - - **/utplsql-cli.version - - - - + + + - - - utplsql-java-api - - https://packagecloud.io/utplsql/utplsql-java-api/maven2 - - - true - - - true - - - + + + utplsql-java-api + + https://packagecloud.io/utplsql/utplsql-java-api/maven2 + + + true + + + true + + + diff --git a/src/main/assembly/zip.xml b/src/main/assembly/zip.xml new file mode 100644 index 0000000..6d16b57 --- /dev/null +++ b/src/main/assembly/zip.xml @@ -0,0 +1,19 @@ + + + zip + + false + + + zip + + + + + ${project.build.directory}/appassembler + /utPLSQL-cli + + + From 1479bc3cfb38e1c9fc8272ef77624a8487e2abf6 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:12:53 +0200 Subject: [PATCH 36/65] Temporarily removed the cache because of GitHub issue 503 --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22e880f..ae630f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,6 @@ jobs: with: distribution: 'adopt' java-version: ${{matrix.jdk}} - cache: 'maven' - name: Install utplsql run: .travis/install_utplsql.sh From cbfc3ef008c334803591842c228c372dfd504c55 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:30:32 +0200 Subject: [PATCH 37/65] Added Gitflow plugin and cleaned up Action scripts --- .github/workflows/build.yml | 6 ++---- .github/workflows/release.yml | 2 -- pom.xml | 8 ++++++++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ae630f2..09f98bb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,10 +67,8 @@ jobs: - name: Install demo project run: .travis/install_demo_project.sh - - name: Build - run: mvn package -DskipTests - - name: Test - run: mvn package verify jar:jar appassembler:assemble + - name: Build and Test + run: mvn verify jar:jar appassembler:assemble slack-workflow-status: if: always() diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96e5ead..7a46167 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,8 +67,6 @@ jobs: - name: Install demo project run: .travis/install_demo_project.sh - - name: Build - run: mvn package -DskipTests - name: Test run: mvn verify appassembler:assemble assembly:single diff --git a/pom.xml b/pom.xml index 3f25f3a..e2b4020 100644 --- a/pom.xml +++ b/pom.xml @@ -145,6 +145,14 @@ + + com.amashchenko.maven.plugin + gitflow-maven-plugin + 1.18.0 + + true + + From 99b10582deeb9e9dc28f2431257cea1e4decd36b Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:35:09 +0200 Subject: [PATCH 38/65] Only necessary steps to release --- .github/workflows/release.yml | 51 +++-------------------------------- 1 file changed, 3 insertions(+), 48 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a46167..415548c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,49 +7,10 @@ on: workflow_dispatch: - repository_dispatch: - types: [utPLSQL-build,utPLSQL-java-api-build] - -defaults: - run: - shell: bash - jobs: build: - name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }} - runs-on: ubuntu-latest - env: - ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim" - UTPLSQL_VERSION: ${{matrix.utplsql_version}} - UTPLSQL_FILE: ${{matrix.utplsql_file}} - ORACLE_PASSWORD: oracle - DB_URL: "127.0.0.1:1521:XE" - DB_USER: app - DB_PASS: app - strategy: - fail-fast: false - matrix: - utplsql_version: ["v3.0.1","v3.0.2","v3.0.3","v3.0.4","v3.1.1","v3.1.2","v3.1.3","v3.1.6","v3.1.7","v3.1.8","v3.1.9","v3.1.10","v3.1.11","develop"] - utplsql_file: ["utPLSQL"] - jdk: ['8'] - include: - - utplsql_version: "v3.0.0" - jdk: '8' - utplsql_file: "utPLSQLv3.0.0" - services: - oracle: - image: gvenzl/oracle-xe:18.4.0-slim - env: - ORACLE_PASSWORD: oracle - ports: - - 1521:1521 - options: >- - --health-cmd healthcheck.sh - --health-interval 10s - --health-timeout 5s - --health-retries 10 - --name oracle + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -61,14 +22,8 @@ jobs: java-version: ${{matrix.jdk}} cache: 'maven' - - name: Install utplsql - run: .travis/install_utplsql.sh - - - name: Install demo project - run: .travis/install_demo_project.sh - - - name: Test - run: mvn verify appassembler:assemble assembly:single + - name: Build Release + run: mvn package appassembler:assemble assembly:single -DskipTests slack-workflow-status: if: always() From a0ced5b321ca73c9aef358e9c5d8fcce3d517c96 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:36:54 +0200 Subject: [PATCH 39/65] Updated pom.xml --- pom.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index e2b4020..71a66c9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,10 +5,10 @@ org.utplsql cli 3.1.9-SNAPSHOT - jar - cli - http://maven.apache.org + utPLSQL CLI + CLI for running Unit Tests with utPLSQL v3+. + https://github.com/utPLSQL/utPLSQL-cli UTF-8 @@ -19,6 +19,14 @@ local + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + org.utplsql @@ -87,7 +95,6 @@ 2.1 test - From ea9cd3659954284bd4711c429daaf25a9d64f415 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:46:49 +0200 Subject: [PATCH 40/65] Configured release plugin --- .github/workflows/build.yml | 6 +++--- .github/workflows/release.yml | 15 +++++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09f98bb..872bb55 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,11 +1,11 @@ name: Build and test on: push: - branches: [ develop, feature/github_actions ] - tags: - - v* + branches: [ * ] + pull_request: branches: [ develop ] + workflow_dispatch: repository_dispatch: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 415548c..d7d9699 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,14 +1,15 @@ name: Release + on: push: - branches: [ main ] tags: - - v* + - "v*.*.*" workflow_dispatch: jobs: - build: + + release: runs-on: ubuntu-latest @@ -23,7 +24,13 @@ jobs: cache: 'maven' - name: Build Release - run: mvn package appassembler:assemble assembly:single -DskipTests + run: mvn package appassembler:assemble assembly:single -DskipTests + + - name: Release + uses: softprops/action-gh-release@v1 + with: + files: | + target/utPLSQL-cli.zip slack-workflow-status: if: always() From ca7feda94f3f4b5d494849a38c74af177042bce7 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:48:05 +0200 Subject: [PATCH 41/65] Fixed syntax error --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 872bb55..580d3e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,7 @@ name: Build and test on: push: - branches: [ * ] + branches: [ '*' ] pull_request: branches: [ develop ] From 0d7aa96d1938c6595e278548f48646cd04cb40a3 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 13:50:05 +0200 Subject: [PATCH 42/65] Fixed syntax error --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 580d3e6..9540ee2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,7 +1,7 @@ name: Build and test + on: push: - branches: [ '*' ] pull_request: branches: [ develop ] From fe58840502e47d07cf3cbe61ca31503b4ce6e9e0 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:04:03 +0200 Subject: [PATCH 43/65] Defined main branch --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 71a66c9..75b31e6 100644 --- a/pom.xml +++ b/pom.xml @@ -158,6 +158,7 @@ 1.18.0 true + main From 0908a3eacfef1798bc1abe198a71b17a887fd89a Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:05:05 +0200 Subject: [PATCH 44/65] Defined main branch --- pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 75b31e6..f344a4e 100644 --- a/pom.xml +++ b/pom.xml @@ -158,7 +158,9 @@ 1.18.0 true - main + + main + From 4ec2e6afc5634001505b7ed3f6db0ed0b0bc8755 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:06:04 +0200 Subject: [PATCH 45/65] Release instead of snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f344a4e..e3d0350 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ org.utplsql java-api - 3.1.9-SNAPSHOT + 3.1.9 compile From 9b786812fd1f434425b981d13b94f2c61d826ee9 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:06:22 +0200 Subject: [PATCH 46/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e3d0350..84f406d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 1877fe237219c9e8633cd3230f7a0a56adad9ac7 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:06:24 +0200 Subject: [PATCH 47/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f406d..dedc398 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From bba5698d847be7a1e8fe85cfcfd0f2dca9c70978 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:08:08 +0200 Subject: [PATCH 48/65] Tags are in the format *.*.* --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d7d9699..78ba5b4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Release on: push: tags: - - "v*.*.*" + - "*.*.*" workflow_dispatch: From 5ed96ae156878153f4b2ae9df65c1465673467e0 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:08:28 +0200 Subject: [PATCH 49/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dedc398..84f406d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 9ee8b60b8667558a07c059ec53a25baa985ac5b4 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:10:20 +0200 Subject: [PATCH 50/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f406d..dedc398 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 35c5365dbcd12ac8997054844e3fcb9cf6e3f2a9 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:11:25 +0200 Subject: [PATCH 51/65] updated needs job --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 78ba5b4..2dfb1d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,7 +35,7 @@ jobs: slack-workflow-status: if: always() name: Post Workflow Status To Slack - needs: [ build ] + needs: [ release ] runs-on: ubuntu-latest steps: - name: Slack Workflow Notification From fab941ad10cdd274fa514d401e45d05b8886048a Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:12:20 +0200 Subject: [PATCH 52/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dedc398..84f406d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From cb219edece8a96e894c4bdfd876d8692f2187fc0 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:12:22 +0200 Subject: [PATCH 53/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f406d..dedc398 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 274aedeaca79e2adcf4f99e6388a3aa917aa169d Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:44:27 +0200 Subject: [PATCH 54/65] Set version to 8 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2dfb1d3..0a802be 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'adopt' - java-version: ${{matrix.jdk}} + java-version: 8 cache: 'maven' - name: Build Release From 1249de7e9e98903367eca1b7c2b85fc2c853decc Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:45:12 +0200 Subject: [PATCH 55/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dedc398..84f406d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From ea252d981ed4d27da13e0ffe071ae7ec6946a55f Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:45:14 +0200 Subject: [PATCH 56/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f406d..dedc398 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 277d391be30a3f4e7c631d1b3a81e93a23405017 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:52:04 +0200 Subject: [PATCH 57/65] Temporarily removed cache as GitHub actions still have issues. --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0a802be..334e75b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,6 @@ jobs: with: distribution: 'adopt' java-version: 8 - cache: 'maven' - name: Build Release run: mvn package appassembler:assemble assembly:single -DskipTests From d2697003662f29794dc608021264204c42b90f2e Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:52:25 +0200 Subject: [PATCH 58/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dedc398..84f406d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 61d2ff0ae0d4bb92bf0c5f50b125655a4ad4eb24 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 14:52:27 +0200 Subject: [PATCH 59/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 84f406d..dedc398 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 34d439339d188d5250507dd5dca3f65c508dac69 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:08:30 +0200 Subject: [PATCH 60/65] Added checksum plugin --- pom.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pom.xml b/pom.xml index dedc398..b52b2d2 100644 --- a/pom.xml +++ b/pom.xml @@ -152,6 +152,24 @@ + + net.nicoulaj.maven.plugins + checksum-maven-plugin + 1.10 + + + + ${project.build.directory} + + utPLSQL-cli.zip + + + + + MD5 + + + com.amashchenko.maven.plugin gitflow-maven-plugin From ede1339c92bcdcee38609729c9f5da6cbfffacfe Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:09:27 +0200 Subject: [PATCH 61/65] Added md5 file --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 334e75b..a253166 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,6 +30,7 @@ jobs: with: files: | target/utPLSQL-cli.zip + target/utPLSQL-cli.zip.md5 slack-workflow-status: if: always() From 220cc7f02e5f82e999b16521af4e2265398a27ca Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:09:46 +0200 Subject: [PATCH 62/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b52b2d2..f322df9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From c80773cacebdb68e35ed4d2f08b097bf6f3ecab1 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:09:49 +0200 Subject: [PATCH 63/65] Update for next development version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f322df9..b52b2d2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.9 + 3.1.10-SNAPSHOT utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+. From 7ba921fa6ef9093e2d3f521c85e7b32e8db10d44 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:17:12 +0200 Subject: [PATCH 64/65] added checksum:files goal --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a253166..bf6c098 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: java-version: 8 - name: Build Release - run: mvn package appassembler:assemble assembly:single -DskipTests + run: mvn package appassembler:assemble assembly:single checksum:files -DskipTests - name: Release uses: softprops/action-gh-release@v1 From d5063669249aacb8e0c3ac87733a60f0c7832c64 Mon Sep 17 00:00:00 2001 From: Simon Martinelli Date: Mon, 13 Jun 2022 15:17:33 +0200 Subject: [PATCH 65/65] Update versions for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b52b2d2..f322df9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.utplsql cli - 3.1.10-SNAPSHOT + 3.1.9 utPLSQL CLI CLI for running Unit Tests with utPLSQL v3+.