aboutsummaryrefslogtreecommitdiff
path: root/examples/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'examples/build.gradle')
-rw-r--r--examples/build.gradle187
1 files changed, 182 insertions, 5 deletions
diff --git a/examples/build.gradle b/examples/build.gradle
index b4bb6fa5..fa3eb587 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -1,16 +1,193 @@
description = 'OpenCensus Examples'
+buildscript {
+ repositories {
+ mavenCentral()
+ mavenLocal()
+ maven {
+ url "https://plugins.gradle.org/m2/"
+ }
+ }
+ dependencies {
+ classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.4.2'
+ classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.13'
+ classpath "net.ltgt.gradle:gradle-apt-plugin:0.10"
+ classpath 'com.github.ben-manes:gradle-versions-plugin:0.15.0'
+ classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.6"
+ }
+}
+
+// Display the version report using: ./gradlew dependencyUpdates
+// Also see https://github.com/ben-manes/gradle-versions-plugin.
+apply plugin: 'com.github.ben-manes.versions'
+apply plugin: "checkstyle"
+apply plugin: 'maven'
+apply plugin: 'idea'
+apply plugin: 'java'
+apply plugin: "signing"
+apply plugin: "jacoco"
+// The plugin only has an effect if a signature is specified
+apply plugin: 'ru.vyarus.animalsniffer'
+apply plugin: 'findbugs'
+apply plugin: 'net.ltgt.apt'
+// Plugins that require java8
+if (JavaVersion.current().isJava8Compatible()) {
+ apply plugin: "net.ltgt.errorprone"
+ apply plugin: 'com.github.sherter.google-java-format'
+}
+
+repositories {
+ mavenCentral()
+ mavenLocal()
+}
+
+group = "io.opencensus"
+version = "0.11.0-SNAPSHOT"
+
+// change to the version you want to use.
+def opencensusVersion = "0.11.0-SNAPSHOT" // CURRENT_OPENCENSUS_VERSION
+
+[compileJava, compileTestJava].each() {
+ // We suppress the "processing" warning as suggested in
+ // https://groups.google.com/forum/#!topic/bazel-discuss/_R3A9TJSoPM
+ it.options.compilerArgs += ["-Xlint:all", "-Xlint:-try", "-Xlint:-processing"]
+ if (JavaVersion.current().isJava8Compatible()) {
+ it.options.compilerArgs += ["-XepDisableWarningsInGeneratedCode"]
+ // TODO(bdrutu): Read files directly instead of reading from properties.
+ if (rootProject.hasProperty("errorProneWarnings")) {
+ it.options.compilerArgs += rootProject.properties["errorProneWarnings"].split(',').collect {
+ it as String
+ }
+ }
+ if (rootProject.hasProperty("errorProneExperimentalErrors")) {
+ it.options.compilerArgs += rootProject.properties["errorProneExperimentalErrors"].split(',').collect {
+ it as String
+ }
+ }
+ if (rootProject.hasProperty("errorProneExperimentalWarnings")) {
+ it.options.compilerArgs += rootProject.properties["errorProneExperimentalWarnings"].split(',').collect {
+ it as String
+ }
+ }
+ if (rootProject.hasProperty("errorProneExperimentalSuggestions")) {
+ it.options.compilerArgs += rootProject.properties["errorProneExperimentalSuggestions"].split(',').collect {
+ it as String
+ }
+ }
+ }
+ it.options.encoding = "UTF-8"
+ // TODO(bdrutu): Enable when fix the issue with configuring bootstrap class.
+ // [options] bootstrap class path not set in conjunction with -source 1.6
+ if (JavaVersion.current().isJava8Compatible()) {
+ it.options.compilerArgs += ["-Werror"]
+ }
+}
+
+compileTestJava {
+ // serialVersionUID is basically guaranteed to be useless in tests
+ options.compilerArgs += ["-Xlint:-serial"]
+ // It undeprecates DoubleSubject.isEqualTo(Double).
+ options.compilerArgs += ["-Xlint:-deprecation"]
+}
+
+jar.manifest {
+ attributes('Implementation-Title': name,
+ 'Implementation-Version': version,
+ 'Built-By': System.getProperty('user.name'),
+ 'Built-JDK': System.getProperty('java.version'),
+ 'Source-Compatibility': sourceCompatibility,
+ 'Target-Compatibility': targetCompatibility)
+}
+
+javadoc.options {
+ encoding = 'UTF-8'
+ links 'https://docs.oracle.com/javase/8/docs/api/'
+}
+
+ext {
+ findBugsVersion = '3.0.1'
+}
+
+findbugs {
+ toolVersion = findBugsVersion
+ ignoreFailures = false // bug free or it doesn't ship!
+ effort = 'max'
+ reportLevel = 'low' // low = sensitive to even minor mistakes
+ omitVisitors = [] // bugs that we want to ignore
+}
+// Generate html report for findbugs.
+findbugsMain {
+ reports {
+ xml.enabled = false
+ html.enabled = true
+ }
+}
+// Disable findbugs for tests.
+findbugsTest.enabled = false
+
+checkstyle {
+ configFile = file("$rootDir/buildscripts/checkstyle.xml")
+ toolVersion = "8.0"
+ ignoreFailures = false
+ if (rootProject.hasProperty("checkstyle.ignoreFailures")) {
+ ignoreFailures = rootProject.properties["checkstyle.ignoreFailures"].toBoolean()
+ }
+ configProperties["rootDir"] = rootDir
+}
+
+// Disable checkstyle if no java8.
+checkstyleMain.enabled = JavaVersion.current().isJava8Compatible()
+checkstyleTest.enabled = JavaVersion.current().isJava8Compatible()
+
+// Google formatter works only on java8.
+if (JavaVersion.current().isJava8Compatible()) {
+ googleJavaFormat {
+ toolVersion '1.5'
+ }
+}
+
+signing {
+ required false
+ sign configurations.archives
+}
+
+task javadocJar(type: Jar) {
+ classifier = 'javadoc'
+ from javadoc
+}
+
+task sourcesJar(type: Jar) {
+ classifier = 'sources'
+ from sourceSets.main.allSource
+}
+
+artifacts {
+ archives javadocJar, sourcesJar
+}
+
+// At a test failure, log the stack trace to the console so that we don't
+// have to open the HTML in a browser.
+test {
+ testLogging {
+ exceptionFormat = 'full'
+ showExceptions true
+ showCauses true
+ showStackTraces true
+ }
+ maxHeapSize = '1500m'
+}
+
tasks.withType(JavaCompile) {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
dependencies {
- compile project(':opencensus-api'),
- project(':opencensus-contrib-zpages'),
- project(':opencensus-exporter-trace-logging')
+ compile "io.opencensus:opencensus-api:${opencensusVersion}",
+ "io.opencensus:opencensus-contrib-zpages:${opencensusVersion}",
+ "io.opencensus:opencensus-exporter-trace-logging:${opencensusVersion}"
- runtime project(':opencensus-impl')
+ runtime "io.opencensus:opencensus-impl:${opencensusVersion}"
}
// Provide convenience executables for trying out the examples.
@@ -60,4 +237,4 @@ applicationDistribution.into('bin') {
from(statsRunner)
from(zPagesTester)
fileMode = 0755
-} \ No newline at end of file
+}