xref: /aosp_15_r20/external/perfmark/agent/build.gradle.kts (revision 27e8546d0ef5f99cf83d5252272c7dd38d18d29a)
1*27e8546dSMatt Gilbride import groovy.util.Node
2*27e8546dSMatt Gilbride 
<lambda>null3*27e8546dSMatt Gilbride buildscript {
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 Gilbride plugins {
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 Gilbride dependencies {
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 Gilbride tasks.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 Gilbride tasks.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 Gilbride tasks.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 Gilbride tasks.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 }