xref: /aosp_15_r20/external/opencensus-java/examples/build.gradle (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimidescription = 'OpenCensus Examples'
2*a24ffb47SSadaf Ebrahimi
3*a24ffb47SSadaf Ebrahimibuildscript {
4*a24ffb47SSadaf Ebrahimi    repositories {
5*a24ffb47SSadaf Ebrahimi        mavenCentral()
6*a24ffb47SSadaf Ebrahimi        mavenLocal()
7*a24ffb47SSadaf Ebrahimi        maven {
8*a24ffb47SSadaf Ebrahimi            url "https://plugins.gradle.org/m2/"
9*a24ffb47SSadaf Ebrahimi        }
10*a24ffb47SSadaf Ebrahimi    }
11*a24ffb47SSadaf Ebrahimi    dependencies {
12*a24ffb47SSadaf Ebrahimi        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8'
13*a24ffb47SSadaf Ebrahimi        classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0'
14*a24ffb47SSadaf Ebrahimi        classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.8"
15*a24ffb47SSadaf Ebrahimi    }
16*a24ffb47SSadaf Ebrahimi}
17*a24ffb47SSadaf Ebrahimi
18*a24ffb47SSadaf Ebrahimiapply plugin: "checkstyle"
19*a24ffb47SSadaf Ebrahimiapply plugin: 'com.google.protobuf'
20*a24ffb47SSadaf Ebrahimiapply plugin: 'com.github.sherter.google-java-format'
21*a24ffb47SSadaf Ebrahimiapply plugin: 'idea'
22*a24ffb47SSadaf Ebrahimiapply plugin: 'java'
23*a24ffb47SSadaf Ebrahimi
24*a24ffb47SSadaf Ebrahimi// Display the version report using: ./gradlew dependencyUpdates
25*a24ffb47SSadaf Ebrahimi// Also see https://github.com/ben-manes/gradle-versions-plugin.
26*a24ffb47SSadaf Ebrahimiapply plugin: 'com.github.ben-manes.versions'
27*a24ffb47SSadaf Ebrahimi
28*a24ffb47SSadaf Ebrahimirepositories {
29*a24ffb47SSadaf Ebrahimi    mavenCentral()
30*a24ffb47SSadaf Ebrahimi    mavenLocal()
31*a24ffb47SSadaf Ebrahimi}
32*a24ffb47SSadaf Ebrahimi
33*a24ffb47SSadaf Ebrahimigroup = "io.opencensus"
34*a24ffb47SSadaf Ebrahimiversion = "0.32.0-SNAPSHOT" // CURRENT_OPENCENSUS_VERSION
35*a24ffb47SSadaf Ebrahimi
36*a24ffb47SSadaf Ebrahimidef opencensusVersion = "0.30.0" // LATEST_OPENCENSUS_RELEASE_VERSION
37*a24ffb47SSadaf Ebrahimidef grpcVersion = "1.32.2" // CURRENT_GRPC_VERSION
38*a24ffb47SSadaf Ebrahimidef prometheusVersion = "0.6.0"
39*a24ffb47SSadaf Ebrahimidef jettyVersion = "9.4.17.v20190418"
40*a24ffb47SSadaf Ebrahimidef tcnativeVersion = "2.0.20.Final"
41*a24ffb47SSadaf Ebrahimi
42*a24ffb47SSadaf Ebrahimitasks.withType(JavaCompile) {
43*a24ffb47SSadaf Ebrahimi    sourceCompatibility = '1.8'
44*a24ffb47SSadaf Ebrahimi    targetCompatibility = '1.8'
45*a24ffb47SSadaf Ebrahimi}
46*a24ffb47SSadaf Ebrahimi
47*a24ffb47SSadaf Ebrahimidependencies {
48*a24ffb47SSadaf Ebrahimi    compile "com.google.api.grpc:proto-google-common-protos:1.12.0",
49*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-api:${opencensusVersion}",
50*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-contrib-zpages:${opencensusVersion}",
51*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-contrib-grpc-metrics:${opencensusVersion}",
52*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-contrib-http-util:${opencensusVersion}",
53*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-contrib-http-servlet:${opencensusVersion}",
54*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-contrib-http-jetty-client:${opencensusVersion}",
55*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-metrics-ocagent:${opencensusVersion}",
56*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-stats-prometheus:${opencensusVersion}",
57*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-stats-stackdriver:${opencensusVersion}",
58*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-trace-jaeger:${opencensusVersion}",
59*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-trace-stackdriver:${opencensusVersion}",
60*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-trace-logging:${opencensusVersion}",
61*a24ffb47SSadaf Ebrahimi            "io.opencensus:opencensus-exporter-trace-ocagent:${opencensusVersion}",
62*a24ffb47SSadaf Ebrahimi            "io.grpc:grpc-protobuf:${grpcVersion}",
63*a24ffb47SSadaf Ebrahimi            "io.grpc:grpc-stub:${grpcVersion}",
64*a24ffb47SSadaf Ebrahimi            "io.grpc:grpc-netty-shaded:${grpcVersion}",
65*a24ffb47SSadaf Ebrahimi            "io.grpc:grpc-census:${grpcVersion}",
66*a24ffb47SSadaf Ebrahimi            "io.prometheus:simpleclient_httpserver:${prometheusVersion}",
67*a24ffb47SSadaf Ebrahimi            "javax.servlet:javax.servlet-api:3.1.0",
68*a24ffb47SSadaf Ebrahimi            "org.eclipse.jetty:jetty-server:${jettyVersion}",
69*a24ffb47SSadaf Ebrahimi            "org.eclipse.jetty:jetty-client:${jettyVersion}",
70*a24ffb47SSadaf Ebrahimi            "org.eclipse.jetty:jetty-servlet:${jettyVersion}",
71*a24ffb47SSadaf Ebrahimi            "org.slf4j:slf4j-log4j12:1.7.25"
72*a24ffb47SSadaf Ebrahimi
73*a24ffb47SSadaf Ebrahimi    runtime "io.opencensus:opencensus-impl:${opencensusVersion}",
74*a24ffb47SSadaf Ebrahimi            "io.netty:netty-tcnative-boringssl-static:${tcnativeVersion}"
75*a24ffb47SSadaf Ebrahimi}
76*a24ffb47SSadaf Ebrahimi
77*a24ffb47SSadaf EbrahimigoogleJavaFormat {
78*a24ffb47SSadaf Ebrahimi    toolVersion '1.7'
79*a24ffb47SSadaf Ebrahimi    source = 'src/main'
80*a24ffb47SSadaf Ebrahimi    include '**/*.java'
81*a24ffb47SSadaf Ebrahimi}
82*a24ffb47SSadaf Ebrahimi
83*a24ffb47SSadaf EbrahimiverifyGoogleJavaFormat {
84*a24ffb47SSadaf Ebrahimi    source = 'src/main'
85*a24ffb47SSadaf Ebrahimi    include '**/*.java'
86*a24ffb47SSadaf Ebrahimi}
87*a24ffb47SSadaf Ebrahimi
88*a24ffb47SSadaf Ebrahimiprotobuf {
89*a24ffb47SSadaf Ebrahimi    protoc {
90*a24ffb47SSadaf Ebrahimi        artifact = 'com.google.protobuf:protoc:3.6.1'
91*a24ffb47SSadaf Ebrahimi    }
92*a24ffb47SSadaf Ebrahimi    plugins {
93*a24ffb47SSadaf Ebrahimi        grpc {
94*a24ffb47SSadaf Ebrahimi            artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
95*a24ffb47SSadaf Ebrahimi        }
96*a24ffb47SSadaf Ebrahimi    }
97*a24ffb47SSadaf Ebrahimi    generateProtoTasks {
98*a24ffb47SSadaf Ebrahimi        all()*.plugins {
99*a24ffb47SSadaf Ebrahimi            grpc {}
100*a24ffb47SSadaf Ebrahimi        }
101*a24ffb47SSadaf Ebrahimi        ofSourceSet('main')
102*a24ffb47SSadaf Ebrahimi    }
103*a24ffb47SSadaf Ebrahimi}
104*a24ffb47SSadaf Ebrahimi
105*a24ffb47SSadaf Ebrahimi// Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code.
106*a24ffb47SSadaf EbrahimisourceSets {
107*a24ffb47SSadaf Ebrahimi    main {
108*a24ffb47SSadaf Ebrahimi        java {
109*a24ffb47SSadaf Ebrahimi            srcDir 'src'
110*a24ffb47SSadaf Ebrahimi            srcDirs 'build/generated/source/proto/main/grpc'
111*a24ffb47SSadaf Ebrahimi            srcDirs 'build/generated/source/proto/main/java'
112*a24ffb47SSadaf Ebrahimi        }
113*a24ffb47SSadaf Ebrahimi    }
114*a24ffb47SSadaf Ebrahimi}
115*a24ffb47SSadaf Ebrahimi
116*a24ffb47SSadaf Ebrahimicheckstyle {
117*a24ffb47SSadaf Ebrahimi    configFile = file("$rootDir/../buildscripts/checkstyle.xml")
118*a24ffb47SSadaf Ebrahimi    toolVersion = "8.12"
119*a24ffb47SSadaf Ebrahimi    ignoreFailures = false
120*a24ffb47SSadaf Ebrahimi    configProperties["rootDir"] = "$rootDir/.."
121*a24ffb47SSadaf Ebrahimi}
122*a24ffb47SSadaf Ebrahimi
123*a24ffb47SSadaf Ebrahimi// Disable checkstyle if no java8.
124*a24ffb47SSadaf EbrahimicheckstyleMain.source = 'src/main'
125*a24ffb47SSadaf EbrahimicheckstyleTest.source = 'src/main'
126*a24ffb47SSadaf Ebrahimi
127*a24ffb47SSadaf Ebrahimi// Provide convenience executables for trying out the examples.
128*a24ffb47SSadaf Ebrahimiapply plugin: 'application'
129*a24ffb47SSadaf Ebrahimi
130*a24ffb47SSadaf EbrahimistartScripts.enabled = false
131*a24ffb47SSadaf Ebrahimi
132*a24ffb47SSadaf Ebrahimitask tagContextExample(type: CreateStartScripts) {
133*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.tags.TagContextExample'
134*a24ffb47SSadaf Ebrahimi    applicationName = 'TagContextExample'
135*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
136*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
137*a24ffb47SSadaf Ebrahimi}
138*a24ffb47SSadaf Ebrahimi
139*a24ffb47SSadaf Ebrahimitask multiSpansTracing(type: CreateStartScripts) {
140*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.trace.MultiSpansTracing'
141*a24ffb47SSadaf Ebrahimi    applicationName = 'MultiSpansTracing'
142*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
143*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
144*a24ffb47SSadaf Ebrahimi}
145*a24ffb47SSadaf Ebrahimi
146*a24ffb47SSadaf Ebrahimitask multiSpansScopedTracing(type: CreateStartScripts) {
147*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.trace.MultiSpansScopedTracing'
148*a24ffb47SSadaf Ebrahimi    applicationName = 'MultiSpansScopedTracing'
149*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
150*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
151*a24ffb47SSadaf Ebrahimi}
152*a24ffb47SSadaf Ebrahimi
153*a24ffb47SSadaf Ebrahimitask multiSpansContextTracing(type: CreateStartScripts) {
154*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.trace.MultiSpansContextTracing'
155*a24ffb47SSadaf Ebrahimi    applicationName = 'MultiSpansContextTracing'
156*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
157*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
158*a24ffb47SSadaf Ebrahimi}
159*a24ffb47SSadaf Ebrahimi
160*a24ffb47SSadaf Ebrahimitask zPagesTester(type: CreateStartScripts) {
161*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.zpages.ZPagesTester'
162*a24ffb47SSadaf Ebrahimi    applicationName = 'ZPagesTester'
163*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
164*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
165*a24ffb47SSadaf Ebrahimi}
166*a24ffb47SSadaf Ebrahimi
167*a24ffb47SSadaf Ebrahimitask quickStart(type: CreateStartScripts) {
168*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.helloworld.QuickStart'
169*a24ffb47SSadaf Ebrahimi    applicationName = 'QuickStart'
170*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
171*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
172*a24ffb47SSadaf Ebrahimi}
173*a24ffb47SSadaf Ebrahimi
174*a24ffb47SSadaf Ebrahimitask helloWorldServer(type: CreateStartScripts) {
175*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.grpc.helloworld.HelloWorldServer'
176*a24ffb47SSadaf Ebrahimi    applicationName = 'HelloWorldServer'
177*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
178*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
179*a24ffb47SSadaf Ebrahimi}
180*a24ffb47SSadaf Ebrahimi
181*a24ffb47SSadaf Ebrahimitask helloWorldClient(type: CreateStartScripts) {
182*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.grpc.helloworld.HelloWorldClient'
183*a24ffb47SSadaf Ebrahimi    applicationName = 'HelloWorldClient'
184*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
185*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
186*a24ffb47SSadaf Ebrahimi}
187*a24ffb47SSadaf Ebrahimi
188*a24ffb47SSadaf Ebrahimitask repl(type: CreateStartScripts) {
189*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.quickstart.Repl'
190*a24ffb47SSadaf Ebrahimi    applicationName = 'Repl'
191*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
192*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
193*a24ffb47SSadaf Ebrahimi}
194*a24ffb47SSadaf Ebrahimi
195*a24ffb47SSadaf Ebrahimitask stackdriverStatsQuickstart(type: CreateStartScripts) {
196*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.stats.StackdriverQuickstart'
197*a24ffb47SSadaf Ebrahimi    applicationName = 'StackdriverQuickstart'
198*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
199*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
200*a24ffb47SSadaf Ebrahimi}
201*a24ffb47SSadaf Ebrahimi
202*a24ffb47SSadaf Ebrahimitask derivedDoubleGaugeQuickstart(type: CreateStartScripts) {
203*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.gauges.DerivedDoubleGaugeQuickstart'
204*a24ffb47SSadaf Ebrahimi    applicationName = 'DerivedDoubleGaugeQuickstart'
205*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
206*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
207*a24ffb47SSadaf Ebrahimi}
208*a24ffb47SSadaf Ebrahimi
209*a24ffb47SSadaf Ebrahimitask derivedLongGaugeQuickstart(type: CreateStartScripts) {
210*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.gauges.DerivedLongGaugeQuickstart'
211*a24ffb47SSadaf Ebrahimi    applicationName = 'DerivedLongGaugeQuickstart'
212*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
213*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
214*a24ffb47SSadaf Ebrahimi}
215*a24ffb47SSadaf Ebrahimi
216*a24ffb47SSadaf Ebrahimitask doubleGaugeQuickstart(type: CreateStartScripts) {
217*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.gauges.DoubleGaugeQuickstart'
218*a24ffb47SSadaf Ebrahimi    applicationName = 'DoubleGaugeQuickstart'
219*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
220*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
221*a24ffb47SSadaf Ebrahimi}
222*a24ffb47SSadaf Ebrahimi
223*a24ffb47SSadaf Ebrahimitask longGaugeQuickstart(type: CreateStartScripts) {
224*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.gauges.LongGaugeQuickstart'
225*a24ffb47SSadaf Ebrahimi    applicationName = 'LongGaugeQuickstart'
226*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
227*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
228*a24ffb47SSadaf Ebrahimi}
229*a24ffb47SSadaf Ebrahimi
230*a24ffb47SSadaf Ebrahimitask httpJettyServer(type: CreateStartScripts) {
231*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.http.jetty.server.HelloWorldServer'
232*a24ffb47SSadaf Ebrahimi    applicationName = 'HttpJettyServer'
233*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
234*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
235*a24ffb47SSadaf Ebrahimi}
236*a24ffb47SSadaf Ebrahimi
237*a24ffb47SSadaf Ebrahimitask httpJettyClient(type: CreateStartScripts) {
238*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.http.jetty.client.HelloWorldClient'
239*a24ffb47SSadaf Ebrahimi    applicationName = 'HttpJettyClient'
240*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
241*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
242*a24ffb47SSadaf Ebrahimi}
243*a24ffb47SSadaf Ebrahimi
244*a24ffb47SSadaf Ebrahimitask ocAgentExportersQuickStart(type: CreateStartScripts) {
245*a24ffb47SSadaf Ebrahimi    mainClassName = 'io.opencensus.examples.ocagent.OcAgentExportersQuickStart'
246*a24ffb47SSadaf Ebrahimi    applicationName = 'OcAgentExportersQuickStart'
247*a24ffb47SSadaf Ebrahimi    outputDir = new File(project.buildDir, 'tmp')
248*a24ffb47SSadaf Ebrahimi    classpath = jar.outputs.files + project.configurations.runtime
249*a24ffb47SSadaf Ebrahimi}
250*a24ffb47SSadaf Ebrahimi
251*a24ffb47SSadaf Ebrahimi
252*a24ffb47SSadaf EbrahimiapplicationDistribution.into('bin') {
253*a24ffb47SSadaf Ebrahimi    from(multiSpansTracing)
254*a24ffb47SSadaf Ebrahimi    from(multiSpansScopedTracing)
255*a24ffb47SSadaf Ebrahimi    from(multiSpansContextTracing)
256*a24ffb47SSadaf Ebrahimi    from(tagContextExample)
257*a24ffb47SSadaf Ebrahimi    from(zPagesTester)
258*a24ffb47SSadaf Ebrahimi    from(quickStart)
259*a24ffb47SSadaf Ebrahimi    from(helloWorldServer)
260*a24ffb47SSadaf Ebrahimi    from(helloWorldClient)
261*a24ffb47SSadaf Ebrahimi    from(repl)
262*a24ffb47SSadaf Ebrahimi    from(stackdriverStatsQuickstart)
263*a24ffb47SSadaf Ebrahimi    from(derivedDoubleGaugeQuickstart)
264*a24ffb47SSadaf Ebrahimi    from(derivedLongGaugeQuickstart)
265*a24ffb47SSadaf Ebrahimi    from(doubleGaugeQuickstart)
266*a24ffb47SSadaf Ebrahimi    from(longGaugeQuickstart)
267*a24ffb47SSadaf Ebrahimi    from(httpJettyServer)
268*a24ffb47SSadaf Ebrahimi    from(httpJettyClient)
269*a24ffb47SSadaf Ebrahimi    from(ocAgentExportersQuickStart)
270*a24ffb47SSadaf Ebrahimi    fileMode = 0755
271*a24ffb47SSadaf Ebrahimi}
272