From cbf610dcb069990de1565dd2de1798bfde1a1177 Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Mon, 29 Apr 2024 12:36:51 +0400 Subject: [PATCH 1/6] Migrated to th2 gradle plugin: `0.0.6` --- .github/workflows/build-dev-release.yml | 15 +++++ .github/workflows/build-release.yml | 15 +++++ ...-docker-publish.yml => build-sanpshot.yml} | 5 +- .../workflows/dev-release-docker-publish.yml | 19 ------ ...lease-java-publish-sonatype-and-docker.yml | 22 ------- .github/workflows/docker-publish.yml | 20 ------ README.md | 10 ++- build.gradle | 63 +++++++++++++------ gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- supressions.xml | 10 +++ 11 files changed, 99 insertions(+), 84 deletions(-) create mode 100644 .github/workflows/build-dev-release.yml create mode 100644 .github/workflows/build-release.yml rename .github/workflows/{dev-docker-publish.yml => build-sanpshot.yml} (63%) delete mode 100644 .github/workflows/dev-release-docker-publish.yml delete mode 100644 .github/workflows/dev-release-java-publish-sonatype-and-docker.yml delete mode 100644 .github/workflows/docker-publish.yml create mode 100644 supressions.xml diff --git a/.github/workflows/build-dev-release.yml b/.github/workflows/build-dev-release.yml new file mode 100644 index 0000000..90e8c8c --- /dev/null +++ b/.github/workflows/build-dev-release.yml @@ -0,0 +1,15 @@ +name: Build and publish dev release Docker image to Github Container Registry ghcr.io and publish dev release jar to sonatype + +on: workflow_dispatch + +jobs: + build: + uses: th2-net/.github/.github/workflows/compound-java.yml@main + with: + build-target: 'Sonatype,Docker' + devRelease: true + createTag: true + docker-username: ${{ github.actor }} + secrets: + docker-password: ${{ secrets.GITHUB_TOKEN }} + nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..4f29004 --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,15 @@ +name: Build and publish release Docker image to Github Container Registry ghcr.io and publish release jar to sonatype + +on: workflow_dispatch + +jobs: + build: + uses: th2-net/.github/.github/workflows/compound-java.yml@main + with: + build-target: 'Sonatype,Docker' + devRelease: false + createTag: true + docker-username: ${{ github.actor }} + secrets: + docker-password: ${{ secrets.GITHUB_TOKEN }} + nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/.github/workflows/dev-docker-publish.yml b/.github/workflows/build-sanpshot.yml similarity index 63% rename from .github/workflows/dev-docker-publish.yml rename to .github/workflows/build-sanpshot.yml index 6f77755..78a3e04 100644 --- a/.github/workflows/dev-docker-publish.yml +++ b/.github/workflows/build-sanpshot.yml @@ -1,4 +1,4 @@ -name: Dev build and publish Docker distributions to Github Container Registry ghcr.io +name: Build and publish Docker image to Github Container Registry ghcr.io and publish snapshot jar to sonatype on: push: @@ -13,7 +13,8 @@ jobs: build-job: uses: th2-net/.github/.github/workflows/compound-java-dev.yml@main with: - build-target: 'Docker' + build-target: 'Sonatype,Docker' docker-username: ${{ github.actor }} secrets: docker-password: ${{ secrets.GITHUB_TOKEN }} + nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/.github/workflows/dev-release-docker-publish.yml b/.github/workflows/dev-release-docker-publish.yml deleted file mode 100644 index a0bbd32..0000000 --- a/.github/workflows/dev-release-docker-publish.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Build and publish Docker distributions to Github Container Registry ghcr.io - -on: - workflow_dispatch: - push: - branches: - - dev-version-* - paths: - - gradle.properties - -jobs: - build-job: - uses: th2-net/.github/.github/workflows/compound-java.yml@main - with: - build-target: 'Docker' - docker-username: ${{ github.actor }} - devRelease: true - secrets: - docker-password: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/dev-release-java-publish-sonatype-and-docker.yml b/.github/workflows/dev-release-java-publish-sonatype-and-docker.yml deleted file mode 100644 index 9c3e5df..0000000 --- a/.github/workflows/dev-release-java-publish-sonatype-and-docker.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Build and release Java distributions to sonatype. - -on: - push: - tags: - - \d+.\d+.\d+-dev - -jobs: - build: - uses: th2-net/.github/.github/workflows/compound-java.yml@main - with: - build-target: 'Sonatype,Docker' - runsOn: ubuntu-latest - gradleVersion: '7' - docker-username: ${{ github.actor }} - devRelease: true - secrets: - sonatypeUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} - sonatypePassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} - sonatypeSigningKey: ${{ secrets.SONATYPE_GPG_ARMORED_KEY }} - sonatypeSigningPassword: ${{ secrets.SONATYPE_SIGNING_PASSWORD }} - docker-password: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml deleted file mode 100644 index cec50a6..0000000 --- a/.github/workflows/docker-publish.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Build and publish Docker distributions to Github Container Registry ghcr.io - -on: - push: - branches: - - master - - version-* - paths: - - gradle.properties -# - package_info.json - -jobs: - build-job: - uses: th2-net/.github/.github/workflows/compound-java.yml@main - with: - build-target: 'Docker' - docker-username: ${{ github.actor }} - secrets: - docker-password: ${{ secrets.GITHUB_TOKEN }} - \ No newline at end of file diff --git a/README.md b/README.md index 1bd2093..5e7e24e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Csv codec (5.2.1) +# Csv codec (5.3.0) ## Description @@ -141,6 +141,14 @@ spec: ## Release notes +### 5.3.0 ++ Migrated to th2 gradle plugin: `0.0.6` ++ Updated: + + bom `4.6.1` + + common: `5.10.1-dev` + + common-utils: `2.2.3-dev` + + codec: `5.5.0-dev` + ### 5.2.1 + Updated common: `5.7.2-dev` diff --git a/build.gradle b/build.gradle index 3d71fc8..c1355f0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,32 +1,59 @@ -buildscript { - repositories { - gradlePluginPortal() - maven { - url = "https://s01.oss.sonatype.org/content/repositories/snapshots/" - } - } - dependencies { - classpath "com.exactpro.th2:th2-gradle-plugin:0.0.1-dev-5915772757-13a28ae-SNAPSHOT" - } +plugins { + id "org.jetbrains.kotlin.jvm" version "1.8.22" + id "org.jetbrains.kotlin.kapt" version "1.8.22" + id("java-library") + id("maven-publish") + + id "com.exactpro.th2.gradle.publish" version "0.0.6" + id "com.exactpro.th2.gradle.component" version "0.0.6" } -apply plugin: "com.exactpro.th2.common-conventions" -apply plugin: "com.exactpro.th2.docker-conventions" +group = 'com.exactpro.th2' +version = release_version -apply plugin: 'kotlin-kapt' +repositories { + mavenCentral() + maven { + name 'Sonatype_snapshots' + url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' + } + maven { + name 'Sonatype_releases' + url 'https://s01.oss.sonatype.org/content/repositories/releases/' + } + mavenLocal() + + configurations.configureEach { + resolutionStrategy.cacheChangingModulesFor 0, 'seconds' + resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' + } +} dependencies { - api platform("com.exactpro.th2:bom:4.5.0") - implementation "com.exactpro.th2:common:5.7.2-dev" - implementation "com.exactpro.th2:common-utils:2.2.2-dev" - implementation "com.exactpro.th2:codec:5.4.1-dev" + implementation "com.exactpro.th2:common:5.10.1-dev" + implementation "com.exactpro.th2:common-utils:2.2.3-dev" + implementation "com.exactpro.th2:codec:5.5.0-th2-gradle-plugin-+" implementation "org.apache.commons:commons-lang3" implementation "com.fasterxml.jackson.core:jackson-databind" implementation "net.sourceforge.javacsv:javacsv:2.0" + implementation "io.github.microutils:kotlin-logging:3.0.5" + compileOnly "com.google.auto.service:auto-service-annotations:1.1.1" - annotationProcessor "com.google.auto.service:auto-service:1.1.1" kapt "com.google.auto.service:auto-service:1.1.1" + + testImplementation "org.jetbrains.kotlin:kotlin-test-junit" + testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2' + testImplementation 'org.mockito.kotlin:mockito-kotlin:5.3.1' + testImplementation 'io.strikt:strikt-core:0.34.1' +} + +test { + useJUnitPlatform() +} + +dependencyCheck { + suppressionFile='supressions.xml' } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 530077f..8a36217 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -release_version=5.2.1 +release_version=5.3.0 app_main_class=com.exactpro.th2.codec.MainKt diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c34b2dc..6c9fe73 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip diff --git a/supressions.xml b/supressions.xml new file mode 100644 index 0000000..0c032ab --- /dev/null +++ b/supressions.xml @@ -0,0 +1,10 @@ + + + + + + + ^pkg:maven/com\.exactpro\.th2/grpc-.*@.*$ + cpe:/a:grpc:grpc + + \ No newline at end of file From b18e6577bab852d3ae50ff4d0a77ae6671f08dee Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Mon, 29 Apr 2024 19:23:14 +0400 Subject: [PATCH 2/6] Updated workflow --- .github/workflows/build-dev-release.yml | 4 ++++ .github/workflows/build-release.yml | 4 ++++ .github/workflows/build-sanpshot.yml | 4 ++++ build.gradle | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/.github/workflows/build-dev-release.yml b/.github/workflows/build-dev-release.yml index 90e8c8c..6cc5c82 100644 --- a/.github/workflows/build-dev-release.yml +++ b/.github/workflows/build-dev-release.yml @@ -12,4 +12,8 @@ jobs: docker-username: ${{ github.actor }} secrets: docker-password: ${{ secrets.GITHUB_TOKEN }} + sonatypeUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + sonatypePassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + sonatypeSigningKey: ${{ secrets.SONATYPE_GPG_ARMORED_KEY }} + sonatypeSigningPassword: ${{ secrets.SONATYPE_SIGNING_PASSWORD }} nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 4f29004..9251e4e 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -12,4 +12,8 @@ jobs: docker-username: ${{ github.actor }} secrets: docker-password: ${{ secrets.GITHUB_TOKEN }} + sonatypeUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + sonatypePassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + sonatypeSigningKey: ${{ secrets.SONATYPE_GPG_ARMORED_KEY }} + sonatypeSigningPassword: ${{ secrets.SONATYPE_SIGNING_PASSWORD }} nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/.github/workflows/build-sanpshot.yml b/.github/workflows/build-sanpshot.yml index 78a3e04..fc014bf 100644 --- a/.github/workflows/build-sanpshot.yml +++ b/.github/workflows/build-sanpshot.yml @@ -17,4 +17,8 @@ jobs: docker-username: ${{ github.actor }} secrets: docker-password: ${{ secrets.GITHUB_TOKEN }} + sonatypeUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} + sonatypePassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} + sonatypeSigningKey: ${{ secrets.SONATYPE_GPG_ARMORED_KEY }} + sonatypeSigningPassword: ${{ secrets.SONATYPE_SIGNING_PASSWORD }} nvd-api-key: ${{ secrets.NVD_APIKEY }} \ No newline at end of file diff --git a/build.gradle b/build.gradle index c1355f0..1bbd0a6 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,10 @@ plugins { group = 'com.exactpro.th2' version = release_version +kotlin { + jvmToolchain(11) +} + repositories { mavenCentral() maven { From 0cfe6a6f0b2cdbe8786c901170a8fa18a46aa8c4 Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Mon, 29 Apr 2024 19:33:42 +0400 Subject: [PATCH 3/6] Added main class --- build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.gradle b/build.gradle index 1bbd0a6..9d02a46 100644 --- a/build.gradle +++ b/build.gradle @@ -54,6 +54,11 @@ dependencies { testImplementation 'io.strikt:strikt-core:0.34.1' } +application { + applicationName = "service" + mainClass.set("com.exactpro.th2.codec.MainKt") +} + test { useJUnitPlatform() } From d01ae34f824607a586ee6313a9aeea791e3cfa74 Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Tue, 30 Apr 2024 10:17:36 +0400 Subject: [PATCH 4/6] corrected after review --- gradle.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8a36217..0752ea5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1 @@ -release_version=5.3.0 -app_main_class=com.exactpro.th2.codec.MainKt +release_version=5.3.0 \ No newline at end of file From 2ad6a566d978f595dd8f4457c37cba8e798680bb Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Tue, 30 Apr 2024 10:33:12 +0400 Subject: [PATCH 5/6] Removed redundant application name from build gradle --- build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9d02a46..5d5382e 100644 --- a/build.gradle +++ b/build.gradle @@ -55,7 +55,6 @@ dependencies { } application { - applicationName = "service" mainClass.set("com.exactpro.th2.codec.MainKt") } From 1169b1bbc198a58d3e6bfce396ea8b724c45a6ae Mon Sep 17 00:00:00 2001 From: "nikita.smirnov" Date: Wed, 1 May 2024 12:31:18 +0400 Subject: [PATCH 6/6] Migrated to release version codec:5.5.0-dev --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 5d5382e..a7cc66e 100644 --- a/build.gradle +++ b/build.gradle @@ -36,7 +36,7 @@ repositories { dependencies { implementation "com.exactpro.th2:common:5.10.1-dev" implementation "com.exactpro.th2:common-utils:2.2.3-dev" - implementation "com.exactpro.th2:codec:5.5.0-th2-gradle-plugin-+" + implementation "com.exactpro.th2:codec:5.5.0-dev" implementation "org.apache.commons:commons-lang3" implementation "com.fasterxml.jackson.core:jackson-databind"