Skip to content

Commit

Permalink
Migrate to Java 21
Browse files Browse the repository at this point in the history
  • Loading branch information
ravinperera00 committed Dec 5, 2024
1 parent 5b107df commit ca5c77e
Show file tree
Hide file tree
Showing 13 changed files with 80 additions and 51 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/daily-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17.0.7
java-version: 21.0.3

- name: Set environment variable
if: github.event.action == 'check_connector_for_breaking_changes'
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,23 @@ Follow one of the following ways to add the JARs in the file:

* Download the JAR and update the path.
```
[[platform.java17.dependency]]
[[platform.java21.dependency]]
path = "PATH"
```
* Add JAR with the Maven dependency params.
```
[[platform.java17.dependency]]
[[platform.java21.dependency]]
groupId = "com.oracle.database.jdbc"
artifactId = "ojdbc11"
version = "12.2.0.1"
[platform.java17.dependency]]
[platform.java21.dependency]]
groupId = "com.oracle.database.xml"
artifactId = "xdb"
version = "21.1.0.0"
[platform.java17.dependency]]
[platform.java21.dependency]]
groupId = "com.oracle.database.xml"
artifactId = "xmlparserv2"
version = "12.2.0.1"
Expand Down Expand Up @@ -559,7 +559,7 @@ This repository only contains the source code for the package.

### Set up the prerequisites

1. Download and install the Java SE Development Kit (JDK) version 17 (from one of the following locations).
1. Download and install the Java SE Development Kit (JDK) version 21 (from one of the following locations).
* [Oracle](https://www.oracle.com/java/technologies/downloads/)
* [OpenJDK](https://adoptium.net/)

Expand Down
8 changes: 4 additions & 4 deletions ballerina/Ballerina.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ keywords = ["database", "client", "network", "SQL", "RDBMS", "OracleDB", "Oracle
repository = "https://github.com/ballerina-platform/module-ballerinax-oracledb"
icon = "icon.png"
license = ["Apache-2.0"]
distribution = "2201.9.0"
distribution = "2201.11.0-20241117-133400-a3054b77"

[platform.java17]
[platform.java21]
graalvmCompatible = true

[[platform.java17.dependency]]
[[platform.java21.dependency]]
groupId = "io.ballerina.stdlib"
artifactId = "oracledb-native"
version = "1.12.0"
path = "../native/build/libs/oracledb-native-1.12.0-SNAPSHOT.jar"

[[platform.java17.dependency]]
[[platform.java21.dependency]]
groupId = "io.ballerina.stdlib"
artifactId = "sql-native"
version = "1.13.0"
Expand Down
14 changes: 12 additions & 2 deletions ballerina/Dependencies.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

[ballerina]
dependencies-toml-version = "2"
distribution-version = "2201.9.0-20240405-165800-4b163f78"
distribution-version = "2201.11.0-20241117-133400-a3054b77"

[[package]]
org = "ballerina"
Expand Down Expand Up @@ -299,7 +299,7 @@ dependencies = [
[[package]]
org = "ballerina"
name = "sql"
version = "1.13.0"
version = "1.15.0"
dependencies = [
{org = "ballerina", name = "io"},
{org = "ballerina", name = "jballerina.java"},
Expand Down Expand Up @@ -419,3 +419,13 @@ modules = [
{org = "ballerinax", packageName = "oracledb.driver", moduleName = "oracledb.driver"}
]

[[package]]
org = "ballerina"
name = "data.jsondata"
version = "0.3.0"
scope = "testOnly"
dependencies = [
{org = "ballerina", name = "jballerina.java"},
{org = "ballerina", name = "lang.object"}
]

8 changes: 4 additions & 4 deletions build-config/resources/Ballerina.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@ keywords = ["database", "client", "network", "SQL", "RDBMS", "OracleDB", "Oracle
repository = "https://github.com/ballerina-platform/module-ballerinax-oracledb"
icon = "icon.png"
license = ["Apache-2.0"]
distribution = "2201.9.0"
distribution = "2201.11.0-20241117-133400-a3054b77"

[platform.java17]
[platform.java21]
graalvmCompatible = true

[[platform.java17.dependency]]
[[platform.java21.dependency]]
groupId = "io.ballerina.stdlib"
artifactId = "oracledb-native"
version = "@toml.version@"
path = "../native/build/libs/oracledb-native-@project.version@.jar"

[[platform.java17.dependency]]
[[platform.java21.dependency]]
groupId = "io.ballerina.stdlib"
artifactId = "sql-native"
version = "@sql.version@"
Expand Down
8 changes: 8 additions & 0 deletions build-config/spotbugs-exclude.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,12 @@
<Method name="getInstance"/>
<Bug pattern="MS_EXPOSE_REP"/>
</Match>
<Match>
<Class name="io.ballerina.stdlib.oracledb.parameterprocessor.OracleDBResultParameterProcessor"/>
<Bug pattern="SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR"/>
</Match>
<Match>
<Class name="io.ballerina.stdlib.oracledb.parameterprocessor.OracleDBStatementParameterProcessor"/>
<Bug pattern="SING_SINGLETON_HAS_NONPRIVATE_CONSTRUCTOR"/>
</Match>
</FindBugsFilter>
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ subprojects {
ballerinaStdLibs "io.ballerina.stdlib:observe-ballerina:${observeVersion}"
ballerinaStdLibs "io.ballerina:observe-ballerina:${observeInternalVersion}"
ballerinaStdLibs "io.ballerina.stdlib:oracledb.driver-ballerina:${stdlibOracledbDriverVersion}"
ballerinaStdLibs "io.ballerina.lib:data.jsondata-ballerina:${stdlibDataJsonDataVersion}"
}
}

Expand Down
9 changes: 6 additions & 3 deletions compiler-plugin-tests/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

sourceCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21

test {
systemProperty "ballerina.offline.flag", "true"
Expand Down Expand Up @@ -79,9 +79,12 @@ jacocoTestReport {
}

spotbugsTest {
def classLoader = plugins["com.github.spotbugs"].class.classLoader
def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence")
def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort")
effort = SpotBugsEffort.MAX
reportLevel = SpotBugsConfidence.LOW
ignoreFailures = true
effort = "max"
reportLevel = "low"
reportsDir = file("$project.buildDir/reports/spotbugs")
def excludeFile = file("${rootDir}/build-config/spotbugs-exclude.xml")
if (excludeFile.exists()) {
Expand Down
7 changes: 5 additions & 2 deletions compiler-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ checkstyle {
checkstyleMain.dependsOn(":checkstyle:downloadCheckstyleRuleFiles")

spotbugsMain {
effort "max"
reportLevel "low"
def classLoader = plugins["com.github.spotbugs"].class.classLoader
def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence")
def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort")
effort = SpotBugsEffort.MAX
reportLevel = SpotBugsConfidence.LOW
reportsDir = file("$project.buildDir/reports/spotbugs")
reports {
html.enabled true
Expand Down
47 changes: 24 additions & 23 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,58 @@ version=1.12.0-SNAPSHOT
puppycrawlCheckstyleVersion=10.12.1
oracleDBDriverVersion=23.2.0.0
checkstyleToolVersion=10.12.1
githubSpotbugsVersion=5.0.14
githubSpotbugsVersion=6.0.18
githubJohnrengelmanShadowVersion=8.1.1
underCouchDownloadVersion=5.4.0
researchgateReleaseVersion=2.8.0
testngVersion=7.6.1
ballerinaGradlePluginVersion=2.0.1

ballerinaLangVersion=2201.9.0-20240405-165800-4b163f78
ballerinaLangVersion=2201.11.0-20241117-133400-a3054b77

stdlibSqlVersion=1.13.0-20240410-111000-2cc6b6c
stdlibSqlVersion=1.15.0-20241116-124800-0bc6a40

# Direct Dependencies
# Level 01
stdlibIoVersion=1.6.0
stdlibTimeVersion=2.4.0
stdlibIoVersion=1.6.2-20241112-233100-995cf5f
stdlibTimeVersion=2.6.0-20241113-073800-201b904

# Level 02
stdlibLogVersion=2.9.0
stdlibOsVersion=1.8.0
stdlibLogVersion=2.10.1-20241113-120000-4577868
stdlibOsVersion=1.8.1-20241113-122000-cca973b

# Level 03
stdlibFileVersion=1.9.0
stdlibFileVersion=1.10.1-20241113-151700-e1a2e38

# Ballerinax Observer
observeVersion=1.2.3-20240408-194900-a0e331f
observeInternalVersion=1.2.2-20240408-195500-1436319
observeVersion=1.4.0-20241113-092000-b83ae74
observeInternalVersion=1.3.1-20241113-101700-265054d

# Transitive Dependencies
# Level 01
stdlibConstraintVersion=1.5.0
stdlibUrlVersion=2.4.0
stdlibConstraintVersion=1.6.0-20241113-090900-d276ad5
stdlibUrlVersion=2.4.1-20241113-073900-335ff51

# Level 02
stdlibCryptoVersion=2.7.0-20240328-114200-c8cc19f
stdlibTaskVersion=2.5.0
stdlibCryptoVersion=2.7.3-20241113-081400-d015a39
stdlibTaskVersion=2.5.1-20241113-123500-f905281

# Level 03
stdlibCacheVersion=3.8.0-20240409-101100-e2d7f4e
stdlibMimeVersion=2.9.0
stdlibUuidVersion=1.8.0-20240409-104400-2aaa58d
stdlibCacheVersion=3.8.1-20241113-125700-b75a1bf
stdlibMimeVersion=2.10.2-20241113-154200-d953747
stdlibUuidVersion=1.8.1-20241113-154400-443c67b

# Level 04
stdlibAuthVersion=2.11.0-20240409-124200-655c2d4
stdlibJwtVersion=2.11.0-20240409-134000-9b5bf2e
stdlibOAuth2Version=2.11.0-20240409-124200-15a9919
stdlibAuthVersion=2.12.1-20241113-162300-ded40eb
stdlibDataJsonDataVersion=0.3.0-20241114-143900-285d739
stdlibJwtVersion=2.13.1-20241113-162400-b59ccfa
stdlibOAuth2Version=2.12.1-20241113-162400-4c6ddfe

# Level 05
stdlibHttpVersion=2.11.0-20240409-155700-86d3a0d
stdlibHttpVersion=2.13.0-20241114-182900-7e9f66a

# Level 06
stdlibTransactionVersion=1.9.0-20240410-104900-57aec29
stdlibTransactionVersion=1.10.1-20241116-112500-189a4e5

# Ballerina extended library
stdlibOracledbDriverVersion=1.4.0
stdlibOracledbDriverVersion=1.4.1-20241205-112800-92d25df
9 changes: 6 additions & 3 deletions native/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

sourceCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21

jacoco {
toolVersion = "0.8.10"
Expand All @@ -64,8 +64,11 @@ test {
}

spotbugsMain {
effort = "max"
reportLevel = "low"
def classLoader = plugins["com.github.spotbugs"].class.classLoader
def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence")
def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort")
effort = SpotBugsEffort.MAX
reportLevel = SpotBugsConfidence.LOW
reportsDir = file("$project.buildDir/reports/spotbugs")
def excludeFile = file("${rootDir}/build-config/spotbugs-exclude.xml")
if (excludeFile.exists()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@

package io.ballerina.stdlib.oracledb.parameterprocessor;

import io.ballerina.runtime.api.PredefinedTypes;
import io.ballerina.runtime.api.TypeTags;
import io.ballerina.runtime.api.creators.TypeCreator;
import io.ballerina.runtime.api.creators.ValueCreator;
import io.ballerina.runtime.api.types.ArrayType;
import io.ballerina.runtime.api.types.Field;
import io.ballerina.runtime.api.types.PredefinedTypes;
import io.ballerina.runtime.api.types.RecordType;
import io.ballerina.runtime.api.types.StructureType;
import io.ballerina.runtime.api.types.Type;
import io.ballerina.runtime.api.types.TypeTags;
import io.ballerina.runtime.api.utils.StringUtils;
import io.ballerina.runtime.api.utils.TypeUtils;
import io.ballerina.runtime.api.utils.XmlUtils;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@

package io.ballerina.stdlib.oracledb.utils;

import io.ballerina.runtime.api.TypeTags;
import io.ballerina.runtime.api.constants.TypeConstants;
import io.ballerina.runtime.api.types.Field;
import io.ballerina.runtime.api.types.StructureType;
import io.ballerina.runtime.api.types.Type;
import io.ballerina.runtime.api.types.TypeTags;
import io.ballerina.runtime.api.utils.TypeUtils;
import io.ballerina.runtime.api.values.BArray;
import io.ballerina.runtime.api.values.BDecimal;
Expand Down

0 comments on commit ca5c77e

Please sign in to comment.