From 79d69ffd22345124e79092e68d5d17f7cdf23caa Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 9 Jun 2022 07:20:45 +0200 Subject: [PATCH 1/5] 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 2/5] 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 3/5] 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 4/5] 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 5/5] 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") ); + } }