Migrate spring-boot smoke build to kotlin (#5824)

This commit is contained in:
Anuraag Agrawal 2022-04-14 13:08:13 +09:00 committed by GitHub
parent bf9a4f8df1
commit a0b0b1223f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 84 additions and 52 deletions

View File

@ -1,51 +0,0 @@
plugins {
id "org.springframework.boot" version "2.3.2.RELEASE"
id "io.spring.dependency-management" version "1.0.9.RELEASE"
id "java"
id "com.google.cloud.tools.jib" version "3.1.4"
id "com.diffplug.spotless" version "6.1.2"
}
group = "io.opentelemetry"
version = "0.0.1-SNAPSHOT"
repositories {
mavenCentral()
// this is only needed for the working against unreleased otel-java snapshots
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
content {
includeGroup "io.opentelemetry"
}
}
}
spotless {
java {
googleJavaFormat()
licenseHeaderFile(rootProject.file("../../../buildscripts/spotless.license.java"), "(package|import|public)")
target("src/**/*.java")
}
}
dependencies {
implementation platform("io.opentelemetry:opentelemetry-bom:1.0.0")
implementation "org.springframework.boot:spring-boot-starter-web"
implementation "io.opentelemetry:opentelemetry-extension-annotations"
implementation "io.opentelemetry:opentelemetry-api"
}
compileJava {
options.release.set(8)
}
def targetJDK = project.hasProperty("targetJDK") ? project.targetJDK : 11
def tag = findProperty("tag") ?: new Date().format("yyyyMMdd.HHmmSS")
jib {
from.image = "openjdk:$targetJDK"
to.image = "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-spring-boot:jdk$targetJDK-$tag"
container.ports = ["8080"]
}

View File

@ -0,0 +1,54 @@
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
plugins {
java
id("com.diffplug.spotless") version "6.4.2"
id("com.google.cloud.tools.jib") version "3.2.1"
}
group = "io.opentelemetry"
version = "0.0.1-SNAPSHOT"
repositories {
mavenCentral()
}
spotless {
java {
googleJavaFormat()
licenseHeaderFile(rootProject.file("../../../buildscripts/spotless.license.java"), "(package|import|public)")
}
kotlinGradle {
ktlint().userData(mapOf("indent_size" to "2", "continuation_indent_size" to "2", "disabled_rules" to "no-wildcard-imports"))
target("**/*.gradle.kts")
}
}
dependencies {
implementation(platform("io.opentelemetry:opentelemetry-bom:1.0.0"))
implementation(platform("org.springframework.boot:spring-boot-dependencies:2.6.6"))
implementation("io.opentelemetry:opentelemetry-api")
implementation("io.opentelemetry:opentelemetry-extension-annotations")
implementation("org.springframework.boot:spring-boot-starter-web")
}
tasks {
withType<JavaCompile>().configureEach {
with(options) {
release.set(8)
}
}
}
val targetJDK = project.findProperty("targetJDK") ?: "11"
val tag = findProperty("tag") ?: DateTimeFormatter.ofPattern("yyyyMMdd.HHmmSS").format(LocalDateTime.now())
jib {
from.image = "openjdk:$targetJDK"
to.image = "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-spring-boot:jdk$targetJDK-$tag"
container.ports = listOf("8080")
}

View File

@ -0,0 +1,29 @@
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.priority=low
# Gradle default is 256m which causes issues with our build - https://docs.gradle.org/current/userguide/build_environment.html#sec:configuring_jvm_memory
# Also workaround https://github.com/diffplug/spotless/issues/834
org.gradle.jvmargs=-XX:MaxMetaspaceSize=512m \
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
# Currently causes failure when importing project in IntelliJ
# org.gradle.warning.mode=fail
# To allow caching more tasks in buildSrc project
# This property is not mentioned in Gradle documentation
# See https://github.com/gradle/gradle/issues/15214 for background info
systemProp.org.gradle.kotlin.dsl.precompiled.accessors.strict=true
# Workaround https://youtrack.jetbrains.com/issue/KT-34862
kotlin.incremental=false

View File

@ -1 +0,0 @@
rootProject.name = 'smoke-test-spring-boot-images'

View File

@ -0,0 +1 @@
rootProject.name = "smoke-test-spring-boot-images"