diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..76a93c0 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +[*] +indent_style = space +indent_size = 2 diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..30704c3 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,58 @@ +@Library('corda-shared-build-pipeline-steps@5.3') _ + +import static com.r3.build.BuildControl.killAllExistingBuildsForJob +import com.r3.build.agents.KubernetesAgent +import com.r3.build.enums.KubernetesCluster +import com.r3.build.enums.BuildEnvironment + +killAllExistingBuildsForJob(env.JOB_NAME, env.BUILD_NUMBER.toInteger()) + +KubernetesAgent k8s = new KubernetesAgent( + BuildEnvironment.AMD64_LINUX_JAVA17_CORDA4, + KubernetesCluster.JenkinsAgents, + 1 +).withDocker( + 1, + false, + true +) + +pipeline { + agent { + kubernetes { + cloud k8s.buildCluster.cloudName + yaml k8s.JSON + yamlMergeStrategy merge() // important to keep tolerations from the inherited template + idleMinutes 15 + podRetention always() + nodeSelector k8s.nodeSelector + label k8s.jenkinsLabel + showRawYaml true + defaultContainer k8s.defaultContainer.name + } + } + + options { + ansiColor('xterm') + buildDiscarder(logRotator(daysToKeepStr: '14', artifactDaysToKeepStr: '14')) + parallelsAlwaysFailFast() + timeout(time: 6, unit: 'HOURS') + timestamps() + } + + environment { + ARTIFACTORY_CREDENTIALS = credentials('artifactory-credentials') + CORDA_ARTIFACTORY_USERNAME = "${env.ARTIFACTORY_CREDENTIALS_USR}" + CORDA_ARTIFACTORY_PASSWORD = "${env.ARTIFACTORY_CREDENTIALS_PSW}" + GRADLE_USER_HOME = "/host_tmp/gradle" + } + + stages { + stage('Test and Publish') { + steps { + authenticateGradleWrapper() + sh './gradlew --no-daemon -Dorg.gradle.configuration-cache=false clean check artifactoryPublish' + } + } + } +} diff --git a/gradle.properties b/gradle.properties index dea997e..2ead9a2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ org.gradle.configuration-cache=true org.gradle.caching=true +version=21.0.12-j17-1 # activate once it works more reliable in IntelliJ # https://docs.gradle.org/current/userguide/isolated_projects.html diff --git a/gradle/sava.properties b/gradle/sava.properties index 467ffc2..ec6387e 100644 --- a/gradle/sava.properties +++ b/gradle/sava.properties @@ -1,3 +1,3 @@ productDescription=Json Parser -javaVersion=21 +javaVersion=17 solanaBOMVersion=25.14.0 diff --git a/json-iterator/build.gradle.kts b/json-iterator/build.gradle.kts index 6c3cdf2..3f32976 100644 --- a/json-iterator/build.gradle.kts +++ b/json-iterator/build.gradle.kts @@ -1,3 +1,23 @@ +import org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention + +plugins { + id("com.jfrog.artifactory") version "6.0.1" +} + +configure { + publish { + contextUrl = "https://software.r3.com/artifactory" + repository { + repoKey = "corda-dependencies" + username = System.getenv("CORDA_ARTIFACTORY_USERNAME") + password = System.getenv("CORDA_ARTIFACTORY_PASSWORD") + } + defaults { + publications("ALL_PUBLICATIONS") + } + } +} + testModuleInfo { requires("org.junit.jupiter.api") requires("org.junit.jupiter.params") diff --git a/settings.gradle.kts b/settings.gradle.kts index 99a4c1e..e1c584a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,16 +1,19 @@ pluginManagement { repositories { maven { - name = "savaGithubPackages" - url = uri("https://maven.pkg.github.com/sava-software/sava-build") - credentials(PasswordCredentials::class) + url = uri("https://software.r3.com/artifactory/corda-dependencies") + credentials { + username = System.getenv("CORDA_ARTIFACTORY_USERNAME") + password = System.getenv("CORDA_ARTIFACTORY_PASSWORD") + } } gradlePluginPortal() + mavenLocal() } } plugins { - id("software.sava.build") version "21.3.6" + id("software.sava.build") version "21.3.6-j17-1" } rootProject.name = "json-iterator"