1*27e8546dSMatt Gilbride import groovy.util.Node 2*27e8546dSMatt Gilbride <lambda>null3*27e8546dSMatt Gilbridebuildscript { 4*27e8546dSMatt Gilbride extra.apply { 5*27e8546dSMatt Gilbride set("moduleName", "io.perfmark.agent") 6*27e8546dSMatt Gilbride } 7*27e8546dSMatt Gilbride } 8*27e8546dSMatt Gilbride <lambda>null9*27e8546dSMatt Gilbrideplugins { 10*27e8546dSMatt Gilbride id("com.github.johnrengelman.shadow") version "7.0.0" 11*27e8546dSMatt Gilbride } 12*27e8546dSMatt Gilbride 13*27e8546dSMatt Gilbride val jdkVersion = JavaVersion.VERSION_1_6 14*27e8546dSMatt Gilbride <lambda>null15*27e8546dSMatt Gilbridedependencies { 16*27e8546dSMatt Gilbride compileOnly(libs.jsr305) 17*27e8546dSMatt Gilbride compileOnly(libs.errorprone) 18*27e8546dSMatt Gilbride 19*27e8546dSMatt Gilbride implementation("org.ow2.asm:asm:9.1") 20*27e8546dSMatt Gilbride implementation("org.ow2.asm:asm-commons:9.1") 21*27e8546dSMatt Gilbride 22*27e8546dSMatt Gilbride testImplementation(project(":perfmark-api")) 23*27e8546dSMatt Gilbride testImplementation(project(":perfmark-impl")) 24*27e8546dSMatt Gilbride testImplementation(libs.truth) 25*27e8546dSMatt Gilbride testRuntimeOnly(project(":perfmark-java6")) 26*27e8546dSMatt Gilbride } 27*27e8546dSMatt Gilbride <lambda>null28*27e8546dSMatt Gilbridetasks.named<JavaCompile>("compileJava") { 29*27e8546dSMatt Gilbride sourceCompatibility = jdkVersion.toString() 30*27e8546dSMatt Gilbride targetCompatibility = jdkVersion.toString() 31*27e8546dSMatt Gilbride 32*27e8546dSMatt Gilbride javaCompiler.set(javaToolchains.compilerFor { 33*27e8546dSMatt Gilbride languageVersion.set(JavaLanguageVersion.of(11)) 34*27e8546dSMatt Gilbride }) 35*27e8546dSMatt Gilbride 36*27e8546dSMatt Gilbride options.compilerArgs.add("-Xlint:-options") 37*27e8546dSMatt Gilbride } 38*27e8546dSMatt Gilbride <lambda>null39*27e8546dSMatt Gilbridetasks.named<JavaCompile>("compileTestJava") { 40*27e8546dSMatt Gilbride sourceCompatibility = JavaVersion.VERSION_17.toString() 41*27e8546dSMatt Gilbride targetCompatibility = JavaVersion.VERSION_17.toString() 42*27e8546dSMatt Gilbride } 43*27e8546dSMatt Gilbride <lambda>null44*27e8546dSMatt Gilbridetasks.named<Jar>("jar") { 45*27e8546dSMatt Gilbride // Make this not the default 46*27e8546dSMatt Gilbride archiveClassifier.value("original") 47*27e8546dSMatt Gilbride manifest { 48*27e8546dSMatt Gilbride attributes(mapOf( 49*27e8546dSMatt Gilbride "Premain-Class" to "io.perfmark.agent.PerfMarkAgent", 50*27e8546dSMatt Gilbride )) 51*27e8546dSMatt Gilbride } 52*27e8546dSMatt Gilbride } 53*27e8546dSMatt Gilbride <lambda>null54*27e8546dSMatt Gilbridetasks.named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") { 55*27e8546dSMatt Gilbride // make sure this is THE jar, which removes the suffix. 56*27e8546dSMatt Gilbride archiveClassifier.value(null as String?) 57*27e8546dSMatt Gilbride 58*27e8546dSMatt Gilbride relocate("org.objectweb.asm", "io.perfmark.agent.shaded.org.objectweb.asm") 59*27e8546dSMatt Gilbride } 60*27e8546dSMatt Gilbride 61*27e8546dSMatt Gilbride publishing { <lambda>null62*27e8546dSMatt Gilbride publications { 63*27e8546dSMatt Gilbride named<MavenPublication>("maven") { 64*27e8546dSMatt Gilbride pom.withXml { 65*27e8546dSMatt Gilbride val root = asNode() 66*27e8546dSMatt Gilbride 67*27e8546dSMatt Gilbride for (child in root.children()) { 68*27e8546dSMatt Gilbride val c = child as Node 69*27e8546dSMatt Gilbride if (c.name().toString().endsWith("dependencies")) { 70*27e8546dSMatt Gilbride root.remove(c) 71*27e8546dSMatt Gilbride break 72*27e8546dSMatt Gilbride } 73*27e8546dSMatt Gilbride } 74*27e8546dSMatt Gilbride } 75*27e8546dSMatt Gilbride } 76*27e8546dSMatt Gilbride } 77*27e8546dSMatt Gilbride }