You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

155 lines
4.9 KiB

description = 'OpenCensus Examples'
buildscript {
repositories {
mavenCentral()
mavenLocal()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
}
}
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'com.google.protobuf'
repositories {
mavenCentral()
mavenLocal()
}
group = "io.opencensus"
version = "0.17.0-SNAPSHOT" // CURRENT_OPENCENSUS_VERSION
def opencensusVersion = "0.16.1" // LATEST_OPENCENSUS_RELEASE_VERSION
def grpcVersion = "1.13.1" // CURRENT_GRPC_VERSION
def prometheusVersion = "0.3.0"
tasks.withType(JavaCompile) {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
dependencies {
compile "com.google.api.grpc:proto-google-common-protos:1.11.0",
"io.opencensus:opencensus-api:${opencensusVersion}",
"io.opencensus:opencensus-contrib-zpages:${opencensusVersion}",
"io.opencensus:opencensus-contrib-grpc-metrics:${opencensusVersion}",
"io.opencensus:opencensus-exporter-stats-prometheus:${opencensusVersion}",
"io.opencensus:opencensus-exporter-stats-stackdriver:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-stackdriver:${opencensusVersion}",
"io.opencensus:opencensus-exporter-trace-logging:${opencensusVersion}",
"io.grpc:grpc-protobuf:${grpcVersion}",
"io.grpc:grpc-stub:${grpcVersion}",
"io.grpc:grpc-netty:${grpcVersion}",
"io.prometheus:simpleclient_httpserver:${prometheusVersion}"
runtime "io.opencensus:opencensus-impl:${opencensusVersion}",
"io.netty:netty-tcnative-boringssl-static:2.0.8.Final"
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.5.1-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'
}
}
}
// 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
}
applicationDistribution.into('bin') {
from(multiSpansTracing)
from(multiSpansScopedTracing)
from(multiSpansContextTracing)
from(tagContextExample)
from(zPagesTester)
from(quickStart)
from(helloWorldServer)
from(helloWorldClient)
fileMode = 0755
}