From 2a4d5014b0d3c5de77e9e782c88711f5662b80cd Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 16:41:33 +0200 Subject: [PATCH 01/13] Avoid double patch-bump As shown in https://github.com/atlassian-labs/gradle-release/pull/6 --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd7a96f4..81a32337 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,6 +81,8 @@ jobs: atlassian_private_username: ${{ steps.publish-token.outputs.artifactoryUsername }} atlassian_private_password: ${{ steps.publish-token.outputs.artifactoryApiKey }} run: | - ./gradlew markNextVersion -Prelease.incrementer=increment${{ github.event.inputs.release }} -Prelease.localOnly - ./gradlew release -Prelease.customUsername=${{ github.actor }} -Prelease.customPassword=${{ github.token }} + ./gradlew release \ + -Prelease.customUsername=${{ github.actor }} \ + -Prelease.customPassword=${{ github.token }} \ + -Prelease.incrementer=increment${{ github.event.inputs.release }} ./gradlew publish From e941c468e8a8c9e89fb9e0523416022b5359198a Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 16:50:52 +0200 Subject: [PATCH 02/13] Bump to Gradle 7 Bump via `./gradlew wrapper`, then bump the Gradle plugins, then rewrite the locks, then switch buildscans to develocity. --- build.gradle.kts | 13 +- gradle.lockfile | 152 ++++++++++++++++ .../annotationProcessor.lockfile | 3 - .../apiDependenciesMetadata.lockfile | 115 ------------ gradle/dependency-locks/archives.lockfile | 3 - gradle/dependency-locks/compile.lockfile | 3 - .../compileClasspath.lockfile | 74 -------- gradle/dependency-locks/compileOnly.lockfile | 3 - .../compileOnlyDependenciesMetadata.lockfile | 3 - gradle/dependency-locks/default.lockfile | 121 ------------- ...mplementationDependenciesMetadata.lockfile | 121 ------------- gradle/dependency-locks/kapt.lockfile | 3 - gradle/dependency-locks/kaptTest.lockfile | 3 - .../kotlinCompilerClasspath.lockfile | 9 - .../kotlinCompilerPluginClasspath.lockfile | 4 - gradle/dependency-locks/runtime.lockfile | 3 - .../runtimeClasspath.lockfile | 121 ------------- .../runtimeOnlyDependenciesMetadata.lockfile | 3 - gradle/dependency-locks/signatures.lockfile | 3 - .../testAnnotationProcessor.lockfile | 3 - .../testApiDependenciesMetadata.lockfile | 7 - gradle/dependency-locks/testCompile.lockfile | 7 - .../testCompileClasspath.lockfile | 78 -------- .../dependency-locks/testCompileOnly.lockfile | 3 - ...stCompileOnlyDependenciesMetadata.lockfile | 3 - ...mplementationDependenciesMetadata.lockfile | 125 ------------- gradle/dependency-locks/testRuntime.lockfile | 7 - .../testRuntimeClasspath.lockfile | 125 ------------- ...stRuntimeOnlyDependenciesMetadata.lockfile | 3 - gradle/wrapper/gradle-wrapper.jar | Bin 54227 -> 55190 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 8 +- gradlew.bat | 168 +++++++++--------- settings.gradle.kts | 13 +- 34 files changed, 256 insertions(+), 1057 deletions(-) create mode 100644 gradle.lockfile delete mode 100644 gradle/dependency-locks/annotationProcessor.lockfile delete mode 100644 gradle/dependency-locks/apiDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/archives.lockfile delete mode 100644 gradle/dependency-locks/compile.lockfile delete mode 100644 gradle/dependency-locks/compileClasspath.lockfile delete mode 100644 gradle/dependency-locks/compileOnly.lockfile delete mode 100644 gradle/dependency-locks/compileOnlyDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/default.lockfile delete mode 100644 gradle/dependency-locks/implementationDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/kapt.lockfile delete mode 100644 gradle/dependency-locks/kaptTest.lockfile delete mode 100644 gradle/dependency-locks/kotlinCompilerClasspath.lockfile delete mode 100644 gradle/dependency-locks/kotlinCompilerPluginClasspath.lockfile delete mode 100644 gradle/dependency-locks/runtime.lockfile delete mode 100644 gradle/dependency-locks/runtimeClasspath.lockfile delete mode 100644 gradle/dependency-locks/runtimeOnlyDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/signatures.lockfile delete mode 100644 gradle/dependency-locks/testAnnotationProcessor.lockfile delete mode 100644 gradle/dependency-locks/testApiDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/testCompile.lockfile delete mode 100644 gradle/dependency-locks/testCompileClasspath.lockfile delete mode 100644 gradle/dependency-locks/testCompileOnly.lockfile delete mode 100644 gradle/dependency-locks/testCompileOnlyDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/testImplementationDependenciesMetadata.lockfile delete mode 100644 gradle/dependency-locks/testRuntime.lockfile delete mode 100644 gradle/dependency-locks/testRuntimeClasspath.lockfile delete mode 100644 gradle/dependency-locks/testRuntimeOnlyDependenciesMetadata.lockfile diff --git a/build.gradle.kts b/build.gradle.kts index 53bba63c..5c500aaf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,16 +5,9 @@ val kotlinVersion = "1.2.70" val log4jVersion = "2.17.2" plugins { - kotlin("jvm").version("1.2.70") + id("com.atlassian.performance.tools.gradle-release").version("0.9.0") + kotlin("jvm").version("1.3.20") `java-library` - id("com.atlassian.performance.tools.gradle-release").version("0.7.1") - id("com.gradle.build-scan").version("2.4.2") -} - -buildScan { - termsOfServiceUrl = "https://gradle.com/terms-of-service" - termsOfServiceAgree = "yes" - publishAlways() } configurations.all { @@ -90,7 +83,7 @@ val testIntegration = task("testIntegration") { tasks["check"].dependsOn(testIntegration) tasks.getByName("wrapper", Wrapper::class).apply { - gradleVersion = "5.2.1" + gradleVersion = "7.6.3" distributionType = Wrapper.DistributionType.ALL } diff --git a/gradle.lockfile b/gradle.lockfile new file mode 100644 index 00000000..12f6d217 --- /dev/null +++ b/gradle.lockfile @@ -0,0 +1,152 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +com.amazonaws:aws-java-sdk-cloudformation:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-core:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-ec2:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-iam:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-kms:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-rds:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-s3:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-sts:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:aws-java-sdk-support:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.amazonaws:jmespath-java:1.11.817=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.data:random-data:1.4.3=runtimeClasspath,testRuntimeClasspath +com.atlassian.performance.tools:aws-resources:1.17.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:concurrency:1.3.0=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:infrastructure:4.29.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:io:1.2.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:jira-actions:3.28.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:jira-software-actions:1.5.1=runtimeClasspath,testRuntimeClasspath +com.atlassian.performance.tools:jvm-tasks:1.4.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:ssh:2.4.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:virtual-users:3.16.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance.tools:workspace:2.0.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.atlassian.performance:selenium-js:1.0.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-annotations:2.6.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.9.4=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-databind:2.6.7.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.7=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.7=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.module:jackson-module-kotlin:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson:jackson-bom:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.woodstox:woodstox-core:6.2.4=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +com.github.stephenc.jcip:jcip-annotations:1.0-1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.google.code.findbugs:jsr305:1.3.9=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.google.code.gson:gson:2.8.2=runtimeClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.1.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.google.guava:guava:23.6-jre=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.googlecode.javaewah:JavaEWAH:1.1.6=runtimeClasspath,testRuntimeClasspath +com.hierynomus:sshj:0.23.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.jcraft:jsch:0.1.54=runtimeClasspath,testRuntimeClasspath +com.jcraft:jzlib:1.1.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.squareup.okhttp3:okhttp:3.11.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.squareup.okio:okio:1.14.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.sun.istack:istack-commons-runtime:3.0.5=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.sun.xml.fastinfoset:FastInfoset:1.2.13=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.typesafe:config:1.2.1=runtimeClasspath,testRuntimeClasspath +commons-cli:commons-cli:1.4=runtimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.11=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +commons-io:commons-io:2.5=runtimeClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +io.github.bonigarcia:webdrivermanager:1.7.1=runtimeClasspath,testRuntimeClasspath +jakarta.activation:jakarta.activation-api:1.2.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +javax.inject:javax.inject:1=runtimeClasspath,testRuntimeClasspath +javax.json:javax.json-api:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +javax.xml.bind:jaxb-api:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +joda-time:joda-time:2.8.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +junit:junit:4.12=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.8.15=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +net.i2p.crypto:eddsa:0.2.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.commons:commons-compress:1.9=runtimeClasspath,testRuntimeClasspath +org.apache.commons:commons-csv:1.3=runtimeClasspath,testRuntimeClasspath +org.apache.commons:commons-exec:1.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.commons:commons-lang3:3.5=runtimeClasspath,testRuntimeClasspath +org.apache.commons:commons-math3:3.6.1=runtimeClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpclient:4.5.13=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.httpcomponents:httpcore:4.4.9=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.17.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.logging.log4j:log4j-core:2.17.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.logging.log4j:log4j-jcl:2.17.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.logging.log4j:log4j-jul:2.17.2=runtimeClasspath,testRuntimeClasspath +org.apache.logging.log4j:log4j-slf4j-impl:2.17.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-api:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-impl:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-spi:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.resolver:maven-resolver-util:1.1.0=runtimeClasspath,testRuntimeClasspath +org.apache.maven.wagon:wagon-file:2.12=runtimeClasspath,testRuntimeClasspath +org.apache.maven.wagon:wagon-http-lightweight:2.12=runtimeClasspath,testRuntimeClasspath +org.apache.maven.wagon:wagon-http-shared:2.12=runtimeClasspath,testRuntimeClasspath +org.apache.maven.wagon:wagon-provider-api:2.12=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-artifact:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-builder-support:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-model-builder:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-model:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-repository-metadata:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-resolver-provider:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-settings-builder:3.5.2=runtimeClasspath,testRuntimeClasspath +org.apache.maven:maven-settings:3.5.2=runtimeClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.11.1=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +org.bouncycastle:bcpkix-jdk15on:1.56=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.bouncycastle:bcprov-jdk15on:1.56=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.checkerframework:checker-compat-qual:2.0.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.14=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.codehaus.plexus:plexus-component-annotations:1.7.1=runtimeClasspath,testRuntimeClasspath +org.codehaus.plexus:plexus-interpolation:1.24=runtimeClasspath,testRuntimeClasspath +org.codehaus.plexus:plexus-utils:3.1.0=runtimeClasspath,testRuntimeClasspath +org.codehaus.woodstox:stax2-api:4.2.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r=runtimeClasspath,testRuntimeClasspath +org.freemarker:freemarker:2.3.31=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.glassfish.jaxb:jaxb-core:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.glassfish.jaxb:jaxb-runtime:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.glassfish.jaxb:txw2:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.glassfish:javax.json:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.hamcrest:hamcrest-core:1.3=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +org.hamcrest:hamcrest-library:1.3=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3=runtimeClasspath,testRuntimeClasspath +org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3=runtimeClasspath,testRuntimeClasspath +org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3=runtimeClasspath,testRuntimeClasspath +org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3=runtimeClasspath,testRuntimeClasspath +org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3=runtimeClasspath,testRuntimeClasspath +org.jetbrains.dokka:dokka-analysis:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:dokka-base:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:dokka-core:1.7.20=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +org.jetbrains.dokka:kotlin-analysis-compiler:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:kotlin-analysis-intellij:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.70=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.2.70=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-script-runtime:1.2.70=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.70=kotlinCompilerPluginClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.5=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin +org.jetbrains:annotations:13.0=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains:markdown-jvm:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +org.jetbrains:markdown:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime +org.jsoup:jsoup:1.10.2=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,runtimeClasspath,testRuntimeClasspath +org.jvnet.staxex:stax-ex:1.7.8=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.rauschig:jarchivelib:0.7.1=runtimeClasspath,testRuntimeClasspath +org.seleniumhq.selenium:selenium-api:3.141.59=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.seleniumhq.selenium:selenium-chrome-driver:3.141.59=runtimeClasspath,testRuntimeClasspath +org.seleniumhq.selenium:selenium-remote-driver:3.141.59=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.seleniumhq.selenium:selenium-support:3.141.59=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.slf4j:slf4j-api:1.8.0-alpha2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.sonatype.plexus:plexus-cipher:1.4=runtimeClasspath,testRuntimeClasspath +org.sonatype.plexus:plexus-sec-dispatcher:1.4=runtimeClasspath,testRuntimeClasspath +org.yaml:snakeyaml:1.18=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +software.amazon.ion:ion-java:1.0.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,dokkaPlugin,dokkaRuntime,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntimeOnlyDependenciesMetadata diff --git a/gradle/dependency-locks/annotationProcessor.lockfile b/gradle/dependency-locks/annotationProcessor.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/annotationProcessor.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/apiDependenciesMetadata.lockfile b/gradle/dependency-locks/apiDependenciesMetadata.lockfile deleted file mode 100644 index 849cea83..00000000 --- a/gradle/dependency-locks/apiDependenciesMetadata.lockfile +++ /dev/null @@ -1,115 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.hierynomus:sshj:0.23.0 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/archives.lockfile b/gradle/dependency-locks/archives.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/archives.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/compile.lockfile b/gradle/dependency-locks/compile.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/compile.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/compileClasspath.lockfile b/gradle/dependency-locks/compileClasspath.lockfile deleted file mode 100644 index 959dc855..00000000 --- a/gradle/dependency-locks/compileClasspath.lockfile +++ /dev/null @@ -1,74 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.hierynomus:sshj:0.23.0 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -commons-codec:commons-codec:1.11 -commons-logging:commons-logging:1.2 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-exec:1.3 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jvnet.staxex:stax-ex:1.7.8 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/compileOnly.lockfile b/gradle/dependency-locks/compileOnly.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/compileOnly.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/compileOnlyDependenciesMetadata.lockfile b/gradle/dependency-locks/compileOnlyDependenciesMetadata.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/compileOnlyDependenciesMetadata.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/default.lockfile b/gradle/dependency-locks/default.lockfile deleted file mode 100644 index 25461ce8..00000000 --- a/gradle/dependency-locks/default.lockfile +++ /dev/null @@ -1,121 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.googlecode.javaewah:JavaEWAH:1.1.6 -com.hierynomus:sshj:0.23.0 -com.jcraft:jsch:0.1.54 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/implementationDependenciesMetadata.lockfile b/gradle/dependency-locks/implementationDependenciesMetadata.lockfile deleted file mode 100644 index 25461ce8..00000000 --- a/gradle/dependency-locks/implementationDependenciesMetadata.lockfile +++ /dev/null @@ -1,121 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.googlecode.javaewah:JavaEWAH:1.1.6 -com.hierynomus:sshj:0.23.0 -com.jcraft:jsch:0.1.54 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/kapt.lockfile b/gradle/dependency-locks/kapt.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/kapt.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/kaptTest.lockfile b/gradle/dependency-locks/kaptTest.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/kaptTest.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/kotlinCompilerClasspath.lockfile b/gradle/dependency-locks/kotlinCompilerClasspath.lockfile deleted file mode 100644 index dc23d230..00000000 --- a/gradle/dependency-locks/kotlinCompilerClasspath.lockfile +++ /dev/null @@ -1,9 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.70 -org.jetbrains.kotlin:kotlin-reflect:1.2.70 -org.jetbrains.kotlin:kotlin-script-runtime:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 diff --git a/gradle/dependency-locks/kotlinCompilerPluginClasspath.lockfile b/gradle/dependency-locks/kotlinCompilerPluginClasspath.lockfile deleted file mode 100644 index 52c15f64..00000000 --- a/gradle/dependency-locks/kotlinCompilerPluginClasspath.lockfile +++ /dev/null @@ -1,4 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.70 diff --git a/gradle/dependency-locks/runtime.lockfile b/gradle/dependency-locks/runtime.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/runtime.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/runtimeClasspath.lockfile b/gradle/dependency-locks/runtimeClasspath.lockfile deleted file mode 100644 index 25461ce8..00000000 --- a/gradle/dependency-locks/runtimeClasspath.lockfile +++ /dev/null @@ -1,121 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.googlecode.javaewah:JavaEWAH:1.1.6 -com.hierynomus:sshj:0.23.0 -com.jcraft:jsch:0.1.54 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/runtimeOnlyDependenciesMetadata.lockfile b/gradle/dependency-locks/runtimeOnlyDependenciesMetadata.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/runtimeOnlyDependenciesMetadata.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/signatures.lockfile b/gradle/dependency-locks/signatures.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/signatures.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/testAnnotationProcessor.lockfile b/gradle/dependency-locks/testAnnotationProcessor.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/testAnnotationProcessor.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/testApiDependenciesMetadata.lockfile b/gradle/dependency-locks/testApiDependenciesMetadata.lockfile deleted file mode 100644 index ce753991..00000000 --- a/gradle/dependency-locks/testApiDependenciesMetadata.lockfile +++ /dev/null @@ -1,7 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -junit:junit:4.12 -org.assertj:assertj-core:3.11.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 diff --git a/gradle/dependency-locks/testCompile.lockfile b/gradle/dependency-locks/testCompile.lockfile deleted file mode 100644 index ce753991..00000000 --- a/gradle/dependency-locks/testCompile.lockfile +++ /dev/null @@ -1,7 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -junit:junit:4.12 -org.assertj:assertj-core:3.11.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 diff --git a/gradle/dependency-locks/testCompileClasspath.lockfile b/gradle/dependency-locks/testCompileClasspath.lockfile deleted file mode 100644 index fc245cc8..00000000 --- a/gradle/dependency-locks/testCompileClasspath.lockfile +++ /dev/null @@ -1,78 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.hierynomus:sshj:0.23.0 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -commons-codec:commons-codec:1.11 -commons-logging:commons-logging:1.2 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -junit:junit:4.12 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-exec:1.3 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.assertj:assertj-core:3.11.1 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jvnet.staxex:stax-ex:1.7.8 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/testCompileOnly.lockfile b/gradle/dependency-locks/testCompileOnly.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/testCompileOnly.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/testCompileOnlyDependenciesMetadata.lockfile b/gradle/dependency-locks/testCompileOnlyDependenciesMetadata.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/testCompileOnlyDependenciesMetadata.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/dependency-locks/testImplementationDependenciesMetadata.lockfile b/gradle/dependency-locks/testImplementationDependenciesMetadata.lockfile deleted file mode 100644 index a65bd71c..00000000 --- a/gradle/dependency-locks/testImplementationDependenciesMetadata.lockfile +++ /dev/null @@ -1,125 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.googlecode.javaewah:JavaEWAH:1.1.6 -com.hierynomus:sshj:0.23.0 -com.jcraft:jsch:0.1.54 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -junit:junit:4.12 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.assertj:assertj-core:3.11.1 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/testRuntime.lockfile b/gradle/dependency-locks/testRuntime.lockfile deleted file mode 100644 index ce753991..00000000 --- a/gradle/dependency-locks/testRuntime.lockfile +++ /dev/null @@ -1,7 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -junit:junit:4.12 -org.assertj:assertj-core:3.11.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 diff --git a/gradle/dependency-locks/testRuntimeClasspath.lockfile b/gradle/dependency-locks/testRuntimeClasspath.lockfile deleted file mode 100644 index a65bd71c..00000000 --- a/gradle/dependency-locks/testRuntimeClasspath.lockfile +++ /dev/null @@ -1,125 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. -com.amazonaws:aws-java-sdk-cloudformation:1.11.817 -com.amazonaws:aws-java-sdk-core:1.11.817 -com.amazonaws:aws-java-sdk-ec2:1.11.817 -com.amazonaws:aws-java-sdk-elasticloadbalancing:1.11.817 -com.amazonaws:aws-java-sdk-iam:1.11.817 -com.amazonaws:aws-java-sdk-kms:1.11.817 -com.amazonaws:aws-java-sdk-rds:1.11.817 -com.amazonaws:aws-java-sdk-s3:1.11.817 -com.amazonaws:aws-java-sdk-sts:1.11.817 -com.amazonaws:aws-java-sdk-support:1.11.817 -com.amazonaws:jmespath-java:1.11.817 -com.atlassian.data:random-data:1.4.3 -com.atlassian.performance.tools:aws-resources:1.17.0 -com.atlassian.performance.tools:concurrency:1.3.0 -com.atlassian.performance.tools:infrastructure:4.29.1 -com.atlassian.performance.tools:io:1.2.0 -com.atlassian.performance.tools:jira-actions:3.27.0 -com.atlassian.performance.tools:jira-software-actions:1.5.1 -com.atlassian.performance.tools:jvm-tasks:1.4.1 -com.atlassian.performance.tools:ssh:2.4.3 -com.atlassian.performance.tools:virtual-users:3.16.0 -com.atlassian.performance.tools:workspace:2.0.3 -com.atlassian.performance:selenium-js:1.0.1 -com.fasterxml.jackson.core:jackson-annotations:2.6.0 -com.fasterxml.jackson.core:jackson-core:2.9.4 -com.fasterxml.jackson.core:jackson-databind:2.6.7.3 -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4 -com.github.stephenc.jcip:jcip-annotations:1.0-1 -com.google.code.findbugs:jsr305:1.3.9 -com.google.code.gson:gson:2.8.2 -com.google.errorprone:error_prone_annotations:2.1.3 -com.google.guava:guava:23.6-jre -com.google.j2objc:j2objc-annotations:1.1 -com.googlecode.javaewah:JavaEWAH:1.1.6 -com.hierynomus:sshj:0.23.0 -com.jcraft:jsch:0.1.54 -com.jcraft:jzlib:1.1.3 -com.squareup.okhttp3:okhttp:3.11.0 -com.squareup.okio:okio:1.14.0 -com.sun.istack:istack-commons-runtime:3.0.5 -com.sun.xml.fastinfoset:FastInfoset:1.2.13 -com.typesafe:config:1.2.1 -commons-cli:commons-cli:1.4 -commons-codec:commons-codec:1.11 -commons-io:commons-io:2.5 -commons-logging:commons-logging:1.2 -io.github.bonigarcia:webdrivermanager:1.7.1 -javax.inject:javax.inject:1 -javax.json:javax.json-api:1.1 -javax.xml.bind:jaxb-api:2.3.0 -joda-time:joda-time:2.8.1 -junit:junit:4.12 -net.bytebuddy:byte-buddy:1.8.15 -net.i2p.crypto:eddsa:0.2.0 -org.apache.commons:commons-compress:1.9 -org.apache.commons:commons-csv:1.3 -org.apache.commons:commons-exec:1.3 -org.apache.commons:commons-lang3:3.5 -org.apache.commons:commons-math3:3.6.1 -org.apache.httpcomponents:httpclient:4.5.13 -org.apache.httpcomponents:httpcore:4.4.9 -org.apache.logging.log4j:log4j-api:2.17.2 -org.apache.logging.log4j:log4j-core:2.17.2 -org.apache.logging.log4j:log4j-jcl:2.17.2 -org.apache.logging.log4j:log4j-jul:2.17.2 -org.apache.logging.log4j:log4j-slf4j-impl:2.17.2 -org.apache.maven.resolver:maven-resolver-api:1.1.0 -org.apache.maven.resolver:maven-resolver-connector-basic:1.1.0 -org.apache.maven.resolver:maven-resolver-impl:1.1.0 -org.apache.maven.resolver:maven-resolver-spi:1.1.0 -org.apache.maven.resolver:maven-resolver-transport-wagon:1.1.0 -org.apache.maven.resolver:maven-resolver-util:1.1.0 -org.apache.maven.wagon:wagon-file:2.12 -org.apache.maven.wagon:wagon-http-lightweight:2.12 -org.apache.maven.wagon:wagon-http-shared:2.12 -org.apache.maven.wagon:wagon-provider-api:2.12 -org.apache.maven:maven-artifact:3.5.2 -org.apache.maven:maven-builder-support:3.5.2 -org.apache.maven:maven-model-builder:3.5.2 -org.apache.maven:maven-model:3.5.2 -org.apache.maven:maven-repository-metadata:3.5.2 -org.apache.maven:maven-resolver-provider:3.5.2 -org.apache.maven:maven-settings-builder:3.5.2 -org.apache.maven:maven-settings:3.5.2 -org.assertj:assertj-core:3.11.1 -org.bouncycastle:bcpkix-jdk15on:1.56 -org.bouncycastle:bcprov-jdk15on:1.56 -org.checkerframework:checker-compat-qual:2.0.0 -org.codehaus.mojo:animal-sniffer-annotations:1.14 -org.codehaus.plexus:plexus-component-annotations:1.7.1 -org.codehaus.plexus:plexus-interpolation:1.24 -org.codehaus.plexus:plexus-utils:3.1.0 -org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r -org.glassfish.jaxb:jaxb-core:2.3.0 -org.glassfish.jaxb:jaxb-runtime:2.3.0 -org.glassfish.jaxb:txw2:2.3.0 -org.glassfish:javax.json:1.1 -org.hamcrest:hamcrest-core:1.3 -org.hamcrest:hamcrest-library:1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3 -org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3 -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70 -org.jetbrains.kotlin:kotlin-stdlib:1.2.70 -org.jetbrains:annotations:13.0 -org.jsoup:jsoup:1.10.2 -org.jvnet.staxex:stax-ex:1.7.8 -org.rauschig:jarchivelib:0.7.1 -org.seleniumhq.selenium:selenium-api:3.141.59 -org.seleniumhq.selenium:selenium-chrome-driver:3.141.59 -org.seleniumhq.selenium:selenium-remote-driver:3.141.59 -org.seleniumhq.selenium:selenium-support:3.141.59 -org.slf4j:slf4j-api:1.8.0-alpha2 -org.sonatype.plexus:plexus-cipher:1.4 -org.sonatype.plexus:plexus-sec-dispatcher:1.4 -org.yaml:snakeyaml:1.18 -software.amazon.ion:ion-java:1.0.2 diff --git a/gradle/dependency-locks/testRuntimeOnlyDependenciesMetadata.lockfile b/gradle/dependency-locks/testRuntimeOnlyDependenciesMetadata.lockfile deleted file mode 100644 index 656c5dbc..00000000 --- a/gradle/dependency-locks/testRuntimeOnlyDependenciesMetadata.lockfile +++ /dev/null @@ -1,3 +0,0 @@ -# This is a Gradle generated file for dependency locking. -# Manual edits can break the build and are not advised. -# This file is expected to be part of source control. diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 51288f9c2f05faf8d42e1a751a387ca7923882c3..87b738cbd051603d91cc39de6cb000dd98fe6b02 100644 GIT binary patch delta 50055 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 XPm5~P1^h6}gaC#H2G-W~XaD~PRg9#e diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5f1801f2..609ab8e6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Aug 03 15:30:56 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip diff --git a/gradlew b/gradlew index 4453ccea..af6708ff 100755 --- a/gradlew +++ b/gradlew @@ -28,16 +28,16 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/gradlew.bat b/gradlew.bat index f9553162..0f8d5937 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,84 +1,84 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts index c1655817..d44f1f9d 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,12 @@ -rootProject.name = "aws-infrastructure" \ No newline at end of file +rootProject.name = "aws-infrastructure" + +plugins { + id("com.gradle.develocity").version("3.17.4") +} + +develocity { + buildScan { + termsOfUseUrl.set("https://gradle.com/help/legal-terms-of-use") + termsOfUseAgree.set("yes") + } +} From aa33b6636610551bee64dd8cacdb6a1593b8f69a Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 16:53:06 +0200 Subject: [PATCH 03/13] Update test dependency config And rewrite locks. --- build.gradle.kts | 6 +++--- gradle.lockfile | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5c500aaf..93171eca 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,9 +56,9 @@ dependencies { "slf4j-impl" ).forEach { implementation(it) } - testCompile("junit:junit:4.12") - testCompile("org.assertj:assertj-core:3.11.1") - testCompile("org.hamcrest:hamcrest-library:1.3") + testImplementation("junit:junit:4.12") + testImplementation("org.assertj:assertj-core:3.11.1") + testImplementation("org.hamcrest:hamcrest-library:1.3") } fun log4j( diff --git a/gradle.lockfile b/gradle.lockfile index 12f6d217..54af3d09 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -62,7 +62,7 @@ javax.inject:javax.inject:1=runtimeClasspath,testRuntimeClasspath javax.json:javax.json-api:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath javax.xml.bind:jaxb-api:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath joda-time:joda-time:2.8.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -junit:junit:4.12=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +junit:junit:4.12=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath net.bytebuddy:byte-buddy:1.8.15=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath net.i2p.crypto:eddsa:0.2.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.apache.commons:commons-compress:1.9=runtimeClasspath,testRuntimeClasspath @@ -95,7 +95,7 @@ org.apache.maven:maven-repository-metadata:3.5.2=runtimeClasspath,testRuntimeCla org.apache.maven:maven-resolver-provider:3.5.2=runtimeClasspath,testRuntimeClasspath org.apache.maven:maven-settings-builder:3.5.2=runtimeClasspath,testRuntimeClasspath org.apache.maven:maven-settings:3.5.2=runtimeClasspath,testRuntimeClasspath -org.assertj:assertj-core:3.11.1=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +org.assertj:assertj-core:3.11.1=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.bouncycastle:bcpkix-jdk15on:1.56=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.bouncycastle:bcprov-jdk15on:1.56=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.checkerframework:checker-compat-qual:2.0.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -110,8 +110,8 @@ org.glassfish.jaxb:jaxb-core:2.3.0=apiDependenciesMetadata,compileClasspath,impl org.glassfish.jaxb:jaxb-runtime:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.glassfish.jaxb:txw2:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.glassfish:javax.json:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.hamcrest:hamcrest-core:1.3=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath -org.hamcrest:hamcrest-library:1.3=testApiDependenciesMetadata,testCompile,testCompileClasspath,testImplementationDependenciesMetadata,testRuntime,testRuntimeClasspath +org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.hamcrest:hamcrest-library:1.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:3.1.3=runtimeClasspath,testRuntimeClasspath org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3=runtimeClasspath,testRuntimeClasspath org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3=runtimeClasspath,testRuntimeClasspath @@ -149,4 +149,4 @@ org.sonatype.plexus:plexus-cipher:1.4=runtimeClasspath,testRuntimeClasspath org.sonatype.plexus:plexus-sec-dispatcher:1.4=runtimeClasspath,testRuntimeClasspath org.yaml:snakeyaml:1.18=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath software.amazon.ion:ion-java:1.0.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,dokkaPlugin,dokkaRuntime,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntimeOnlyDependenciesMetadata +empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,dokkaPlugin,dokkaRuntime,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata From 6273186e4c52371669f80fd4b0f1f63ea62852ff Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 16:59:03 +0200 Subject: [PATCH 04/13] Refactor build.gradle.kts a little --- build.gradle.kts | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 93171eca..b52a2552 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,38 +36,28 @@ configurations.all { } dependencies { - api("com.atlassian.performance.tools:infrastructure:[4.19.0,5.0.0)") + api("com.atlassian.performance.tools:infrastructure:[4.19.0, 5.0.0)") api("com.atlassian.performance.tools:aws-resources:[1.10.1, 2.0.0)") // 1.10.1 gives Ami.Builder.amiProvider - api("com.atlassian.performance.tools:jira-actions:[2.0.0,4.0.0)") - api("com.atlassian.performance.tools:ssh:[2.4.1,3.0.0)") - api("com.atlassian.performance.tools:virtual-users:[3.3.0,4.0.0)") + api("com.atlassian.performance.tools:jira-actions:[2.0.0, 4.0.0)") + api("com.atlassian.performance.tools:ssh:[2.4.1, 3.0.0)") + api("com.atlassian.performance.tools:virtual-users:[3.3.0, 4.0.0)") api("com.amazonaws:aws-java-sdk-ec2:1.11.817") implementation("com.atlassian.performance.tools:jvm-tasks:[1.3.0, 2.0.0)") // 1.3.0 gives TaskScope and EventBus - implementation("com.atlassian.performance.tools:workspace:[2.0.0,3.0.0)") + implementation("com.atlassian.performance.tools:workspace:[2.0.0, 3.0.0)") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") implementation("org.glassfish:javax.json:1.1") implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4") implementation("com.google.guava:guava:23.6-jre") - implementation("com.atlassian.performance.tools:concurrency:[1.2.0,2.0.0)") - log4j( - "api", - "core", - "slf4j-impl" - ).forEach { implementation(it) } + implementation("com.atlassian.performance.tools:concurrency:[1.2.0, 2.0.0)") + listOf("api", "core", "slf4j-impl").forEach { implementation("org.apache.logging.log4j:log4j-$it:$log4jVersion") } testImplementation("junit:junit:4.12") testImplementation("org.assertj:assertj-core:3.11.1") testImplementation("org.hamcrest:hamcrest-library:1.3") } -fun log4j( - vararg modules: String -): List = modules.map { module -> - "org.apache.logging.log4j:log4j-$module:$log4jVersion" -} - -tasks.getByName("test", Test::class).apply { +tasks.test { filter { exclude("**/*IT.class") } @@ -80,9 +70,11 @@ val testIntegration = task("testIntegration") { maxParallelForks = 5 } -tasks["check"].dependsOn(testIntegration) +tasks.check { + dependsOn(testIntegration) +} -tasks.getByName("wrapper", Wrapper::class).apply { +tasks.wrapper { gradleVersion = "7.6.3" distributionType = Wrapper.DistributionType.ALL } From 6bd863ce8a2c3f7b852d8752b8d49772f20ba9ef Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:20:07 +0200 Subject: [PATCH 05/13] Avoid huge Kotlin compile warnings Our `eachDependency.useVersion` is a hack. And we accidentally overrode the Kotlin stdlib used by the compiler. Maybe in the future we should consider an allowlist of configs to lock. The compiler warning: ``` > Task :compileKotlin Compilation with Kotlin compile daemon was not successful java.lang.Exception: Parameter specified as non-null is null: method org.jetbrains.kotlin.incremental.CacheVersionsKt.customCacheVersionManager, parameter fileName at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:60) at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:59) at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:192) at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:132) at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:100) at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runCompilerAsync(GradleKotlinCompilerRunner.kt:152) at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runCompilerAsync(GradleKotlinCompilerRunner.kt:147) at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runJvmCompilerAsync(GradleKotlinCompilerRunner.kt:87) at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompilerAsync$kotlin_gradle_plugin(Tasks.kt:409) at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompilerAsync$kotlin_gradle_plugin(Tasks.kt:319) at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:276) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) ... Could not connect to kotlin daemon. Using fallback strategy. ``` --- build.gradle.kts | 3 +++ gradle.lockfile | 11 ++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b52a2552..252ff95f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,6 +12,9 @@ plugins { configurations.all { resolutionStrategy { + if (name.startsWith("kotlinCompiler")) { + return@resolutionStrategy + } activateDependencyLocking() failOnVersionConflict() eachDependency { diff --git a/gradle.lockfile b/gradle.lockfile index 54af3d09..861fbf99 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -122,19 +122,16 @@ org.jetbrains.dokka:dokka-base:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavado org.jetbrains.dokka:dokka-core:1.7.20=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime org.jetbrains.dokka:kotlin-analysis-compiler:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin org.jetbrains.dokka:kotlin-analysis-intellij:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.70=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.2.70=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-script-runtime:1.2.70=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.70=kotlinCompilerPluginClasspath -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-reflect:1.2.70=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.5=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains:annotations:13.0=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,kotlinCompilerClasspath,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains:annotations:13.0=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.jetbrains:markdown-jvm:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime org.jetbrains:markdown:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime org.jsoup:jsoup:1.10.2=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,runtimeClasspath,testRuntimeClasspath From f211f6feccc5c1afe4efd868d24ebaee95bb8275 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:32:35 +0200 Subject: [PATCH 06/13] Harvest Kotlin compiler fixes Previous commit triggerred some compiler language level warnings. And some bad memories. Bumping Kotlin is never a pleasant journey. I'll harvest a bunch of fixes/workarounds worked out in aws-infrastructure and virtual-users. https://github.com/atlassian-labs/aws-resources/commit/e89d41edcc94ee5892dff0f535b9206ddd15458a --- build.gradle.kts | 17 +++++++++++++---- gradle.lockfile | 39 ++++++++------------------------------- 2 files changed, 21 insertions(+), 35 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 252ff95f..33b78fbe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,20 +1,29 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val kotlinVersion = "1.2.70" val log4jVersion = "2.17.2" plugins { id("com.atlassian.performance.tools.gradle-release").version("0.9.0") - kotlin("jvm").version("1.3.20") + kotlin("jvm").version("1.4.32") `java-library` } +tasks.withType { + kotlinOptions { + jvmTarget = "1.8" + languageVersion = "1.4" + languageVersion = "1.2" // the maximum, which still produces 1.1.x metadata required by 1.2.70 kotlin clients + } +} + configurations.all { + if (name.startsWith("kotlinCompiler") || name.startsWith("dokka")) { + return@all + } resolutionStrategy { - if (name.startsWith("kotlinCompiler")) { - return@resolutionStrategy - } activateDependencyLocking() failOnVersionConflict() eachDependency { diff --git a/gradle.lockfile b/gradle.lockfile index 861fbf99..bb1d3972 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -24,18 +24,11 @@ com.atlassian.performance.tools:ssh:2.4.3=apiDependenciesMetadata,compileClasspa com.atlassian.performance.tools:virtual-users:3.16.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.atlassian.performance.tools:workspace:2.0.3=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.atlassian.performance:selenium-js:1.0.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime com.fasterxml.jackson.core:jackson-annotations:2.6.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-core:2.9.4=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-core:2.9.4=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.6.7.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.7=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.7=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime -com.fasterxml.jackson.module:jackson-module-kotlin:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -com.fasterxml.jackson:jackson-bom:2.12.7=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -com.fasterxml.woodstox:woodstox-core:6.2.4=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime com.github.stephenc.jcip:jcip-annotations:1.0-1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.code.findbugs:jsr305:1.3.9=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.code.gson:gson:2.8.2=runtimeClasspath,testRuntimeClasspath @@ -56,8 +49,6 @@ commons-codec:commons-codec:1.11=apiDependenciesMetadata,compileClasspath,implem commons-io:commons-io:2.5=runtimeClasspath,testRuntimeClasspath commons-logging:commons-logging:1.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath io.github.bonigarcia:webdrivermanager:1.7.1=runtimeClasspath,testRuntimeClasspath -jakarta.activation:jakarta.activation-api:1.2.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime -jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime javax.inject:javax.inject:1=runtimeClasspath,testRuntimeClasspath javax.json:javax.json-api:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath javax.xml.bind:jaxb-api:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -103,9 +94,7 @@ org.codehaus.mojo:animal-sniffer-annotations:1.14=apiDependenciesMetadata,compil org.codehaus.plexus:plexus-component-annotations:1.7.1=runtimeClasspath,testRuntimeClasspath org.codehaus.plexus:plexus-interpolation:1.24=runtimeClasspath,testRuntimeClasspath org.codehaus.plexus:plexus-utils:3.1.0=runtimeClasspath,testRuntimeClasspath -org.codehaus.woodstox:stax2-api:4.2.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime org.eclipse.jgit:org.eclipse.jgit:4.11.0.201803080745-r=runtimeClasspath,testRuntimeClasspath -org.freemarker:freemarker:2.3.31=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin org.glassfish.jaxb:jaxb-core:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.glassfish.jaxb:jaxb-runtime:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.glassfish.jaxb:txw2:2.3.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -117,24 +106,12 @@ org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:3.1.3=runtimeClasspath,tes org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:3.1.3=runtimeClasspath,testRuntimeClasspath org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:3.1.3=runtimeClasspath,testRuntimeClasspath org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:3.1.3=runtimeClasspath,testRuntimeClasspath -org.jetbrains.dokka:dokka-analysis:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains.dokka:dokka-base:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains.dokka:dokka-core:1.7.20=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime -org.jetbrains.dokka:kotlin-analysis-compiler:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains.dokka:kotlin-analysis-intellij:1.7.20=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains.kotlin:kotlin-reflect:1.2.70=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib:1.2.70=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.3=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime -org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.5=dokkaGfmPlugin,dokkaHtmlPlugin,dokkaJavadocPlugin,dokkaJekyllPlugin -org.jetbrains:annotations:13.0=apiDependenciesMetadata,compileClasspath,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -org.jetbrains:markdown-jvm:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime -org.jetbrains:markdown:0.3.1=dokkaGfmRuntime,dokkaHtmlRuntime,dokkaJavadocRuntime,dokkaJekyllRuntime -org.jsoup:jsoup:1.10.2=dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.2.70=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.70=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.70=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.2.70=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jetbrains:annotations:13.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +org.jsoup:jsoup:1.10.2=runtimeClasspath,testRuntimeClasspath org.jvnet.staxex:stax-ex:1.7.8=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath org.rauschig:jarchivelib:0.7.1=runtimeClasspath,testRuntimeClasspath org.seleniumhq.selenium:selenium-api:3.141.59=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath @@ -146,4 +123,4 @@ org.sonatype.plexus:plexus-cipher:1.4=runtimeClasspath,testRuntimeClasspath org.sonatype.plexus:plexus-sec-dispatcher:1.4=runtimeClasspath,testRuntimeClasspath org.yaml:snakeyaml:1.18=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath software.amazon.ion:ion-java:1.0.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,dokkaPlugin,dokkaRuntime,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata +empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata From 1dd964c4a9aa4bfb468d3bdc55cdf734dbd0236b Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:42:33 +0200 Subject: [PATCH 07/13] Simplify test output Since we have Build Scans, they already offer detaild test output. So we don't need to do anything special for CI. Locally, you have HTML reports linked in the terminal or live interactive logs in the IDE. --- .github/workflows/build.yml | 12 ------------ build.gradle.kts | 9 --------- 2 files changed, 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 81a32337..cc426e48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,18 +44,6 @@ jobs: with: arguments: build timeout-minutes: 45 - - name: Upload test reports - uses: actions/upload-artifact@v3 - if: always() - with: - name: test-reports - path: ./build/reports/tests - - name: Upload test results - uses: actions/upload-artifact@v3 - if: always() - with: - name: test-results - path: ./build/test-results build-check: runs-on: ubuntu-latest needs: build diff --git a/build.gradle.kts b/build.gradle.kts index 33b78fbe..e7f5821c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,3 @@ -import org.gradle.api.tasks.testing.logging.TestExceptionFormat -import org.gradle.api.tasks.testing.logging.TestLogEvent import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val kotlinVersion = "1.2.70" @@ -90,10 +88,3 @@ tasks.wrapper { gradleVersion = "7.6.3" distributionType = Wrapper.DistributionType.ALL } - -tasks.withType { - testLogging { - events = setOf(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) - exceptionFormat = TestExceptionFormat.FULL - } -} From 5be7facb066e0fba7a8cdbb778e29d83ec9f8b63 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:49:47 +0200 Subject: [PATCH 08/13] Minimize CI-only logic Most logic is expressed within the Gradle project. --- .github/workflows/build.yml | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cc426e48..4e5943ab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,44 +24,32 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Configure AWS credentials + uses: actions/checkout@v4 + - name: Access AWS uses: aws-actions/configure-aws-credentials@v1 with: role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ vars.AWS_REGION }} - - name: Compile - uses: gradle/gradle-build-action@v2 - with: - gradle-version: wrapper - arguments: compileTestKotlin + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 - name: Build - uses: gradle/gradle-build-action@v2 - with: - arguments: build + run: ./gradlew build timeout-minutes: 45 - build-check: - runs-on: ubuntu-latest - needs: build - steps: - - run: echo "All build jobs successful." release: runs-on: ubuntu-latest permissions: contents: write id-token: write - needs: build-check + needs: build if: github.event.inputs.release != null && github.event.inputs.release != 'No' steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Get publish token + - name: Access Maven id: publish-token uses: atlassian-labs/artifact-publish-token@v1.0.1 - name: Release From c06175d8589baabe16f450cfdcca21a1aa93bc20 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:54:50 +0200 Subject: [PATCH 09/13] Remove direct Guava dependency --- build.gradle.kts | 3 +-- gradle.lockfile | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e7f5821c..76f72d57 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ configurations.all { failOnVersionConflict() eachDependency { when (requested.module.toString()) { - "com.google.guava:guava" -> useVersion("23.6-jre") + "com.google.guava:guava" -> useVersion("25.0-jre") // conflict between infrastructure, virtual-users and jira-actions "org.apache.httpcomponents:httpclient" -> useVersion("4.5.13") "com.fasterxml.jackson.core:jackson-core" -> useVersion("2.9.4") "org.slf4j:slf4j-api" -> useVersion("1.8.0-alpha2") @@ -58,7 +58,6 @@ dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") implementation("org.glassfish:javax.json:1.1") implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.4") - implementation("com.google.guava:guava:23.6-jre") implementation("com.atlassian.performance.tools:concurrency:[1.2.0, 2.0.0)") listOf("api", "core", "slf4j-impl").forEach { implementation("org.apache.logging.log4j:log4j-$it:$log4jVersion") } diff --git a/gradle.lockfile b/gradle.lockfile index bb1d3972..dd45b8ab 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -33,7 +33,7 @@ com.github.stephenc.jcip:jcip-annotations:1.0-1=apiDependenciesMetadata,compileC com.google.code.findbugs:jsr305:1.3.9=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.code.gson:gson:2.8.2=runtimeClasspath,testRuntimeClasspath com.google.errorprone:error_prone_annotations:2.1.3=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -com.google.guava:guava:23.6-jre=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath +com.google.guava:guava:25.0-jre=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.google.j2objc:j2objc-annotations:1.1=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath com.googlecode.javaewah:JavaEWAH:1.1.6=runtimeClasspath,testRuntimeClasspath com.hierynomus:sshj:0.23.0=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath From 66447a15a9fc4b5f30640f69e8072e350ac122d4 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Thu, 13 Jun 2024 17:55:34 +0200 Subject: [PATCH 10/13] Exclude more configs form locking Previously rewriting locks would include a FAIL for: `kotlinKlibCommonizerClasspath`. --- build.gradle.kts | 2 +- gradle.lockfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 76f72d57..f803fab7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,7 +18,7 @@ tasks.withType { } configurations.all { - if (name.startsWith("kotlinCompiler") || name.startsWith("dokka")) { + if (name.startsWith("kotlin") || name.startsWith("dokka")) { return@all } resolutionStrategy { diff --git a/gradle.lockfile b/gradle.lockfile index dd45b8ab..5daf2982 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -123,4 +123,4 @@ org.sonatype.plexus:plexus-cipher:1.4=runtimeClasspath,testRuntimeClasspath org.sonatype.plexus:plexus-sec-dispatcher:1.4=runtimeClasspath,testRuntimeClasspath org.yaml:snakeyaml:1.18=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath software.amazon.ion:ion-java:1.0.2=apiDependenciesMetadata,compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath -empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata +empty=annotationProcessor,compile,compileOnly,compileOnlyDependenciesMetadata,runtime,runtimeOnlyDependenciesMetadata,signatures,testAnnotationProcessor,testApiDependenciesMetadata,testCompile,testCompileOnly,testCompileOnlyDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntime,testRuntimeOnlyDependenciesMetadata From 1f9987f95566cccef0fa7167ad0405674b3ac5d8 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Fri, 14 Jun 2024 17:27:42 +0200 Subject: [PATCH 11/13] Allow alternate BSD spelling Fix: ``` > Task :verifyLicensing FAILED Illegal license found 'BSD License' in 'com.atlassian.performance:selenium-js:1.0.1' Illegal license found 'BSD License' in 'com.atlassian.data:random-data:1.4.3' ``` --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index f803fab7..3ecbf7d6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ val kotlinVersion = "1.2.70" val log4jVersion = "2.17.2" plugins { - id("com.atlassian.performance.tools.gradle-release").version("0.9.0") + id("com.atlassian.performance.tools.gradle-release").version("0.10.0") kotlin("jvm").version("1.4.32") `java-library` } From 999811ac2f1ad5b7daa57f4e4f63e466cfbbaf0c Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Fri, 14 Jun 2024 18:36:16 +0200 Subject: [PATCH 12/13] Avoid javax.activation license problem Fix: ``` > Task :verifyLicensing FAILED Illegal license found 'No license found' in 'javax.activation:activation:1.1.1' ``` --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3ecbf7d6..a122a0a1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,7 +47,7 @@ configurations.all { dependencies { api("com.atlassian.performance.tools:infrastructure:[4.19.0, 5.0.0)") - api("com.atlassian.performance.tools:aws-resources:[1.10.1, 2.0.0)") // 1.10.1 gives Ami.Builder.amiProvider + api("com.atlassian.performance.tools:aws-resources:[1.17.0, 2.0.0)") // 1.17 avoids javax:activation dependency (and its license problem) api("com.atlassian.performance.tools:jira-actions:[2.0.0, 4.0.0)") api("com.atlassian.performance.tools:ssh:[2.4.1, 3.0.0)") api("com.atlassian.performance.tools:virtual-users:[3.3.0, 4.0.0)") From 8f159b10e0c660c16bec0004187b8562976575f7 Mon Sep 17 00:00:00 2001 From: Maciej Kwidzinski Date: Mon, 24 Jun 2024 11:58:58 +0200 Subject: [PATCH 13/13] Stabilize `SshMysqlDatasetPublicationIT` Also, centralize the workaround. --- .../awsinfrastructure/FlakyJdkWorkaround.kt | 51 +++++++++++++++++++ .../api/AwsDatasetModificationIT.kt | 34 +------------ .../api/CustomDatasetSourceIT.kt | 2 + .../dataset/SshMysqlDatasetPublicationIT.kt | 3 +- .../api/jira/DataCenterFormulaIT.kt | 13 ++--- .../api/jira/StandaloneFormulaIT.kt | 12 ++--- 6 files changed, 63 insertions(+), 52 deletions(-) create mode 100644 src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/FlakyJdkWorkaround.kt diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/FlakyJdkWorkaround.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/FlakyJdkWorkaround.kt new file mode 100644 index 00000000..9433ecc8 --- /dev/null +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/FlakyJdkWorkaround.kt @@ -0,0 +1,51 @@ +package com.atlassian.performance.tools.awsinfrastructure + +import com.atlassian.performance.tools.aws.api.Investment +import com.atlassian.performance.tools.awsinfrastructure.api.InfrastructureFormula +import com.atlassian.performance.tools.awsinfrastructure.api.dataset.DatasetHost +import com.atlassian.performance.tools.awsinfrastructure.api.hardware.C5NineExtraLargeEphemeral +import com.atlassian.performance.tools.awsinfrastructure.api.jira.StandaloneFormula +import com.atlassian.performance.tools.awsinfrastructure.api.virtualusers.AbsentVirtualUsersFormula +import com.atlassian.performance.tools.infrastructure.api.distribution.PublicJiraSoftwareDistribution +import com.atlassian.performance.tools.infrastructure.api.jira.JiraNodeConfig +import com.atlassian.performance.tools.infrastructure.api.jvm.OpenJDK +import com.atlassian.performance.tools.infrastructure.api.jvm.OracleJDK +import java.time.Duration + +/** + * The default JDK in [JiraNodeConfig] is flaky to install. + * Currently, it's [OracleJDK] and it's the only one supported by Jira 7. So `infrastructure` cannot just change it, + * it would break all Jira 7 perf tests. It needs a major release. + */ +object FlakyJdkWorkaround { + + val STABLE_JDK_CONFIG = JiraNodeConfig.Builder() + .versionedJdk(OpenJDK()) + .build() + + /** + * avoid unstable default JDK from StandaloneFormula.Builder/JiraNodeConfig.Builder + * TODO update the default DatasetHost after 3.2.0 release + */ + val STABLE_DATASET_HOST = DatasetHost { + InfrastructureFormula + .Builder( + aws = IntegrationTestRuntime.aws, + virtualUsersFormula = AbsentVirtualUsersFormula() + ) + .investment( + investment = Investment( + useCase = "Generic purpose dataset modification", + lifespan = Duration.ofMinutes(50) + ) + ) + .jiraFormula( + StandaloneFormula + .Builder(PublicJiraSoftwareDistribution("8.0.0"), it.jiraHomeSource, it.database) + .config(STABLE_JDK_CONFIG) + .computer(C5NineExtraLargeEphemeral()) + .build() + ) + .build() + } +} \ No newline at end of file diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/AwsDatasetModificationIT.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/AwsDatasetModificationIT.kt index 263f2ca2..b8ae2f76 100644 --- a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/AwsDatasetModificationIT.kt +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/AwsDatasetModificationIT.kt @@ -1,18 +1,11 @@ package com.atlassian.performance.tools.awsinfrastructure.api import com.amazonaws.regions.Regions -import com.atlassian.performance.tools.aws.api.Investment import com.atlassian.performance.tools.aws.api.StorageLocation +import com.atlassian.performance.tools.awsinfrastructure.FlakyJdkWorkaround import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime.aws import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime.taskWorkspace -import com.atlassian.performance.tools.awsinfrastructure.api.dataset.DatasetHost -import com.atlassian.performance.tools.awsinfrastructure.api.hardware.C5NineExtraLargeEphemeral -import com.atlassian.performance.tools.awsinfrastructure.api.jira.StandaloneFormula -import com.atlassian.performance.tools.awsinfrastructure.api.virtualusers.AbsentVirtualUsersFormula import com.atlassian.performance.tools.infrastructure.api.dataset.Dataset -import com.atlassian.performance.tools.infrastructure.api.distribution.PublicJiraSoftwareDistribution -import com.atlassian.performance.tools.infrastructure.api.jira.JiraNodeConfig -import com.atlassian.performance.tools.infrastructure.api.jvm.OpenJDK import com.atlassian.performance.tools.ssh.api.Ssh import org.junit.Test import java.net.URI @@ -38,34 +31,11 @@ class AwsDatasetModificationIT { ssh.execute("rm -r $backupPath") } } - // avoid unstable default JDK from StandaloneFormula.Builder/JiraNodeConfig.Builder - // TODO update the default DatasetHost after 3.2.0 release - val stableDatasetHost = DatasetHost { - InfrastructureFormula - .Builder( - aws = aws, - virtualUsersFormula = AbsentVirtualUsersFormula() - ) - .investment( - investment = Investment( - useCase = "Generic purpose dataset modification", - lifespan = ofMinutes(50) - ) - ) - .jiraFormula( - StandaloneFormula - .Builder(PublicJiraSoftwareDistribution("8.0.0"), it.jiraHomeSource, it.database) - .config(JiraNodeConfig.Builder().versionedJdk(OpenJDK()).build()) - .computer(C5NineExtraLargeEphemeral()) - .build() - ) - .build() - } val modification = AwsDatasetModification.Builder( aws = aws, dataset = sourceDataset ) - .host(stableDatasetHost) + .host(FlakyJdkWorkaround.STABLE_DATASET_HOST) .workspace(workspace) .onlineTransformation(transformation) .build() diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/CustomDatasetSourceIT.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/CustomDatasetSourceIT.kt index 34d99c1f..e9272cc9 100644 --- a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/CustomDatasetSourceIT.kt +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/CustomDatasetSourceIT.kt @@ -2,6 +2,7 @@ package com.atlassian.performance.tools.awsinfrastructure.api import com.atlassian.performance.tools.aws.api.Investment import com.atlassian.performance.tools.aws.api.SshKeyFormula +import com.atlassian.performance.tools.awsinfrastructure.FlakyJdkWorkaround import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime.aws import com.atlassian.performance.tools.awsinfrastructure.api.jira.ProvisionedJira @@ -49,6 +50,7 @@ class CustomDatasetSourceIT { jiraHomeSource = sourceDataset.jiraHomeSource, productDistribution = PublicJiraSoftwareDistribution("9.9.0") ) + .config(FlakyJdkWorkaround.STABLE_JDK_CONFIG) .build() .provision( investment = Investment( diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/dataset/SshMysqlDatasetPublicationIT.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/dataset/SshMysqlDatasetPublicationIT.kt index 9a0b7149..750359b5 100644 --- a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/dataset/SshMysqlDatasetPublicationIT.kt +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/dataset/SshMysqlDatasetPublicationIT.kt @@ -1,5 +1,6 @@ package com.atlassian.performance.tools.awsinfrastructure.api.dataset +import com.atlassian.performance.tools.awsinfrastructure.FlakyJdkWorkaround import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime import com.atlassian.performance.tools.awsinfrastructure.api.AwsDatasetModification import com.atlassian.performance.tools.awsinfrastructure.api.DatasetCatalogue @@ -15,7 +16,7 @@ class SshMysqlDatasetPublicationIT { AwsDatasetModification.Builder( aws, DatasetCatalogue().smallJiraSeven() - ) + ).host(FlakyJdkWorkaround.STABLE_DATASET_HOST) ) } } \ No newline at end of file diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/DataCenterFormulaIT.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/DataCenterFormulaIT.kt index 32df4d3f..6d1df822 100644 --- a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/DataCenterFormulaIT.kt +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/DataCenterFormulaIT.kt @@ -2,6 +2,7 @@ package com.atlassian.performance.tools.awsinfrastructure.api.jira import com.atlassian.performance.tools.aws.api.Investment import com.atlassian.performance.tools.aws.api.SshKeyFormula +import com.atlassian.performance.tools.awsinfrastructure.FlakyJdkWorkaround import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime import com.atlassian.performance.tools.awsinfrastructure.api.DatasetCatalogue import com.atlassian.performance.tools.awsinfrastructure.api.hardware.C5NineExtraLargeEphemeral @@ -13,7 +14,6 @@ import com.atlassian.performance.tools.infrastructure.api.jira.MinimalMysqlJiraH import com.atlassian.performance.tools.infrastructure.api.jvm.OpenJDK import com.atlassian.performance.tools.infrastructure.api.jvm.jmx.EnabledRemoteJmx import org.apache.logging.log4j.LogManager -import org.apache.logging.log4j.Logger import org.assertj.core.api.Assertions.assertThat import org.assertj.core.data.Percentage.withPercentage import org.junit.Test @@ -31,13 +31,6 @@ class DataCenterFormulaIT { private val workspace = IntegrationTestRuntime.taskWorkspace private val aws = IntegrationTestRuntime.aws - /** - * The default JDK in [JiraNodeConfig] is flaky to install. - */ - private val stableJdk = JiraNodeConfig.Builder() - .versionedJdk(OpenJDK()) - .build() - @Test fun shouldProvisionDataCenter() { val dataset = DatasetCatalogue().largeJiraEight() @@ -52,7 +45,7 @@ class DataCenterFormulaIT { prefix = nonce ) val nodeCount = 2 - val nodeConfigs = JiraNodeConfig.Builder(stableJdk) + val nodeConfigs = JiraNodeConfig.Builder(FlakyJdkWorkaround.STABLE_JDK_CONFIG) .remoteJmx(EnabledRemoteJmx()) .build() .multipleNodes(nodeCount) @@ -125,7 +118,7 @@ class DataCenterFormulaIT { val database = MinimalMysqlDatabase.Builder().build() val nodeCount = 1 val jiraFormula = DataCenterFormula.Builder(distribution, jiraHome, database) - .configs(stableJdk.multipleNodes(nodeCount)) + .configs(FlakyJdkWorkaround.STABLE_JDK_CONFIG.multipleNodes(nodeCount)) .waitForUpgrades(false) .build() val investment = Investment( diff --git a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/StandaloneFormulaIT.kt b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/StandaloneFormulaIT.kt index 19637121..3f3ae938 100644 --- a/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/StandaloneFormulaIT.kt +++ b/src/test/kotlin/com/atlassian/performance/tools/awsinfrastructure/api/jira/StandaloneFormulaIT.kt @@ -2,6 +2,7 @@ package com.atlassian.performance.tools.awsinfrastructure.api.jira import com.atlassian.performance.tools.aws.api.Investment import com.atlassian.performance.tools.aws.api.SshKeyFormula +import com.atlassian.performance.tools.awsinfrastructure.FlakyJdkWorkaround import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime.aws import com.atlassian.performance.tools.awsinfrastructure.IntegrationTestRuntime.taskWorkspace import com.atlassian.performance.tools.awsinfrastructure.api.DatasetCatalogue @@ -27,13 +28,6 @@ class StandaloneFormulaIT { private val workspace = taskWorkspace.isolateTest(javaClass.simpleName) private val dataset = DatasetCatalogue().smallJiraSeven() - /** - * The default JDK in [JiraNodeConfig] is flaky to install. - */ - private val stableJdk = JiraNodeConfig.Builder() - .versionedJdk(OpenJDK()) - .build() - @Test fun shouldProvisionServer() { val nonce = UUID.randomUUID().toString() @@ -52,7 +46,7 @@ class StandaloneFormulaIT { .jiraVolume(Volume(80)) .databaseComputer(C5NineExtraLargeEphemeral()) .databaseVolume(Volume(90)) - .config(stableJdk) + .config(FlakyJdkWorkaround.STABLE_JDK_CONFIG) .build() val copiedFormula = StandaloneFormula.Builder(serverFormula).build() @@ -77,7 +71,7 @@ class StandaloneFormulaIT { val jiraHome = MinimalMysqlJiraHome() val database = MinimalMysqlDatabase.Builder().build() val jiraFormula = StandaloneFormula.Builder(distribution, jiraHome, database) - .config(stableJdk) + .config(FlakyJdkWorkaround.STABLE_JDK_CONFIG) .waitForUpgrades(false) .build() val investment = Investment(