blob: ac437cfc8ff9213d0cf17a7153cb8ea3a5a51a34 [file] [log] [blame] [edit]
description = 'OpenCensus Examples'
buildscript {
repositories {
mavenCentral()
mavenLocal()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0'
classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.8"
}
}
apply plugin: "checkstyle"
apply plugin: 'com.google.protobuf'
apply plugin: 'com.github.sherter.google-java-format'
apply plugin: 'idea'
apply plugin: 'java'
// Display the version report using: ./gradlew dependencyUpdates
// Also see https://github.com/ben-manes/gradle-versions-plugin.
apply plugin: 'com.github.ben-manes.versions'
repositories {
mavenCentral()
mavenLocal()
}
group = "io.opencensus"
version = "0.32.0-SNAPSHOT" // CURRENT_OPENCENSUS_VERSION
def opencensusVersion = "0.30.0" // LATEST_OPENCENSUS_RELEASE_VERSION
def grpcVersion = "1.32.2" // CURRENT_GRPC_VERSION
def prometheusVersion = "0.6.0"
def jettyVersion = "9.4.17.v20190418"
def tcnativeVersion = "2.0.20.Final"
tasks.withType(JavaCompile) {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
dependencies {
compile "com.google.api.grpc:proto-google-common-protos:1.12.0",
"io.opencensus:opencensus-api:${opencensusVersion}",
"io.opencensus:opencensus-contrib-zpages:${opencensusVersion}",
"io.opencensus:opencensus-contrib-grpc-metrics:${opencensusVersion}",
"io.opencensus:opencensus-contrib-http-util:${opencensusVersion}",
"io.opencensus:opencensus-contrib-http-servlet:${opencensusVersion}",
"io.opencensus:opencensus-contrib-http-jetty-client:${opencensusVersion}",
"io.opencensus:opencensus-exporter-metrics-ocagent:${opencensusVersion}",
"io.opencensus:opencensus-exporter-stats-prometheus:${opencensusVersion}",
"io.opencensus:opencensus-exporter-stats-stackdriver:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-jaeger:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-stackdriver:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-logging:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-ocagent:${opencensusVersion}",
"io.grpc:grpc-protobuf:${grpcVersion}",
"io.grpc:grpc-stub:${grpcVersion}",
"io.grpc:grpc-netty-shaded:${grpcVersion}",
"io.grpc:grpc-census:${grpcVersion}",
"io.prometheus:simpleclient_httpserver:${prometheusVersion}",
"javax.servlet:javax.servlet-api:3.1.0",
"org.eclipse.jetty:jetty-server:${jettyVersion}",
"org.eclipse.jetty:jetty-client:${jettyVersion}",
"org.eclipse.jetty:jetty-servlet:${jettyVersion}",
"org.slf4j:slf4j-log4j12:1.7.25"
runtime "io.opencensus:opencensus-impl:${opencensusVersion}",
"io.netty:netty-tcnative-boringssl-static:${tcnativeVersion}"
}
googleJavaFormat {
toolVersion '1.7'
source = 'src/main'
include '**/*.java'
}
verifyGoogleJavaFormat {
source = 'src/main'
include '**/*.java'
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.6.1'
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
ofSourceSet('main')
}
}
// Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code.
sourceSets {
main {
java {
srcDir 'src'
srcDirs 'build/generated/source/proto/main/grpc'
srcDirs 'build/generated/source/proto/main/java'
}
}
}
checkstyle {
configFile = file("$rootDir/../buildscripts/checkstyle.xml")
toolVersion = "8.12"
ignoreFailures = false
configProperties["rootDir"] = "$rootDir/.."
}
// Disable checkstyle if no java8.
checkstyleMain.source = 'src/main'
checkstyleTest.source = 'src/main'
// Provide convenience executables for trying out the examples.
apply plugin: 'application'
startScripts.enabled = false
task tagContextExample(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.tags.TagContextExample'
applicationName = 'TagContextExample'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task multiSpansTracing(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.trace.MultiSpansTracing'
applicationName = 'MultiSpansTracing'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task multiSpansScopedTracing(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.trace.MultiSpansScopedTracing'
applicationName = 'MultiSpansScopedTracing'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task multiSpansContextTracing(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.trace.MultiSpansContextTracing'
applicationName = 'MultiSpansContextTracing'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task zPagesTester(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.zpages.ZPagesTester'
applicationName = 'ZPagesTester'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task quickStart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.helloworld.QuickStart'
applicationName = 'QuickStart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task helloWorldServer(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.grpc.helloworld.HelloWorldServer'
applicationName = 'HelloWorldServer'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task helloWorldClient(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.grpc.helloworld.HelloWorldClient'
applicationName = 'HelloWorldClient'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task repl(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.quickstart.Repl'
applicationName = 'Repl'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task stackdriverStatsQuickstart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.stats.StackdriverQuickstart'
applicationName = 'StackdriverQuickstart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task derivedDoubleGaugeQuickstart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.gauges.DerivedDoubleGaugeQuickstart'
applicationName = 'DerivedDoubleGaugeQuickstart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task derivedLongGaugeQuickstart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.gauges.DerivedLongGaugeQuickstart'
applicationName = 'DerivedLongGaugeQuickstart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task doubleGaugeQuickstart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.gauges.DoubleGaugeQuickstart'
applicationName = 'DoubleGaugeQuickstart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task longGaugeQuickstart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.gauges.LongGaugeQuickstart'
applicationName = 'LongGaugeQuickstart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task httpJettyServer(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.http.jetty.server.HelloWorldServer'
applicationName = 'HttpJettyServer'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task httpJettyClient(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.http.jetty.client.HelloWorldClient'
applicationName = 'HttpJettyClient'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
task ocAgentExportersQuickStart(type: CreateStartScripts) {
mainClassName = 'io.opencensus.examples.ocagent.OcAgentExportersQuickStart'
applicationName = 'OcAgentExportersQuickStart'
outputDir = new File(project.buildDir, 'tmp')
classpath = jar.outputs.files + project.configurations.runtime
}
applicationDistribution.into('bin') {
from(multiSpansTracing)
from(multiSpansScopedTracing)
from(multiSpansContextTracing)
from(tagContextExample)
from(zPagesTester)
from(quickStart)
from(helloWorldServer)
from(helloWorldClient)
from(repl)
from(stackdriverStatsQuickstart)
from(derivedDoubleGaugeQuickstart)
from(derivedLongGaugeQuickstart)
from(doubleGaugeQuickstart)
from(longGaugeQuickstart)
from(httpJettyServer)
from(httpJettyClient)
from(ocAgentExportersQuickStart)
fileMode = 0755
}