From edfcc5855ba9e571143712534ace212996b31588 Mon Sep 17 00:00:00 2001 From: Philipp Salvisberg Date: Sun, 27 Feb 2022 12:41:46 +0100 Subject: [PATCH 01/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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/16] 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