From b1ff491455d7f0eb9b31f13f569ea438e2c6554c Mon Sep 17 00:00:00 2001 From: Ting-Lan Wang Date: Tue, 4 Nov 2025 12:37:57 -0500 Subject: [PATCH 1/2] Update readme and move JdbcConfig.pkl from resources/ to template/ --- ojdbc-provider-pkl/README.md | 6 +++--- ojdbc-provider-pkl/pom.xml | 21 +++++++------------ .../{generated => }/JdbcConfig.java | 2 +- .../provider/pkl/configuration/PklParser.java | 1 - .../pkl/configuration/PklParserTest.java | 2 +- .../resources => template}/JdbcConfig.pkl | 2 +- 6 files changed, 13 insertions(+), 21 deletions(-) rename ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/{generated => }/JdbcConfig.java (99%) rename ojdbc-provider-pkl/{src/main/resources => template}/JdbcConfig.pkl (99%) diff --git a/ojdbc-provider-pkl/README.md b/ojdbc-provider-pkl/README.md index 576d7392..4ddcf2ae 100644 --- a/ojdbc-provider-pkl/README.md +++ b/ojdbc-provider-pkl/README.md @@ -10,7 +10,7 @@ With the Oracle JDBC Pkl Parser, developers can store JDBC configurations in `.p ## Installation All providers in this module are distributed as single jar on the Maven Central -Repository. The jar is compiled for JDK 8, and is forward compatible with later +Repository. The jar is compiled for JDK 17, and is forward compatible with later JDK versions. The coordinates for the latest release are: ```xml @@ -48,7 +48,7 @@ There are two approaches to filling out a template: **amends** and **import**. #### myJdbcConfig.pkl ```yaml -amends "https://raw.githubusercontent.com/oracle/ojdbc-extensions/ojdbc-provider-pkl/src/main/resources/JdbcConfig.pkl" +amends "https://raw.githubusercontent.com/oracle/ojdbc-extensions/refs/heads/main/ojdbc-provider-pkl/template/JdbcConfig.pkl" connect_descriptor = "dbhost:1521/orclpdb1" user = "scott" @@ -78,7 +78,7 @@ jdbc:oracle:thin:@config-file://myJdbcConfig.pkl #### myJdbcConfig.pkl ```yaml -import "https://raw.githubusercontent.com/oracle/ojdbc-extensions/ojdbc-provider-pkl/src/main/resources/JdbcConfig.pkl" +import "https://raw.githubusercontent.com/oracle/ojdbc-extensions/refs/heads/main/ojdbc-provider-pkl/template/JdbcConfig.pkl" config1 = (JdbcConfig) { connect_descriptor = "dbhost:1521/orclpdb1" diff --git a/ojdbc-provider-pkl/pom.xml b/ojdbc-provider-pkl/pom.xml index ef229b46..0e2d9bd6 100644 --- a/ojdbc-provider-pkl/pom.xml +++ b/ojdbc-provider-pkl/pom.xml @@ -36,13 +36,6 @@ org.junit.jupiter junit-jupiter-engine - - - com.oracle.database.jdbc - ojdbc-provider-common - tests - test-jar - @@ -73,15 +66,15 @@ - - - src/main/resources + + + ${basedir}/template - **/*.pkl - META-INF/services/oracle.jdbc.spi.* + JdbcConfig.pkl - - + + + \ No newline at end of file diff --git a/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/generated/JdbcConfig.java b/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/JdbcConfig.java similarity index 99% rename from ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/generated/JdbcConfig.java rename to ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/JdbcConfig.java index c8e8e39d..63ccd3cf 100644 --- a/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/generated/JdbcConfig.java +++ b/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/JdbcConfig.java @@ -1,4 +1,4 @@ -package oracle.jdbc.provider.pkl.configuration.generated; +package oracle.jdbc.provider.pkl.configuration; import java.lang.Boolean; import java.lang.Long; diff --git a/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/PklParser.java b/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/PklParser.java index b84a5dd9..35ba937d 100644 --- a/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/PklParser.java +++ b/ojdbc-provider-pkl/src/main/java/oracle/jdbc/provider/pkl/configuration/PklParser.java @@ -1,6 +1,5 @@ package oracle.jdbc.provider.pkl.configuration; -import oracle.jdbc.provider.pkl.configuration.generated.JdbcConfig; import oracle.jdbc.spi.OracleConfigurationParser; import oracle.jdbc.spi.OracleConfigurationSecretProvider; import org.pkl.config.java.Config; diff --git a/ojdbc-provider-pkl/src/test/java/oracle/jdbc/provider/pkl/configuration/PklParserTest.java b/ojdbc-provider-pkl/src/test/java/oracle/jdbc/provider/pkl/configuration/PklParserTest.java index 6e52947d..063e2367 100644 --- a/ojdbc-provider-pkl/src/test/java/oracle/jdbc/provider/pkl/configuration/PklParserTest.java +++ b/ojdbc-provider-pkl/src/test/java/oracle/jdbc/provider/pkl/configuration/PklParserTest.java @@ -74,7 +74,7 @@ public static void setup() throws Exception { file = File.createTempFile("myJdbcConfig", ".pkl"); file.createNewFile(); - URL resourceUrl = PklParser.class.getClassLoader().getResource(RESOURCE_NAME); + URL resourceUrl = Thread.currentThread().getContextClassLoader().getResource(RESOURCE_NAME); if (resourceUrl == null) { throw new RuntimeException("Resource not found: " + RESOURCE_NAME); } diff --git a/ojdbc-provider-pkl/src/main/resources/JdbcConfig.pkl b/ojdbc-provider-pkl/template/JdbcConfig.pkl similarity index 99% rename from ojdbc-provider-pkl/src/main/resources/JdbcConfig.pkl rename to ojdbc-provider-pkl/template/JdbcConfig.pkl index 1f56f13d..bf130800 100644 --- a/ojdbc-provider-pkl/src/main/resources/JdbcConfig.pkl +++ b/ojdbc-provider-pkl/template/JdbcConfig.pkl @@ -1,4 +1,4 @@ -module oracle.jdbc.provider.pkl.configuration.generated.JdbcConfig +module oracle.jdbc.provider.pkl.configuration.JdbcConfig connect_descriptor: String user: String? From 4a1593f4ab34383057617ed3345d71fa4c8faac1 Mon Sep 17 00:00:00 2001 From: Ting-Lan Wang Date: Tue, 4 Nov 2025 12:48:48 -0500 Subject: [PATCH 2/2] Update readme --- ojdbc-provider-pkl/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ojdbc-provider-pkl/README.md b/ojdbc-provider-pkl/README.md index 4ddcf2ae..cf67c76d 100644 --- a/ojdbc-provider-pkl/README.md +++ b/ojdbc-provider-pkl/README.md @@ -1,6 +1,6 @@ # Oracle JDBC Configuration Provider Parser for Pkl -This module provides a parser that integrates **Oracle JDBC** with **Pkl**, a modern configuration language. +This module provides a parser that integrates **Oracle JDBC** with **[Pkl](https://pkl-lang.org/index.html)**, a modern configuration language. It implements the `OracleConfigurationParser` interface to parse and read `.pkl` files for database configuration. With the Oracle JDBC Pkl Parser, developers can store JDBC configurations in `.pkl` files and load them dynamically through Oracle JDBC Driver Extensions. @@ -10,7 +10,7 @@ With the Oracle JDBC Pkl Parser, developers can store JDBC configurations in `.p ## Installation All providers in this module are distributed as single jar on the Maven Central -Repository. The jar is compiled for JDK 17, and is forward compatible with later +Repository. The jar is compiled for JDK 17 (as required by Pkl), and is forward compatible with later JDK versions. The coordinates for the latest release are: ```xml