From edfcc5855ba9e571143712534ace212996b31588 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 12:41:46 +0100 Subject: [PATCH 01/28] back to snapshot version 1.4.1-SNAPSHOT --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 5e7e198..4527363 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,7 +6,7 @@ org.utplsql org.utplsql.sqldev - 1.4.0 + 1.4.1-SNAPSHOT bundle UTF-8 From df9782ce42c033ad354fe180b17d1be4d3556468 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 May 2022 06:15:37 +0000 Subject: [PATCH 02/28] Bump spring-core from 5.3.16 to 5.3.20 in /sqldev Bumps [spring-core](https://github.com/spring-projects/spring-framework) from 5.3.16 to 5.3.20. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](https://github.com/spring-projects/spring-framework/compare/v5.3.16...v5.3.20) --- updated-dependencies: - dependency-name: org.springframework:spring-core dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 4527363..d54e580 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -212,7 +212,7 @@ org.springframework spring-core - 5.3.16 + 5.3.20 From 72e7b32c30b4f8425cf0d7462364f91de6d294d7 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 15:16:49 +0200 Subject: [PATCH 03/28] use JDK 17 for tests and produce JDK8 compatible classes, update versions of dependencies --- sqldev/pom.xml | 79 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 65 insertions(+), 14 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index d54e580..e4363ab 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -10,10 +10,11 @@ bundle UTF-8 - 1.8 - 1.8 + 8 + 17 - /Applications/SQLDeveloper21.4.2.app/Contents/Resources/sqldeveloper + + /Applications/SQLDeveloper21.4.3.app/Contents/Resources/sqldeveloper utplsql_for_SQLDev_${project.version} @@ -206,19 +207,19 @@ org.springframework spring-jdbc - 5.3.16 + 5.3.22 org.springframework spring-core - 5.3.20 + 5.3.22 org.springframework spring-web - 5.3.16 + 5.3.22 @@ -256,7 +257,7 @@ org.apache.maven.plugins - 3.10.0 + 3.10.1 maven-compiler-plugin ${jdk.version} @@ -316,7 +317,7 @@ org.apache.maven.plugins maven-antrun-plugin - 3.0.0 + 3.1.0 prepare-package @@ -337,7 +338,7 @@ org.codehaus.mojo properties-maven-plugin - 1.0.0 + 1.1.0 initialize @@ -357,7 +358,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.1.0 + 3.3.0 parse-version @@ -427,7 +428,7 @@ org.apache.felix maven-bundle-plugin - 4.2.1 + 5.1.7 true ${project.name} @@ -497,7 +498,7 @@ maven-assembly-plugin - 3.3.0 + 3.4.1 ${final.name} false @@ -519,7 +520,7 @@ net.nicoulaj.maven.plugins checksum-maven-plugin - 1.9 + 1.11 calculate-checksums @@ -533,7 +534,7 @@ org.jacoco jacoco-maven-plugin - 0.8.5 + 0.8.8 @@ -645,4 +646,54 @@ master https://github.com/utPLSQL/utPLSQL-SQLDeveloper + + + + + + default + + true + + + + + org.apache.maven.plugins + 3.10.1 + maven-compiler-plugin + + + + ${jdk.version} + ${jdk.test.version} + + + + + + + idea + + false + + idea.maven.embedder.version + + + + + + org.apache.maven.plugins + 3.10.1 + maven-compiler-plugin + + + + ${jdk.test.version} + ${jdk.test.version} + + + + + + From 57b89161a217ad2885b0d2f665ed8c886454393d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 15:17:23 +0200 Subject: [PATCH 04/28] fix test with JDK17, throws now a ExceptionInInitializerError --- .../java/org/utplsql/sqldev/coverage/CodeCoverageReporter.java | 2 +- .../src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.java b/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.java index 8935af0..79bcaa7 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/coverage/CodeCoverageReporter.java @@ -190,7 +190,7 @@ private void run() { PreferenceModel preferences; try { preferences = PreferenceModel.getInstance(Preferences.getPreferences()); - } catch (NoClassDefFoundError error) { + } catch (NoClassDefFoundError | ExceptionInInitializerError error) { // not running in SQL Developer (in tests) preferences = PreferenceModel.getInstance(null); } diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java index 3182a89..5f225a8 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java @@ -568,7 +568,7 @@ private void syncDetailTab() { private PreferenceModel getPreferenceModel() { try { return PreferenceModel.getInstance(Preferences.getPreferences()); - } catch (NoClassDefFoundError e) { + } catch (NoClassDefFoundError | ExceptionInInitializerError e) { // running outside of SQL Developer return PreferenceModel.getInstance(null); } From 67462aa26366b9b8adf72d99b8d938acb59eeb56 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 15:18:38 +0200 Subject: [PATCH 05/28] second call failed also with JDK17, fix to make test succeed --- .../org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.java b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.java index 4ff779a..991dbc8 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.java +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/runner/UtplsqlRunnerTest.java @@ -46,7 +46,12 @@ public void setupDefaultPreferences() { preferences = PreferenceModel.getInstance(null); // the second call will call will succeed and use preferences from user.home // this ensures that the test and the runner use the same preferences - preferences = PreferenceModel.getInstance(Preferences.getPreferences()); + try { + preferences = PreferenceModel.getInstance(Preferences.getPreferences()); + } catch (NoClassDefFoundError e2) { + // the second call also failed. no other option left (new behavior with Java17) + preferences = PreferenceModel.getInstance(null); + } } finally { // set defaults manually, since all tests are using the same preference store preferences.setShowSuccessfulTests(true); From 4aa4d4a77d1c4444c63f845c40c3ac70907cbd55 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:48:06 +0200 Subject: [PATCH 06/28] removed Eclipse specific settings in pom.xml --- sqldev/pom.xml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index e4363ab..16b059a 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -255,35 +255,6 @@ - - org.apache.maven.plugins - 3.10.1 - maven-compiler-plugin - - ${jdk.version} - ${jdk.version} - - ${jdk.version.test} - ${jdk.version.test} - - **/*.java - - - - - - test-compile - process-test-sources - - testCompile - - - ${jdk.version.test} - ${jdk.version.test} - - - - org.apache.maven.plugins maven-surefire-plugin From aa141264b74974218ddbb042fe89d9c581e08e27 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:48:51 +0200 Subject: [PATCH 07/28] configured resources and testResource explicitly in pom.xml --- sqldev/pom.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 16b059a..46b3294 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -245,7 +245,6 @@ ${project.basedir}/src/main/java - ${project.basedir}/src/test/java src/main/resources @@ -254,6 +253,15 @@ + ${project.basedir}/src/test/java + + + src/test/resources + + **/*.* + + + org.apache.maven.plugins From 069be368e8782fbccc90993c32d2433ad2f7283e Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:49:50 +0200 Subject: [PATCH 08/28] use jdk.test.version tag in pom.xml --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 46b3294..62d8eb3 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -11,7 +11,7 @@ UTF-8 8 - 17 + 17 /Applications/SQLDeveloper21.4.3.app/Contents/Resources/sqldeveloper From d738d83113db6492b458bb38d967bff730e4653f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:50:16 +0200 Subject: [PATCH 09/28] add test cases for generator templates --- .../sqldev/test/template/TemplateTest.java | 228 ++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 sqldev/src/test/java/org/utplsql/sqldev/test/template/TemplateTest.java diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/template/TemplateTest.java b/sqldev/src/test/java/org/utplsql/sqldev/test/template/TemplateTest.java new file mode 100644 index 0000000..534bdc7 --- /dev/null +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/template/TemplateTest.java @@ -0,0 +1,228 @@ +package org.utplsql.sqldev.test.template; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.utplsql.sqldev.model.oddgen.GenContext; +import org.utplsql.sqldev.oddgen.TestTemplate; +import org.utplsql.sqldev.test.AbstractJdbcTest; +import org.utplsql.sqldev.test.coverage.CodeCoverageReporterTest; + +import java.sql.SQLException; + +public class TemplateTest extends AbstractJdbcTest { + + @Before + public void setup() { + executeAndIgnore(jdbcTemplate, """ + create or replace package junit_pkg is + procedure proc; + end; + """); + } + + + @After + public void teardown() { + executeAndIgnore(jdbcTemplate, "drop package junit_pkg"); + } + + @Test + public void spec_no_comment_no_disable_no_path() throws SQLException { + // arrange + var context = new GenContext(); + context.setConn(dataSource.getConnection()); + context.setObjectType("PACKAGE"); + context.setObjectName("JUNIT_PKG"); + context.setTestPackagePrefix(""); + context.setTestPackageSuffix("_test"); + context.setTestUnitPrefix(""); + context.setTestUnitSuffix(""); + context.setNumberOfTestsPerUnit(1); + context.setGenerateComments(false); + context.setDisableTests(false); + context.setSuitePath(""); + context.setIndentSpaces(3); + + // act + var template = new TestTemplate(context); + var actual = template.generateSpec(); + + // assert + var expected = """ + create or replace package junit_pkg_test is + --%suite(junit_pkg_test) + + --%test + procedure proc; + + end junit_pkg_test; + / + """.trim(); + Assert.assertEquals(expected, actual); + } + + @Test + public void spec_no_comment_no_disable_with_path() throws SQLException { + // arrange + var context = new GenContext(); + context.setConn(dataSource.getConnection()); + context.setObjectType("PACKAGE"); + context.setObjectName("JUNIT_PKG"); + context.setTestPackagePrefix(""); + context.setTestPackageSuffix("_test"); + context.setTestUnitPrefix(""); + context.setTestUnitSuffix(""); + context.setNumberOfTestsPerUnit(1); + context.setGenerateComments(false); + context.setDisableTests(false); + context.setSuitePath("org.utplsql"); + context.setIndentSpaces(3); + + // act + var template = new TestTemplate(context); + var actual = template.generateSpec(); + + // assert + var expected = """ + create or replace package junit_pkg_test is + --%suite(junit_pkg_test) + --%suitepath(org.utplsql) + + --%test + procedure proc; + + end junit_pkg_test; + / + """.trim(); + Assert.assertEquals(expected, actual); + } + + @Test + public void spec_no_comment_disable_with_path() throws SQLException { + // arrange + var context = new GenContext(); + context.setConn(dataSource.getConnection()); + context.setObjectType("PACKAGE"); + context.setObjectName("JUNIT_PKG"); + context.setTestPackagePrefix(""); + context.setTestPackageSuffix("_test"); + context.setTestUnitPrefix(""); + context.setTestUnitSuffix(""); + context.setNumberOfTestsPerUnit(1); + context.setGenerateComments(false); + context.setDisableTests(true); + context.setSuitePath("org.utplsql"); + context.setIndentSpaces(3); + + // act + var template = new TestTemplate(context); + var actual = template.generateSpec(); + + // assert + var expected = """ + create or replace package junit_pkg_test is + --%suite(junit_pkg_test) + --%suitepath(org.utplsql) + + --%test + --%disabled + procedure proc; + + end junit_pkg_test; + / + """.trim(); + Assert.assertEquals(expected, actual); + } + + @Test + public void spec_comment_disable_with_path() throws SQLException { + // arrange + var context = new GenContext(); + context.setConn(dataSource.getConnection()); + context.setObjectType("PACKAGE"); + context.setObjectName("JUNIT_PKG"); + context.setTestPackagePrefix(""); + context.setTestPackageSuffix("_test"); + context.setTestUnitPrefix(""); + context.setTestUnitSuffix(""); + context.setNumberOfTestsPerUnit(1); + context.setGenerateComments(true); + context.setDisableTests(true); + context.setSuitePath("org.utplsql"); + context.setIndentSpaces(3); + + // act + var template = new TestTemplate(context); + var actual = template.generateSpec() + .replaceAll("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]{1}[0-9]{2}:[0-9]{2}:[0-9]{2}", "datetime"); + + // assert + var expected = """ + create or replace package junit_pkg_test is + + -- generated by utPLSQL for SQL Developer on datetime + + --%suite(junit_pkg_test) + --%suitepath(org.utplsql) + + --%test + --%disabled + procedure proc; + + end junit_pkg_test; + / + """.trim(); + Assert.assertEquals(expected, actual); + } + + @Test + public void spec_comment_disable_with_path_two_units() throws SQLException { + // arrange + var context = new GenContext(); + context.setConn(dataSource.getConnection()); + context.setObjectType("PACKAGE"); + context.setObjectName("JUNIT_PKG"); + context.setTestPackagePrefix(""); + context.setTestPackageSuffix("_test"); + context.setTestUnitPrefix(""); + context.setTestUnitSuffix(""); + context.setNumberOfTestsPerUnit(2); + context.setGenerateComments(true); + context.setDisableTests(true); + context.setSuitePath("org.utplsql"); + context.setIndentSpaces(3); + + // act + var template = new TestTemplate(context); + var actual = template.generateSpec() + .replaceAll("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]{1}[0-9]{2}:[0-9]{2}:[0-9]{2}", "datetime"); + + // assert + var expected = """ + create or replace package junit_pkg_test is + + -- generated by utPLSQL for SQL Developer on datetime + + --%suite(junit_pkg_test) + --%suitepath(org.utplsql) + + --%context(proc) + + --%test + --%disabled + procedure proc1; + + --%test + --%disabled + procedure proc2; + + --%endcontext + + end junit_pkg_test; + / + """.trim(); + Assert.assertEquals(expected, actual); + } +} From 230e75ac5c30e9b3ee665a7aba7c736d73a228b4 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:51:38 +0200 Subject: [PATCH 10/28] unsure generated by comment is enclosed by new lines --- .../src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java index daef240..bf09d21 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java @@ -41,9 +41,9 @@ public String generateSpec() { final String packageName = context.getTestPackagePrefix() + objectName + context.getTestPackageSuffix(); sb.append("create or replace package "); sb.append(packageName); - sb.append(" is\n\n"); + sb.append(" is\n"); if (context.isGenerateComments()) { - sb.append("\t-- generated by utPLSQL for SQL Developer on "); + sb.append("\n\t-- generated by utPLSQL for SQL Developer on "); sb.append(today); sb.append("\n\n"); } From 1821d2dfeba4ae9ebc63bb8778e6c08e4de696d5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:52:21 +0200 Subject: [PATCH 11/28] ensure there is a new line after the package level annotations --- .../src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java index bf09d21..7bbdff3 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java @@ -53,8 +53,9 @@ public String generateSpec() { if (!context.getSuitePath().isEmpty()) { sb.append("\t--%suitepath("); sb.append(context.getSuitePath()); - sb.append(")\n\n"); + sb.append(")\n"); } + sb.append("\n"); for (final String u : units) { final String unit = u.toLowerCase(); if (context.getNumberOfTestsPerUnit() > 1 From 291d0e2190c621246beb19f94f92a0dcbf7c6a5d Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:52:50 +0200 Subject: [PATCH 12/28] change generated statements to lowercase in worksheet runner --- .../sqldev/runner/UtplsqlWorksheetRunner.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.java b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.java index ebc0e7c..5a0773b 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlWorksheetRunner.java @@ -77,30 +77,30 @@ private CharSequence getCode() { StringBuilder sb = new StringBuilder(); if (!debug) { if (preferences.isResetPackage()) { - sb.append("EXECUTE dbms_session.reset_package;\n"); + sb.append("execute dbms_session.reset_package;\n"); } - sb.append("SET SERVEROUTPUT ON SIZE UNLIMITED\n"); + sb.append("set serveroutput on size unlimited\n"); if (preferences.isClearScreen()) { - sb.append("CLEAR SCREEN\n"); + sb.append("clear screen\n"); } if (pathList.size() == 1) { - sb.append("EXECUTE ut.run('"); + sb.append("execute ut.run('"); sb.append(pathList.get(0)); sb.append("');\n"); } else { // we want a horizontal dense output because we resize the worksheet to fit the command in common cases - sb.append("EXECUTE ut.run(ut_varchar2_list("); + sb.append("execute ut.run(ut_varchar2_list("); sb.append(StringTools.getCSV(pathList, "").replace("\n", "")); sb.append("));\n"); } } else { - sb.append("BEGIN\n"); + sb.append("begin\n"); sb.append(" ut.run(\n"); sb.append(" ut_varchar2_list(\n"); sb.append(StringTools.getCSV(pathList, 9)); sb.append(" )\n"); sb.append(" );\n"); - sb.append("END;\n"); + sb.append("end;\n"); } return sb; } From 87c3c7b856d9083e5e3fcbc44a134889dc9f93f1 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:59:28 +0200 Subject: [PATCH 13/28] update required SQLDev to 21.4.3 this is the last version that works with JDK8. To build a JDK 8 compatible extension, this version must be used. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8003f6c..c74dcf9 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ Please file your bug reports, enhancement requests, questions and other support 6. Run maven build by the following command - mvn -Dsqldev.basedir=/Applications/SQLDeveloper21.4.2.app/Contents/Resources/sqldeveloper -DskipTests=true clean package + mvn -Dsqldev.basedir=/Applications/SQLDeveloper21.4.3.app/Contents/Resources/sqldeveloper -DskipTests=true clean package Amend the parameter sqldev.basedir to match the path of your SQL Developer installation. This folder is used to reference Oracle jar files which are not available in public Maven repositories 7. The resulting file ```utplsql_for_SQLDev_x.x.x-SNAPSHOT.zip``` in the ```target``` directory can be installed within SQL Developer From 196438f94587cc795766f4ddea7b82e09e6a681a Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sat, 23 Jul 2022 17:59:51 +0200 Subject: [PATCH 14/28] update required maven version --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c74dcf9..f29cec0 100644 --- a/README.md +++ b/README.md @@ -142,10 +142,11 @@ Please file your bug reports, enhancement requests, questions and other support 3. [Create a branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/), commit and publish your changes and enhancements 4. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/) +## How to Build ## How to Build -1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 21.4.2 -2. [Download](https://maven.apache.org/download.cgi) and install Apache Maven 3.8.3 +1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 21.4.3 +2. [Download](https://maven.apache.org/download.cgi) and install Apache Maven 3.8.6 3. [Download](https://git-scm.com/downloads) and install a git command line client 4. Clone the utPLSQL-SQLDeveloper repository 5. Open a terminal window in the utPLSQL-SQLDeveloper root folder and type From ed2a004f7e76a8778e393d0f3e725787d7af140f Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 25 Jul 2022 15:29:34 +0200 Subject: [PATCH 15/28] release sqldev-1.4.1 --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 62d8eb3..d66ab88 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,7 +6,7 @@ org.utplsql org.utplsql.sqldev - 1.4.1-SNAPSHOT + 1.4.1 bundle UTF-8 From 46a44252581582dcac805dcd93fa5d13919c2257 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Mon, 25 Jul 2022 15:47:22 +0200 Subject: [PATCH 16/28] back to snapshot version 1.4.2-SNAPSHOT --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index d66ab88..770a931 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,7 +6,7 @@ org.utplsql org.utplsql.sqldev - 1.4.1 + 1.4.2-SNAPSHOT bundle UTF-8 From 8e57195a89218e2fd23b7cb2280465e108384c4c Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 19:31:06 +0200 Subject: [PATCH 17/28] bump dependencies to JDK 17, SQLDev 23.3.1 and more --- sqldev/pom.xml | 178 +++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 96 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 770a931..833a7dc 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,19 +6,15 @@ org.utplsql org.utplsql.sqldev - 1.4.2-SNAPSHOT + 2.0.0-SNAPSHOT bundle UTF-8 - 8 - 17 - - - /Applications/SQLDeveloper21.4.3.app/Contents/Resources/sqldeveloper + 17 + 24.3.1 + + /Applications/SQLDeveloper${sqldev.version}.app/Contents/Resources/sqldeveloper utplsql_for_SQLDev_${project.version} - - - -noverify -Djava.util.logging.config.file=${project.basedir}/src/test/resources/logging.conf @@ -28,140 +24,147 @@ oracle idert - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/lib/idert.jar oracle oracle.javatools-nodeps - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/external/oracle.javatools-nodeps.jar oracle javatools - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/lib/javatools.jar oracle oracle.ide.ceditor - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/extensions/oracle.ide.ceditor.jar oracle oracle.ide - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/extensions/oracle.ide.jar oracle uic - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/lib/uic.jar oracle oracle.ide.navigator - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/extensions/oracle.ide.navigator.jar oracle javax-ide - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/lib/javax-ide.jar oracle oracle.dbtools-common - 21.4.1 + ${sqldev.version} system ${sqldev.basedir}/sqldeveloper/lib/dbtools-common.jar + + oracle + oracle.dbtools-arbori + ${sqldev.version} + system + ${sqldev.basedir}/sqldeveloper/lib/dbtools-arbori.jar + oracle oracle.sqldeveloper - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/sqldeveloper/extensions/oracle.sqldeveloper.jar oracle oracle.sqldeveloper.utils - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/sqldeveloper/extensions/oracle.sqldeveloper.utils.jar oracle oracle.sqldeveloper.worksheet - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/sqldeveloper/extensions/oracle.sqldeveloper.worksheet.jar oracle oracle.sqldeveloper.schemabrowser - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/sqldeveloper/extensions/oracle.sqldeveloper.schemabrowser.jar oracle - ojdbc8 - 21.4.0 + ojdbc11 + ${sqldev.version} system - ${sqldev.basedir}/jdbc/lib/ojdbc8.jar + ${sqldev.basedir}/jdbc/lib/ojdbc11.jar oracle dbapi - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/ide/lib/dbapi.jar oracle oracle.ide.db - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/ide/extensions/oracle.ide.db.jar oracle oracle.jdeveloper.db.connection - 21.4.2 + ${sqldev.version} system ${sqldev.basedir}/jdev/extensions/oracle.jdeveloper.db.connection.jar oracle oracle.jdeveloper.java.core.jar - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/jdev/extensions/oracle.jdeveloper.java.core.jar oracle oracle.jdeveloper.runner.jar - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/jdev/extensions/oracle.jdeveloper.runner.jar oracle oracle.ide.runner - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/ide/extensions/oracle.ide.runner.jar @@ -169,7 +172,7 @@ oracle javatools-nodeps - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/modules/oracle.javatools/javatools-nodeps.jar @@ -177,14 +180,14 @@ oracle jewt4.jar - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/modules/oracle.bali.jewt/jewt4.jar oracle share.jar - 12.2.1 + ${sqldev.version} system ${sqldev.basedir}/modules/oracle.bali.share/share.jar @@ -199,7 +202,7 @@ org.osgi org.osgi.core - 5.0.0 + 6.0.0 provided @@ -207,19 +210,19 @@ org.springframework spring-jdbc - 5.3.22 + 7.0.8 org.springframework spring-core - 5.3.22 + 7.0.8 org.springframework spring-web - 5.3.22 + 7.0.8 @@ -237,7 +240,7 @@ org.jetbrains annotations - 23.0.0 + 26.1.0 compile @@ -263,10 +266,33 @@ + + org.apache.maven.plugins + 3.15.0 + maven-compiler-plugin + + ${jdk.version} + + + + org.apache.maven.plugins + maven-resources-plugin + 3.5.0 + + + org.apache.maven.plugins + maven-install-plugin + 3.1.4 + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + org.apache.maven.plugins maven-surefire-plugin - 2.22.2 + 3.5.6 @@ -407,7 +433,7 @@ org.apache.felix maven-bundle-plugin - 5.1.7 + 6.0.2 true ${project.name} @@ -450,7 +476,8 @@ org.aspectj.runtime, org.aspectj.lang.reflect, org.springframework.core.style, - org.springframework.lang + org.springframework.lang, + org.jspecify.annotations <_noee>true @@ -477,7 +504,7 @@ maven-assembly-plugin - 3.4.1 + 3.8.0 ${final.name} false @@ -513,7 +540,7 @@ org.jacoco jacoco-maven-plugin - 0.8.8 + 0.8.15 @@ -579,12 +606,21 @@ org.codehaus.mojo buildnumber-maven-plugin - 3.0.0 + 3.3.0 - + + + + + org.javassist + javassist + 3.30.2-GA + + + org.utplsql.sqldev Extension for running unit tests in SQL Developer. @@ -625,54 +661,4 @@ master https://github.com/utPLSQL/utPLSQL-SQLDeveloper - - - - - - default - - true - - - - - org.apache.maven.plugins - 3.10.1 - maven-compiler-plugin - - - - ${jdk.version} - ${jdk.test.version} - - - - - - - idea - - false - - idea.maven.embedder.version - - - - - - org.apache.maven.plugins - 3.10.1 - maven-compiler-plugin - - - - ${jdk.test.version} - ${jdk.test.version} - - - - - - From f0e44a0cad07fcc712bd783200848db9b6d8ad20 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 19:32:03 +0200 Subject: [PATCH 18/28] update test JDBC properties for local OracleDB 26ai --- sqldev/src/test/resources/test.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/test/resources/test.properties b/sqldev/src/test/resources/test.properties index 9c71960..8ddd39f 100644 --- a/sqldev/src/test/resources/test.properties +++ b/sqldev/src/test/resources/test.properties @@ -1,7 +1,7 @@ # properties to connect to Oracle Database using JDBC thin driver -host=fillmore +host=127.0.0.1 port=1521 -service=odb.docker +service=freepdb1 # oracle users scott_username=scott From 97775afb0508f422d7404c8fe1c7243da2ee6825 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 19:32:38 +0200 Subject: [PATCH 19/28] need to pass types array with updated database dependencies --- sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.java b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.java index 5282b46..605d376 100644 --- a/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.java +++ b/sqldev/src/main/java/org/utplsql/sqldev/dal/UtplsqlDao.java @@ -241,7 +241,8 @@ public boolean containsUtplsqlTest(final String owner, final String objectName, sb.append(" AND (item_name = upper(?) or ? IS NULL)\n"); final String sql = sb.toString(); final Object[] binds = new Object[] {owner, objectName, subobjectName, subobjectName}; - final Integer found = jdbcTemplate.queryForObject(sql, Integer.class, binds); + final int[] types = new int[] {Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR}; + final Integer found = jdbcTemplate.queryForObject(sql, binds, types, Integer.class); return found != null && found > 0; } else { // using internal API (deprecated, not accessible in latest version) From 313cd5a5d56421ad6501ca658461e73099401bc9 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 19:33:43 +0200 Subject: [PATCH 20/28] increase tolerance to reduce test flakiness --- .../sqldev/test/dal/RealtimeReporterFetchSizeTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.java b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.java index a68e4b2..7bdfab6 100644 --- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.java +++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/RealtimeReporterFetchSizeTest.java @@ -100,7 +100,7 @@ private void delayFreeStreamingConsumtionProducer(final String reporterId) { @Test public void delayFreeStreamingConsumtion() { - final long TOLERANCE_MS = 600; + final long TOLERANCE_MS = 2000; SingleConnectionDataSource ds = new SingleConnectionDataSource(); ds.setDriverClassName("oracle.jdbc.OracleDriver"); ds.setUrl(dataSource.getUrl()); @@ -114,7 +114,7 @@ public void delayFreeStreamingConsumtion() { thread.start(); dao.consumeReport(reporterId, consumer); logger.fine(consumer.getPostTestEvents().toString()); - Assert.assertEquals(5, consumer.getPostTestEvents().entrySet().size()); + Assert.assertEquals(5, consumer.getPostTestEvents().size()); final Long test_1_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_1_0"); final Long test_2_1 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_2_1"); final Long test_3_2 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_3_2"); From c390f7df5089a121253da32348d68a0944e29589 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 19:53:37 +0200 Subject: [PATCH 21/28] update how to build section of README.md --- README.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index f29cec0..fa77ed4 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ ## Introduction -utPLSQL for SQL Developer extends Oracle's SQL Developer to +utPLSQL for SQL Developer extends Oracle's SQL Developer to * run utPLSQL unit tests * debug utPLSQL unit tests -* run utPLSQL code coverage reports +* run utPLSQL code coverage reports * generate utPLSQL unit tests (skeletons) * provide utPLSQL annotations and expectations as snippets @@ -18,7 +18,7 @@ In the Connections window, select a connection or one or more packages or packag ### Debug utPLSQL test -Select the tests to debug, the same way you would if you were just running them, but select `Debug utPLSQL test...` in the context menu. +Select the tests to debug, the same way you would if you were just running them, but select `Debug utPLSQL test...` in the context menu. And then the PL/SQL Debugger is called for the generated, anonymous PL/SQL block. @@ -32,11 +32,11 @@ The initialization timeout for the realtime reporter is increased to 1 hour. The In the Connections window, select a connection or one or more packages for a code coverage report. -In the dialog you can set some parameters. If you run code coverage for a few chosen packages or from the PL/SQL editor the objects to be included are determined according the object dependencies in the Oracle data dictionary. +In the dialog you can set some parameters. If you run code coverage for a few chosen packages or from the PL/SQL editor the objects to be included are determined according the object dependencies in the Oracle data dictionary. ![Code coverage dialog](images/code_coverage_dialog.png) -Press `Run` to produce the code coverage process in the background. You may minimize or close the dialog. To abort the process, press `Cancel`. +Press `Run` to produce the code coverage process in the background. You may minimize or close the dialog. To abort the process, press `Cancel`. The HTML report is shown in your default browser. @@ -89,7 +89,7 @@ utPLSQL for SQL Developer implements the [OddgenGenerator2 interface](https://ww * run existing utPLSQL test suitepaths and test suites * bulk generate new utPLSQL unit tests into dedicated files -The use of [oddgen for SQL Developer](https://www.oddgen.org/) is optional. +The use of [oddgen for SQL Developer](https://www.oddgen.org/) is optional. #### Run utPLSQL test @@ -128,6 +128,7 @@ Binary releases are published [here](https://github.com/utPLSQL/utPLSQL-SQLDevel 4. Use the ```Search Update Center``` option and select the ```salvis.com``` update center to install the lastest version of ```utPLSQL for SQL Developer```. ## Issues + Please file your bug reports, enhancement requests, questions and other support requests within [Github's issue tracker](https://help.github.com/articles/about-issues/). * [Questions](https://github.com/utPLSQL/utPLSQL-SQLDeveloper/issues?q=is%3Aissue+label%3Aquestion) @@ -142,23 +143,23 @@ Please file your bug reports, enhancement requests, questions and other support 3. [Create a branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/), commit and publish your changes and enhancements 4. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/) -## How to Build ## How to Build -1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 21.4.3 -2. [Download](https://maven.apache.org/download.cgi) and install Apache Maven 3.8.6 -3. [Download](https://git-scm.com/downloads) and install a git command line client -4. Clone the utPLSQL-SQLDeveloper repository -5. Open a terminal window in the utPLSQL-SQLDeveloper root folder and type +1. [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html) and install SQL Developer 24.3.1 +2. Download and install a JDK 17 or newer +3. [Download](https://maven.apache.org/download.cgi) and install Apache Maven 3.9.16 +4. [Download](https://git-scm.com/downloads) and install a git command line client +5. Clone the utPLSQL-SQLDeveloper repository +6. Open a terminal window in the utPLSQL-SQLDeveloper root folder and type - cd sqldev + cd sqldev -6. Run maven build by the following command +7. Run maven build by the following command - mvn -Dsqldev.basedir=/Applications/SQLDeveloper21.4.3.app/Contents/Resources/sqldeveloper -DskipTests=true clean package + mvn -Dsqldev.basedir=/Applications/SQLDeveloper24.3.1.app/Contents/Resources/sqldeveloper -DskipTests=true clean package - Amend the parameter sqldev.basedir to match the path of your SQL Developer installation. This folder is used to reference Oracle jar files which are not available in public Maven repositories -7. The resulting file ```utplsql_for_SQLDev_x.x.x-SNAPSHOT.zip``` in the ```target``` directory can be installed within SQL Developer + Amend the parameter sqldev.basedir to match the path of your SQL Developer installation. This folder is used to reference Oracle jar files which are not available in public Maven repositories +8. The resulting file ```utplsql_for_SQLDev_x.x.x-SNAPSHOT.zip``` in the ```target``` directory can be installed within SQL Developer ## License From 6667a187225b142da74e46078e1e6dc570860be3 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 20:22:51 +0200 Subject: [PATCH 22/28] consistent translation of failures, fixes #161 --- .../org/utplsql/sqldev/resources/UtplsqlResources_de.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties index 7691dcb..7c9661b 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources_de.properties @@ -89,7 +89,7 @@ RUNNER_DESCRIPTION_LABEL=Beschreibung RUNNER_START_LABEL=Start RUNNER_ASSERT_DESCRIPTION_COLUMN=Assert Beschreibung (gescheiterte Zeile) RUNNER_TEST_TAB_LABEL=Test/Suite -RUNNER_FAILURES_TAB_LABEL=Misserfolge +RUNNER_FAILURES_TAB_LABEL=Fehlschl\u00e4ge RUNNER_ERRORS_TAB_LABEL=Fehler RUNNER_WARNINGS_TAB_LABEL=Warnungen RUNNER_INFO_TAB_LABEL=Info From b55e551c093a67c2ee57c5c5d76a09bb8b439124 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 20:42:15 +0200 Subject: [PATCH 23/28] release sqldev-2.0.0 --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 833a7dc..22c7f67 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,7 +6,7 @@ org.utplsql org.utplsql.sqldev - 2.0.0-SNAPSHOT + 2.0.0 bundle UTF-8 From 2dcb8c6cd94fef1f3f039c68767755e927e417b5 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 23:47:18 +0200 Subject: [PATCH 24/28] enforce minimum SQL Developer version to 24.3.1.347.1826 --- .../org/utplsql/sqldev/resources/UtplsqlResources.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties index 911a6df..a2adee4 100644 --- a/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties +++ b/sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties @@ -6,7 +6,7 @@ EXTENSION_NAME=utPLSQL for SQL Developer EXTENSION_DESCRIPTION=Extension for running unit tests in SQL Developer. EXTENSION_OWNER=Philipp Salvisberg # suppress inspection "UnusedProperty" -MIN_SQLDEV_VERSION=12.2.0.19.0.7 +MIN_SQLDEV_VERSION=24.3.1.347.1826 # Icons UTPLSQL_ICON=/org/utplsql/sqldev/resources/images/utPLSQL.png From 3e416cfac964e02ba6986df651111a889eb196cd Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Tue, 16 Jun 2026 23:47:40 +0200 Subject: [PATCH 25/28] release sqldev-2.0.1 --- sqldev/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index 22c7f67..febf32f 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,7 +6,7 @@ org.utplsql org.utplsql.sqldev - 2.0.0 + 2.0.1 bundle UTF-8 From 0f9152941ffbde7cd903bec9444ab2770331febc Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Wed, 17 Jun 2026 00:03:52 +0200 Subject: [PATCH 26/28] back to snapshot version 2.1.0-SNAPSHOT --- sqldev/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sqldev/pom.xml b/sqldev/pom.xml index febf32f..a2340e3 100644 --- a/sqldev/pom.xml +++ b/sqldev/pom.xml @@ -6,13 +6,13 @@ org.utplsql org.utplsql.sqldev - 2.0.1 + 2.1.0-SNAPSHOT bundle UTF-8 17 24.3.1 - + /Applications/SQLDeveloper${sqldev.version}.app/Contents/Resources/sqldeveloper utplsql_for_SQLDev_${project.version} From 7e2b2447994ea557d0ff1d8f257f70bffdc76a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 3 Aug 2026 20:20:42 +0800 Subject: [PATCH 27/28] Update README.md to use absolute path instead of relative for images. Attempt at resolving issue: https://github.com/mondeja/mkdocs-include-markdown-plugin/issues/302 --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index fa77ed4..2138e96 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ utPLSQL for SQL Developer extends Oracle's SQL Developer to In the Connections window, select a connection or one or more packages or package procedures to run utPLSQL tests. Or you can run utPLSQL tests directly from the PL/SQL editor. The test procedures are determined according to the cursor position in the PL/SQL editor. -![Run utPLSQL test](images/run_utplsql_test.png) +![Run utPLSQL test](/images/run_utplsql_test.png) ### Debug utPLSQL test @@ -22,11 +22,11 @@ Select the tests to debug, the same way you would if you were just running them, And then the PL/SQL Debugger is called for the generated, anonymous PL/SQL block. -![Anonymous PL/SQL block to debug utPLSQL test](images/debug_utplsql_test_anonymous_block.png) +![Anonymous PL/SQL block to debug utPLSQL test](/images/debug_utplsql_test_anonymous_block.png) The initialization timeout for the realtime reporter is increased to 1 hour. The overall timeout is left to the default value of 4 hours. So you have enough time to step through the PL/SQL code and analyse it. Press the `Stop` button at any time to cancel the test run. -![Stop utPLSQL test run](images/debug_utplsql_test_stop.png) +![Stop utPLSQL test run](/images/debug_utplsql_test_stop.png) ### Code coverage... @@ -34,13 +34,13 @@ In the Connections window, select a connection or one or more packages for a cod In the dialog you can set some parameters. If you run code coverage for a few chosen packages or from the PL/SQL editor the objects to be included are determined according the object dependencies in the Oracle data dictionary. -![Code coverage dialog](images/code_coverage_dialog.png) +![Code coverage dialog](/images/code_coverage_dialog.png) Press `Run` to produce the code coverage process in the background. You may minimize or close the dialog. To abort the process, press `Cancel`. The HTML report is shown in your default browser. -![Code coverage report](images/code_coverage_report_all_files.png) +![Code coverage report](/images/code_coverage_report_all_files.png) ### Generate utPLSQL test @@ -48,7 +48,7 @@ The HTML report is shown in your default browser. Select a package, type, function or procedure to build a utPLSQL test package skeleton. The generated package compiles and executes, but still needs some rework. -![Generate utPLSQL test](images/generate_utplsql_test.png) +![Generate utPLSQL test](/images/generate_utplsql_test.png) #### From scratch @@ -56,7 +56,7 @@ Select a package, type, function or procedure to build a utPLSQL test package sk 2. Type `ut_` in the Worksheet or a PL/SQL editor and press `Ctrl-Space` to get the list of a utPLSQL code templates 3. Press `Return` to paste a code template at the current cursor position -![Generate utPLSQL test](images/generate_utplsql_test_from_template.png) +![Generate utPLSQL test](/images/generate_utplsql_test_from_template.png) ### Snippets @@ -68,19 +68,19 @@ Insert the snippets by drag & drop into your code. Annotations are used in the package specification for various test configurations. -![utPLSQL Annotations](images/snippets_annotations.png) +![utPLSQL Annotations](/images/snippets_annotations.png) #### Expectations Expectations are used in the package body to compare actual with expected results. -![utPLSQL Expectations](images/snippets_expectations.png) +![utPLSQL Expectations](/images/snippets_expectations.png) ### Preferences Set your preferences to change the behaviour of utPLSQL within SQL Developer. -![Preferences](images/preferences.png) +![Preferences](/images/preferences.png) ### oddgen integration @@ -95,13 +95,13 @@ The use of [oddgen for SQL Developer](https://www.oddgen.org/) is optional. utPLSQL can run tests based on suitepaths and suites. The next screenshot shows the generated run command for two selected suitepaths. -![Generate utPLSQL test](images/oddgen_run_utplsql_test.png) +![Generate utPLSQL test](/images/oddgen_run_utplsql_test.png) #### Generate utPLSQL test Use oddgen to generate utPLSQL test package skeletons. When generating to files, a file for each package specification and package body is created. -![Generate utPLSQL test](images/oddgen_generate_utplsql_test.png) +![Generate utPLSQL test](/images/oddgen_generate_utplsql_test.png) ## Releases From 3bdd3c3937a2b93670cf3ffdcef95a28e728d2ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20G=C4=99bal?= Date: Mon, 3 Aug 2026 21:47:40 +0800 Subject: [PATCH 28/28] Modified readme in attempt to workaround the issue: https://github.com/mondeja/mkdocs-include-markdown-plugin/issues/302 --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 2138e96..a6c1ec7 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ utPLSQL for SQL Developer extends Oracle's SQL Developer to In the Connections window, select a connection or one or more packages or package procedures to run utPLSQL tests. Or you can run utPLSQL tests directly from the PL/SQL editor. The test procedures are determined according to the cursor position in the PL/SQL editor. -![Run utPLSQL test](/images/run_utplsql_test.png) +![Run utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/run_utplsql_test.png) ### Debug utPLSQL test @@ -22,11 +22,11 @@ Select the tests to debug, the same way you would if you were just running them, And then the PL/SQL Debugger is called for the generated, anonymous PL/SQL block. -![Anonymous PL/SQL block to debug utPLSQL test](/images/debug_utplsql_test_anonymous_block.png) +![Anonymous PL/SQL block to debug utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/debug_utplsql_test_anonymous_block.png) The initialization timeout for the realtime reporter is increased to 1 hour. The overall timeout is left to the default value of 4 hours. So you have enough time to step through the PL/SQL code and analyse it. Press the `Stop` button at any time to cancel the test run. -![Stop utPLSQL test run](/images/debug_utplsql_test_stop.png) +![Stop utPLSQL test run](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/debug_utplsql_test_stop.png) ### Code coverage... @@ -34,13 +34,13 @@ In the Connections window, select a connection or one or more packages for a cod In the dialog you can set some parameters. If you run code coverage for a few chosen packages or from the PL/SQL editor the objects to be included are determined according the object dependencies in the Oracle data dictionary. -![Code coverage dialog](/images/code_coverage_dialog.png) +![Code coverage dialog](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/code_coverage_dialog.png) Press `Run` to produce the code coverage process in the background. You may minimize or close the dialog. To abort the process, press `Cancel`. The HTML report is shown in your default browser. -![Code coverage report](/images/code_coverage_report_all_files.png) +![Code coverage report](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/code_coverage_report_all_files.png) ### Generate utPLSQL test @@ -48,7 +48,7 @@ The HTML report is shown in your default browser. Select a package, type, function or procedure to build a utPLSQL test package skeleton. The generated package compiles and executes, but still needs some rework. -![Generate utPLSQL test](/images/generate_utplsql_test.png) +![Generate utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/generate_utplsql_test.png) #### From scratch @@ -56,7 +56,7 @@ Select a package, type, function or procedure to build a utPLSQL test package sk 2. Type `ut_` in the Worksheet or a PL/SQL editor and press `Ctrl-Space` to get the list of a utPLSQL code templates 3. Press `Return` to paste a code template at the current cursor position -![Generate utPLSQL test](/images/generate_utplsql_test_from_template.png) +![Generate utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/generate_utplsql_test_from_template.png) ### Snippets @@ -68,19 +68,19 @@ Insert the snippets by drag & drop into your code. Annotations are used in the package specification for various test configurations. -![utPLSQL Annotations](/images/snippets_annotations.png) +![utPLSQL Annotations](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/snippets_annotations.png) #### Expectations Expectations are used in the package body to compare actual with expected results. -![utPLSQL Expectations](/images/snippets_expectations.png) +![utPLSQL Expectations](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/snippets_expectations.png) ### Preferences Set your preferences to change the behaviour of utPLSQL within SQL Developer. -![Preferences](/images/preferences.png) +![Preferences](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/preferences.png) ### oddgen integration @@ -95,13 +95,13 @@ The use of [oddgen for SQL Developer](https://www.oddgen.org/) is optional. utPLSQL can run tests based on suitepaths and suites. The next screenshot shows the generated run command for two selected suitepaths. -![Generate utPLSQL test](/images/oddgen_run_utplsql_test.png) +![Generate utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/oddgen_run_utplsql_test.png) #### Generate utPLSQL test Use oddgen to generate utPLSQL test package skeletons. When generating to files, a file for each package specification and package body is created. -![Generate utPLSQL test](/images/oddgen_generate_utplsql_test.png) +![Generate utPLSQL test](https://raw.githubusercontent.com/utPLSQL/utPLSQL-SQLDeveloper/main/images/oddgen_generate_utplsql_test.png) ## Releases