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