diff --git a/.github/workflows/api-snapshot-check.yml b/.github/workflows/api-snapshot-check.yml
new file mode 100644
index 0000000..7943180
--- /dev/null
+++ b/.github/workflows/api-snapshot-check.yml
@@ -0,0 +1,78 @@
+name: Test with utplsql-java-api snapshot
+
+on:
+ workflow_dispatch:
+ inputs:
+ api_version:
+ description: 'utplsql-java-api snapshot version (e.g. 3.2.4-SNAPSHOT)'
+ required: true
+
+ repository_dispatch:
+ types: [utPLSQL-java-api-build]
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ build:
+ name: Test with utplsql-java-api ${{ github.event.client_payload.api_version || inputs.api_version }}
+ runs-on: ubuntu-latest
+ env:
+ UTPLSQL_VERSION: develop
+ UTPLSQL_FILE: utPLSQL
+ DB_URL: "//localhost:1521/FREEPDB1"
+ DB_USER: APP
+ DB_PASS: APP
+
+ services:
+ oracle:
+ image: gvenzl/oracle-free:23-slim-faststart
+ env:
+ ORACLE_PASSWORD: oracle
+ DB_URL: "//localhost:1521/FREEPDB1"
+ DB_USER: APP
+ DB_PASS: pass
+ ports:
+ - 1521:1521
+ options: >-
+ --health-cmd healthcheck.sh
+ --health-interval 10s
+ --health-timeout 5s
+ --health-retries 10
+ --name oracle
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - uses: actions/setup-java@v5
+ with:
+ distribution: 'adopt'
+ java-version: '17'
+
+ - name: Install utplsql
+ run: .github/scripts/install_utplsql.sh
+
+ - name: Install demo project
+ run: .github/scripts/install_demo_project.sh
+
+ - name: Build and Test
+ run: |
+ API_VERSION="${{ github.event.client_payload.api_version || inputs.api_version }}"
+ mvn verify appassembler:assemble -Dutplsql-java-api.version="$API_VERSION"
+
+ 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/.github/workflows/build.yml b/.github/workflows/build.yml
index b0af34d..62f3368 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,6 +2,7 @@ name: Build and test
on:
push:
+ branches: [ develop ]
pull_request:
branches: [ develop ]
@@ -29,9 +30,9 @@ jobs:
strategy:
fail-fast: false
matrix:
- utplsql_version: ["v3.1.14","develop"]
+ utplsql_version: ["v3.2.01","develop"]
utplsql_file: ["utPLSQL"]
- jdk: ['8', '11', '17','21','25']
+ jdk: ['11', '17', '21', '25']
services:
oracle:
image: gvenzl/oracle-free:23-slim-faststart
@@ -39,7 +40,7 @@ jobs:
ORACLE_PASSWORD: oracle
DB_URL: "//localhost:1521/FREEPDB1"
DB_USER: APP
- DB_PASS: APP
+ DB_PASS: pass
ports:
- 1521:1521
options: >-
diff --git a/pom.xml b/pom.xml
index c417838..6888240 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,18 +4,24 @@
org.utplsql
cli
- 3.1.10-SNAPSHOT
+ 3.2.0-SNAPSHOT
utPLSQL CLI
CLI for running Unit Tests with utPLSQL v3+.
https://github.com/utPLSQL/utPLSQL-cli
+ 3.2.3
UTF-8
11
- 5.5.2
- 21.9.0.0
+ 5.12.2
+ 4.7.7
+ 1.5.18
+ 2.2
local
+
+ utplsql
+ https://sonarcloud.io
@@ -26,26 +32,44 @@
+
+ GitHub Issues
+ https://github.com/utPLSQL/utPLSQL-java-api/issues
+
+
+
+
+ Vinicius Avellar Moreira
+ utPLSQL.org
+ https://utplsql.org
+ amvinicius@gmail.com
+
+
+ Samuel Nitsche
+ utPLSQL.org
+ https://utplsql.org
+ derpesse@gmail.com
+
+
+ Jacek Gebal
+ utPLSQL.org
+ https://utplsql.org
+ jgebal@gmail.com
+
+
+ Simon Martinelli
+ utPLSQL.org
+ https://utplsql.org
+ simon@martineli.ch
+ https://martinelli.ch
+
+
+
org.utplsql
- java-api
- 3.1.9
- compile
-
-
- com.oracle.ojdbc
- ucp
-
-
- com.oracle.ojdbc
- ojdbc8
-
-
- com.oracle.ojdbc
- orai18n
-
-
+ utplsql-java-api
+ ${utplsql-java-api.version}
javax.xml.bind
@@ -55,32 +79,13 @@
ch.qos.logback
logback-classic
- 1.2.13
+ ${logback.version}
info.picocli
picocli
- 4.6.3
+ ${picocli.version}
-
- 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
@@ -91,17 +96,22 @@
org.hamcrest
hamcrest
- 2.1
+ ${hamcrest.version}
test
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
org.codehaus.mojo
appassembler-maven-plugin
- 1.10
+ 2.1.0
true
true
@@ -119,7 +129,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.22.0
+ 3.5.5
**/*IT.java
@@ -129,7 +139,7 @@
org.apache.maven.plugins
maven-failsafe-plugin
- 2.22.0
+ 3.5.5
@@ -142,7 +152,7 @@
org.apache.maven.plugins
maven-assembly-plugin
- 3.3.0
+ 3.8.0
utPLSQL-cli
false
@@ -154,7 +164,7 @@
net.nicoulaj.maven.plugins
checksum-maven-plugin
- 1.10
+ 1.11
@@ -172,7 +182,7 @@
com.amashchenko.maven.plugin
gitflow-maven-plugin
- 1.18.0
+ 1.21.0
true
@@ -201,16 +211,9 @@
- utplsql-java-api
-
- https://packagecloud.io/utplsql/utplsql-java-api/maven2
-
-
- true
-
-
- true
-
+ central-snapshots
+ https://central.sonatype.com/repository/maven-snapshots/
+ true
diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java
index de1be33..f79e63d 100644
--- a/src/main/java/org/utplsql/cli/RunAction.java
+++ b/src/main/java/org/utplsql/cli/RunAction.java
@@ -192,8 +192,8 @@ private void initDatabase(DataSource dataSource) throws SQLException {
compatibilityProxy = checkFrameworkCompatibility(conn);
- logger.info("Successfully connected to database. UtPLSQL core: {}", compatibilityProxy.getVersionDescription());
- logger.info("Oracle-Version: {}", new DefaultDatabaseInformation().getOracleVersion(conn));
+ logger.info("Connected to Oracle database: {}", new DefaultDatabaseInformation().getOracleVersion(conn));
+ logger.info("utPLSQL core: {}", compatibilityProxy.getVersionDescription());
} catch (SQLException e) {
if (e.getErrorCode() == 1017 || e.getErrorCode() == 12514) {
throw new DatabaseConnectionFailed(e);
diff --git a/src/main/java/org/utplsql/cli/reporters/LocalAssetsCoverageHTMLReporter.java b/src/main/java/org/utplsql/cli/reporters/LocalAssetsCoverageHTMLReporter.java
index 602ee7c..20483c1 100644
--- a/src/main/java/org/utplsql/cli/reporters/LocalAssetsCoverageHTMLReporter.java
+++ b/src/main/java/org/utplsql/cli/reporters/LocalAssetsCoverageHTMLReporter.java
@@ -29,13 +29,17 @@ public LocalAssetsCoverageHTMLReporter(String selfType, Object[] attributes) {
public Reporter init(Connection con, CompatibilityProxy compatibilityProxy, ReporterFactory reporterFactory) throws SQLException {
super.init(con, compatibilityProxy, reporterFactory);
- if (hasOutputToFile()) {
+ if (hasOutputToFile() && assetsAreBundled()) {
writeReportAssetsTo(getPhysicalAssetPath());
}
return this;
}
+ private static boolean assetsAreBundled() {
+ return CoverageHTMLReporter.class.getResource("/CoverageHTMLReporter") != null;
+ }
+
private String getNameOfOutputFile() {
Path outputPath = Paths.get(options.getOutputFileName());
return outputPath.getName(outputPath.getNameCount() - 1).toString();
@@ -51,7 +55,7 @@ private Path getPhysicalAssetPath() {
}
private void setAssetsPathFromOptions() {
- if (hasOutputToFile()) {
+ if (hasOutputToFile() && assetsAreBundled()) {
setAssetsPath(getNameOfOutputFile() + "_assets/");
}
}
diff --git a/src/test/java/org/utplsql/cli/CliVersionInfoTest.java b/src/test/java/org/utplsql/cli/CliVersionInfoTest.java
index 28db14c..4a89f27 100644
--- a/src/test/java/org/utplsql/cli/CliVersionInfoTest.java
+++ b/src/test/java/org/utplsql/cli/CliVersionInfoTest.java
@@ -8,6 +8,6 @@ class CliVersionInfoTest {
@Test
void getCliVersionInfo() {
- assertTrue(CliVersionInfo.getVersion().startsWith("3.1"));
+ assertTrue(CliVersionInfo.getVersion().startsWith("3.2"));
}
}
diff --git a/src/test/java/org/utplsql/cli/TestHelper.java b/src/test/java/org/utplsql/cli/TestHelper.java
index 488654e..dddca1a 100644
--- a/src/test/java/org/utplsql/cli/TestHelper.java
+++ b/src/test/java/org/utplsql/cli/TestHelper.java
@@ -19,9 +19,9 @@ class TestHelper {
private static String sPass;
static {
- sUrl = EnvironmentVariableUtil.getEnvValue("DB_URL", "192.168.99.100:1521:XE");
- sUser = EnvironmentVariableUtil.getEnvValue("DB_USER", "app");
- sPass = EnvironmentVariableUtil.getEnvValue("DB_PASS", "app");
+ sUrl = EnvironmentVariableUtil.getEnvValue("DB_URL", "//localhost:1521/FREEPDB1");
+ sUser = EnvironmentVariableUtil.getEnvValue("DB_USER", "APP");
+ sPass = EnvironmentVariableUtil.getEnvValue("DB_PASS", "pass");
}
static RunPicocliCommand createPicocliRunCommand(String... args ) {