diff --git a/build.gradle b/build.gradle
index 7f930d4..4f7176d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,6 +7,7 @@ plugins {
id "java"
id 'maven-publish'
id "org.openapi.generator" version "7.0.1"
+ id 'net.researchgate.release' version '3.0.2'
}
group build_group
@@ -21,10 +22,12 @@ repositories {
}
java {
- sourceCompatibility = "17"
- targetCompatibility = "17"
+ sourceCompatibility = "8"
+ targetCompatibility = "8"
}
+
+
def loadSpecConfig() {
def configJson = "[" + file('spec.config').text + "]"
@@ -84,26 +87,42 @@ tasks.openApiValidate.configure {
dependsOn(validateSpec)
}
+release {
+ // Configure release parameters
+ failOnSnapshotDependencies = true
+
+ // Custom tasks before release
+ preTagCommitMessage = 'Pre tag commit: '
+ tagCommitMessage = 'Creating tag: '
+ newVersionCommitMessage = 'New version commit: '
+}
+
publishing {
repositories {
maven {
- url artifactory_publish_url
- credentials {
- username System.env.CODEARTIFACT_USER
- password System.env.CODEARTIFACT_AUTH_TOKEN
- }
+ url = uri("${project.rootDir}/local-maven-repo")
}
}
publications {
mavenJava(MavenPublication) {
- groupId = project.group
- artifactId = rootProject.name
- version = project.version
from components.java
}
}
}
+tasks.register("releaseClean") {
+ doLast {
+ // Clean up release-related files
+ delete(fileTree(project.rootDir) {
+ include("release.properties", "gradle.properties.backup")
+ })
+ }
+}
+
+// Ensure publish task runs after release
+afterReleaseBuild.dependsOn(tasks.publish)
+
+
//As of now we have to keep following dependencies to generate build with generated sources
dependencies {
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
@@ -119,4 +138,9 @@ dependencies {
testImplementation 'org.mockito:mockito-core:5.6.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
+
+ // Add equivalent dependencies from POM
+ implementation 'org.json:json:20231013'
+ implementation 'commons-codec:commons-codec:1.16.0'
+
}
diff --git a/gradle.properties b/gradle.properties
index 00c8470..dd0ca2e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,7 +2,6 @@
sonar_project_key=chargebee_cb-provider-spi
build_project_name=cb-provider-spi
build_group=org.chargebee.spi
-build_version=0.0.11
-# Artifactory config to be controlled at build time by CI/CD
-artifactory_build_url=https://artifactory.url/maven/build
-artifactory_publish_url=https://artifactory.url/maven/publish
+build_version=0.0.12
+org.gradle.java.home=/Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home
+
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.md5 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.md5
new file mode 100644
index 0000000..1b33328
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.md5
@@ -0,0 +1 @@
+25ed3c144d99f6281d6844168074d79e
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha1 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha1
new file mode 100644
index 0000000..5bc95ba
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha1
@@ -0,0 +1 @@
+aef6fe8f17eb75536eda9b1f126f240311e4b098
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha256 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha256
new file mode 100644
index 0000000..b4842f3
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha256
@@ -0,0 +1 @@
+2df9387ec6e8e008903cac489b09ae164754840a9acfb5dcfeaca737416674b1
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha512 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha512
new file mode 100644
index 0000000..9d2ca51
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.jar.sha512
@@ -0,0 +1 @@
+e831ce28b3e8f36b18de9584e0f9ac60014b16963bbc245b40f62e078c9a0560c8792c4d009c635cd23edbeb1c3408fec41ff57cea04c16fbd15026e35b9d822
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module
new file mode 100644
index 0000000..17a7bf6
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module
@@ -0,0 +1,146 @@
+{
+ "formatVersion": "1.1",
+ "component": {
+ "group": "org.chargebee.spi",
+ "module": "cb-provider-spi",
+ "version": "0.0.12",
+ "attributes": {
+ "org.gradle.status": "release"
+ }
+ },
+ "createdBy": {
+ "gradle": {
+ "version": "8.2.1"
+ }
+ },
+ "variants": [
+ {
+ "name": "apiElements",
+ "attributes": {
+ "org.gradle.category": "library",
+ "org.gradle.dependency.bundling": "external",
+ "org.gradle.jvm.version": 8,
+ "org.gradle.libraryelements": "jar",
+ "org.gradle.usage": "java-api"
+ },
+ "files": [
+ {
+ "name": "cb-provider-spi-0.0.12.jar",
+ "url": "cb-provider-spi-0.0.12.jar",
+ "size": 543721,
+ "sha512": "e831ce28b3e8f36b18de9584e0f9ac60014b16963bbc245b40f62e078c9a0560c8792c4d009c635cd23edbeb1c3408fec41ff57cea04c16fbd15026e35b9d822",
+ "sha256": "2df9387ec6e8e008903cac489b09ae164754840a9acfb5dcfeaca737416674b1",
+ "sha1": "aef6fe8f17eb75536eda9b1f126f240311e4b098",
+ "md5": "25ed3c144d99f6281d6844168074d79e"
+ }
+ ]
+ },
+ {
+ "name": "runtimeElements",
+ "attributes": {
+ "org.gradle.category": "library",
+ "org.gradle.dependency.bundling": "external",
+ "org.gradle.jvm.version": 8,
+ "org.gradle.libraryelements": "jar",
+ "org.gradle.usage": "java-runtime"
+ },
+ "dependencies": [
+ {
+ "group": "com.squareup.okhttp3",
+ "module": "okhttp",
+ "version": {
+ "requires": "4.12.0"
+ }
+ },
+ {
+ "group": "com.squareup.okhttp3",
+ "module": "logging-interceptor",
+ "version": {
+ "requires": "4.12.0"
+ }
+ },
+ {
+ "group": "com.google.code.gson",
+ "module": "gson",
+ "version": {
+ "requires": "2.10.1"
+ }
+ },
+ {
+ "group": "com.google.code.findbugs",
+ "module": "jsr305",
+ "version": {
+ "requires": "3.0.2"
+ }
+ },
+ {
+ "group": "io.gsonfire",
+ "module": "gson-fire",
+ "version": {
+ "requires": "1.8.5"
+ }
+ },
+ {
+ "group": "javax.ws.rs",
+ "module": "jsr311-api",
+ "version": {
+ "requires": "1.1.1"
+ }
+ },
+ {
+ "group": "javax.ws.rs",
+ "module": "javax.ws.rs-api",
+ "version": {
+ "requires": "2.1.1"
+ }
+ },
+ {
+ "group": "com.fasterxml.jackson.core",
+ "module": "jackson-core",
+ "version": {
+ "requires": "2.15.0"
+ }
+ },
+ {
+ "group": "org.apache.commons",
+ "module": "commons-lang3",
+ "version": {
+ "requires": "3.13.0"
+ }
+ },
+ {
+ "group": "jakarta.annotation",
+ "module": "jakarta.annotation-api",
+ "version": {
+ "requires": "1.3.5"
+ }
+ },
+ {
+ "group": "org.json",
+ "module": "json",
+ "version": {
+ "requires": "20231013"
+ }
+ },
+ {
+ "group": "commons-codec",
+ "module": "commons-codec",
+ "version": {
+ "requires": "1.16.0"
+ }
+ }
+ ],
+ "files": [
+ {
+ "name": "cb-provider-spi-0.0.12.jar",
+ "url": "cb-provider-spi-0.0.12.jar",
+ "size": 543721,
+ "sha512": "e831ce28b3e8f36b18de9584e0f9ac60014b16963bbc245b40f62e078c9a0560c8792c4d009c635cd23edbeb1c3408fec41ff57cea04c16fbd15026e35b9d822",
+ "sha256": "2df9387ec6e8e008903cac489b09ae164754840a9acfb5dcfeaca737416674b1",
+ "sha1": "aef6fe8f17eb75536eda9b1f126f240311e4b098",
+ "md5": "25ed3c144d99f6281d6844168074d79e"
+ }
+ ]
+ }
+ ]
+}
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.md5 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.md5
new file mode 100644
index 0000000..e6dcfee
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.md5
@@ -0,0 +1 @@
+45a86b42d07b10dd5f51e1ac03bdd5a5
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha1 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha1
new file mode 100644
index 0000000..2099e8d
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha1
@@ -0,0 +1 @@
+0cb2ee163bf0b9d5b79d11051d1190207c9c6526
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha256 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha256
new file mode 100644
index 0000000..aab5ea2
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha256
@@ -0,0 +1 @@
+9464d23f02f1fca98848379e609ad5afcd17c5bcfc0b919e9a9e204a3b131a17
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha512 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha512
new file mode 100644
index 0000000..9d427c6
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.module.sha512
@@ -0,0 +1 @@
+56fd05ad2f9b4df03a5d23abf4ef020c413bc8dcf5b5946f34f5f06ad72e53374ba94c2bc13430b3df8a09cf4e19554432d66d5084e79eb1a9873388d2ea09ae
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom
new file mode 100644
index 0000000..d0de1a8
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+ 4.0.0
+ org.chargebee.spi
+ cb-provider-spi
+ 0.0.12
+
+
+ com.squareup.okhttp3
+ okhttp
+ 4.12.0
+ runtime
+
+
+ com.squareup.okhttp3
+ logging-interceptor
+ 4.12.0
+ runtime
+
+
+ com.google.code.gson
+ gson
+ 2.10.1
+ runtime
+
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+ runtime
+
+
+ io.gsonfire
+ gson-fire
+ 1.8.5
+ runtime
+
+
+ javax.ws.rs
+ jsr311-api
+ 1.1.1
+ runtime
+
+
+ javax.ws.rs
+ javax.ws.rs-api
+ 2.1.1
+ runtime
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ 2.15.0
+ runtime
+
+
+ org.apache.commons
+ commons-lang3
+ 3.13.0
+ runtime
+
+
+ jakarta.annotation
+ jakarta.annotation-api
+ 1.3.5
+ runtime
+
+
+ org.json
+ json
+ 20231013
+ runtime
+
+
+ commons-codec
+ commons-codec
+ 1.16.0
+ runtime
+
+
+
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.md5 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.md5
new file mode 100644
index 0000000..d95b4cc
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.md5
@@ -0,0 +1 @@
+2de883775d55f19380b459d06623315e
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha1 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha1
new file mode 100644
index 0000000..2415c9a
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha1
@@ -0,0 +1 @@
+aa92a8dc02701ed61052f36c01373eef3740a174
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha256 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha256
new file mode 100644
index 0000000..6438d10
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha256
@@ -0,0 +1 @@
+382ffc406c36977366c693a73882198dde04f9e231f0c5fccd9debfea3d77042
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha512 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha512
new file mode 100644
index 0000000..5482f54
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/0.0.12/cb-provider-spi-0.0.12.pom.sha512
@@ -0,0 +1 @@
+0521955cacfba4758adc934de22c606c60bbb5b2af951cf98e7e1e7beaaaa4ebf5b32745ec522794434fc6ab18d32885d931e7bfcacc4f863c59032b28669d3d
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml
new file mode 100644
index 0000000..032cad3
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml
@@ -0,0 +1,13 @@
+
+
+ org.chargebee.spi
+ cb-provider-spi
+
+ 0.0.12
+ 0.0.12
+
+ 0.0.12
+
+ 20241216051021
+
+
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.md5 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.md5
new file mode 100644
index 0000000..87567d0
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.md5
@@ -0,0 +1 @@
+cba7df9c014e9353ba9537005c9458f9
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha1 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha1
new file mode 100644
index 0000000..c95e19d
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+7990f465650a737a66b349091d3abf482f41fd41
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha256 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha256
new file mode 100644
index 0000000..3d5d13b
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha256
@@ -0,0 +1 @@
+93d6de5009031aac46b2795bf678989654b05d2035e1ac13a0c6bb069cfa5994
\ No newline at end of file
diff --git a/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha512 b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha512
new file mode 100644
index 0000000..aec98ac
--- /dev/null
+++ b/local-maven-repo/org/chargebee/spi/cb-provider-spi/maven-metadata.xml.sha512
@@ -0,0 +1 @@
+c59f87fc4849d480abcaa7c7331f1f7c76f4f488bc41e0577643dcd574aacd464070d695662bee6699895b1e3bd99296302f6f8fe476f6b4883625a3720620bd
\ No newline at end of file
diff --git a/release.sh b/release.sh
new file mode 100644
index 0000000..e88c158
--- /dev/null
+++ b/release.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+release_gradle() {
+ # Clean any previous release artifacts
+ ./gradlew releaseClean
+
+ # Prepare the release
+ # This will:
+ # 1. Remove SNAPSHOT from version
+ # 2. Create a git tag
+ # 3. Commit version changes
+ ./gradlew release
+
+ # Publish to local Maven repository
+ ./gradlew publish
+
+ # Optional: Push tags to remote repository
+ git push --tags
+}
+
+# Run the release function
+release_gradle
\ No newline at end of file