diff options
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | .travis.yml | 44 | ||||
| -rw-r--r-- | benchmarks/build.gradle | 5 | ||||
| -rw-r--r-- | benchmarks/pom.xml | 88 | ||||
| -rw-r--r-- | build.gradle | 32 | ||||
| -rw-r--r-- | core/build.gradle | 2 | ||||
| -rw-r--r-- | core/pom.xml | 90 | ||||
| -rw-r--r-- | core_impl/build.gradle | 2 | ||||
| -rw-r--r-- | core_impl/pom.xml | 82 | ||||
| -rw-r--r-- | pom.xml | 222 | ||||
| -rw-r--r-- | settings.gradle | 9 | ||||
| -rw-r--r-- | shared/pom.xml | 31 |
12 files changed, 52 insertions, 560 deletions
@@ -7,7 +7,7 @@ local.properties # Bazel bazel-* -# Maven (examples) +# Maven (proto) target # IntelliJ IDEA @@ -27,5 +27,8 @@ bin *~ \#*\# +# Vim +.swp + # Other TAGS diff --git a/.travis.yml b/.travis.yml index 14a1e190..ddbe0b22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,23 +4,8 @@ language: java matrix: include: - - jdk: openjdk6 - env: BUILD=MVN GUAVA_VERSION=19.0 - - - jdk: oraclejdk7 - env: BUILD=MVN GUAVA_VERSION=19.0 - - jdk: oraclejdk7 - env: BUILD=MVN GUAVA_VERSION=20.0 - - - jdk: oraclejdk8 - env: BUILD=MVN GUAVA_VERSION=19.0 - - - jdk: oraclejdk8 - env: BUILD=MVN GUAVA_VERSION=20.0 - - - jdk: oraclejdk8 - env: BUILD=MVN GUAVA_VERSION=21.0 + env: BUILD=GRADLE - jdk: oraclejdk8 env: BUILD=BAZEL @@ -43,14 +28,6 @@ install: "BAZEL") sudo apt-get install bazel ; bazel version;; - "MVN") - mkdir protoc ; - cd protoc ; - curl -L -o protoc.zip https://github.com/google/protobuf/releases/download/v3.0.2/protoc-3.0.2-linux-x86_64.zip ; - unzip protoc.zip ; - export PATH=`pwd`/bin/:$PATH ; - protoc --version ; - cd .. ;; esac # TODO(sebright) Turn on the deprecation warning after we upgrade to truth 0.31. @@ -71,15 +48,13 @@ script: bazel test ... --javacopt=-Werror --javacopt=-Xlint:all --javacopt=-Xlint:-cast --javacopt=-Xlint:-deprecation --javacopt=-Xlint:-try --javacopt=-Xlint:-rawtypes --javacopt=-Xlint:-serial --javacopt=-Xlint:-unchecked --config=error_prone_warnings --config=error_prone_experimental_warnings ;; "GRADLE") ./gradlew clean assemble --stacktrace ; - ./gradlew check :instrumentation-all:jacocoTestReport --stacktrace ;; - "MVN") case "$TRAVIS_JDK_VERSION" in "oraclejdk8") - mvn verify -P dev -Dguava.version=$GUAVA_VERSION ;; + ./gradlew check :instrumentation-all:jacocoTestReport ;; "oraclejdk7") - mvn verify -Dguava.version=$GUAVA_VERSION ;; + ./gradlew check ;; "openjdk6") - mvn verify -Dmaven.test.skip -Dguava.version=$GUAVA_VERSION ;; + ./gradlew check ;; *) echo "Missing case $TRAVIS_JDK_VERSION" ; exit 1 ;; @@ -87,13 +62,10 @@ script: esac after_success: - - case "$BUILD" in - "GRADLE") - ./gradlew :instrumentation-all:coveralls --stacktrace ; - bash <(curl -s https://codecov.io/bash) ;; - *) - echo "No GRADLE" ;; - esac + - if \[ "$BUILD" = "GRADLE" && "$TRAVIS_JDK_VERSION" == "oraclejdk8"\]; then + ./gradlew :instrumentation-all:coveralls --stacktrace ; + bash <(curl -s https://codecov.io/bash) ; + fi ;; before_cache: - rm -fr $HOME/.gradle/caches/modules-2/modules-2.lock diff --git a/benchmarks/build.gradle b/benchmarks/build.gradle index 9a81ef32..a9dbf9bc 100644 --- a/benchmarks/build.gradle +++ b/benchmarks/build.gradle @@ -28,4 +28,7 @@ dependencies { compileJmhJava { options.compilerArgs = compileJava.options.compilerArgs -}
\ No newline at end of file +} + +// Disable checkstyle if not java8. +checkstyleJmh.enabled = JavaVersion.current().isJava8Compatible()
\ No newline at end of file diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml deleted file mode 100644 index e0e79e1f..00000000 --- a/benchmarks/pom.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <artifactId>census-benchmarks</artifactId> - - <name>Instrumentation Java Benchmarks</name> - <url>https://github.com/google/instrumentation-java</url> - - <parent> - <groupId>com.google.census</groupId> - <artifactId>census-parent</artifactId> - <version>0.1.0-SNAPSHOT</version> - </parent> - - <dependencies> - <dependency> - <groupId>com.google.census</groupId> - <artifactId>census-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.openjdk.jmh</groupId> - <artifactId>jmh-core</artifactId> - <version>1.18</version> - </dependency> - <dependency> - <groupId>org.openjdk.jmh</groupId> - <artifactId>jmh-generator-annprocess</artifactId> - <version>1.18</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <version>2.2</version> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <finalName>benchmarks</finalName> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> - <mainClass>org.openjdk.jmh.Main</mainClass> - </transformer> - </transformers> - <filters> - <filter> - <!-- - Shading signed JARs will fail without this. - http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar - --> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - </plugin> - </plugins> - </build> -</project> diff --git a/build.gradle b/build.gradle index 5aea52c1..089e841e 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ buildscript { } } dependencies { + classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.3.0' classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.9' } } @@ -18,9 +19,14 @@ subprojects { apply plugin: 'java' apply plugin: "signing" apply plugin: "jacoco" - // TODO(bdrutu): enable all checks. - apply plugin: "net.ltgt.errorprone" + // The plugin only has an effect if a signature is specified + apply plugin: 'ru.vyarus.animalsniffer' apply plugin: 'findbugs' + // Plugins that require java8 + if (JavaVersion.current().isJava8Compatible()) { + // TODO(bdrutu): enable all checks. + apply plugin: "net.ltgt.errorprone" + } group = "com.google.instrumentation" version = "0.4.0-SNAPSHOT" // CURRENT_INSTRUMENTATION_VERSION @@ -36,7 +42,11 @@ subprojects { [compileJava, compileTestJava].each() { it.options.compilerArgs += ["-Xlint:all", "-Xlint:-try"] it.options.encoding = "UTF-8" - it.options.compilerArgs += ["-Werror"] + // 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 { @@ -89,9 +99,11 @@ subprojects { libraries.mockito, libraries.truth - // The ErrorProne plugin defaults to the latest, which would break our - // build if error prone releases a new version with a new check - errorprone 'com.google.errorprone:error_prone_core:2.0.19' + if (JavaVersion.current().isJava8Compatible()) { + // The ErrorProne plugin defaults to the latest, which would break our + // build if error prone releases a new version with a new check + errorprone 'com.google.errorprone:error_prone_core:2.0.19' + } } findbugs { @@ -121,15 +133,21 @@ subprojects { // This skips proto generated files beucasue they are in gen_gradle/src/main/** source = fileTree(dir: "src/main", include: "**/*.java") } - checkstyleMain.onlyIf { !name.contains("proto") && !name.contains("shared") } checkstyleTest { // TODO(bdrutu): Enable this when we have tests checkstyle clean. // source = fileTree(dir: "src/test", include: "**/*.java") excludes = ["**"] } + + // Disable checkstyle for proto and shared. + checkstyleMain.onlyIf { !name.contains("proto") && !name.contains("shared") } checkstyleTest.onlyIf { !name.contains("proto") && !name.contains("shared") } + // Disable checkstyle if no java8. + checkstyleMain.enabled = JavaVersion.current().isJava8Compatible() + checkstyleTest.enabled = JavaVersion.current().isJava8Compatible() + // 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 { diff --git a/core/build.gradle b/core/build.gradle index 765f1de3..e477081a 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -7,4 +7,6 @@ dependencies { testCompile project(':instrumentation-core-impl'), libraries.grpc_context + + signature "org.codehaus.mojo.signature:java16:+@signature" } diff --git a/core/pom.xml b/core/pom.xml deleted file mode 100644 index 3a506273..00000000 --- a/core/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <artifactId>census-core</artifactId> - - <name>Instrumentation Java Core</name> - <url>https://github.com/google/instrumentation-java</url> - - <parent> - <groupId>com.google.census</groupId> - <artifactId>census-parent</artifactId> - <version>0.1.0-SNAPSHOT</version> - </parent> - - <dependencies> - <dependency> - <groupId>com.google.io</groupId> - <artifactId>shared</artifactId> - <version>${project.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <executions> - <execution> - <id>default-testCompile</id> - <phase>test-compile</phase> - <goals> - <goal>testCompile</goal> - </goals> - <configuration> - <!-- - Don't build the stats tests, because they currently create a circular - dependency between the 'core' and 'core_impl' directories. - --> - <testExcludes> - <exclude>**/stats/*.java</exclude> - </testExcludes> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - </profile> - <profile> - <id>dev</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> diff --git a/core_impl/build.gradle b/core_impl/build.gradle index f1e8f48e..606271c4 100644 --- a/core_impl/build.gradle +++ b/core_impl/build.gradle @@ -4,4 +4,6 @@ dependencies { compile project(':instrumentation-core'), project(':proto'), libraries.guava + + signature "org.codehaus.mojo.signature:java16:+@signature" } diff --git a/core_impl/pom.xml b/core_impl/pom.xml deleted file mode 100644 index 2f64617e..00000000 --- a/core_impl/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <artifactId>census-core_impl</artifactId> - - <name>Instrumentation Java Core Impl</name> - <url>https://github.com/google/instrumentation-java</url> - - <parent> - <groupId>com.google.census</groupId> - <artifactId>census-parent</artifactId> - <version>0.1.0-SNAPSHOT</version> - </parent> - - <dependencies> - <dependency> - <groupId>com.google.census</groupId> - <artifactId>census-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.google.census</groupId> - <artifactId>census-proto</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.google.io</groupId> - <artifactId>shared</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - <version>3.0.0</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - </plugin> - </plugins> - </build> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - </profile> - <profile> - <id>dev</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> diff --git a/pom.xml b/pom.xml deleted file mode 100644 index b3bc5fef..00000000 --- a/pom.xml +++ /dev/null @@ -1,222 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <groupId>com.google.census</groupId> - <artifactId>census-parent</artifactId> - <version>0.1.0-SNAPSHOT</version> - - <name>Instrumentation Java</name> - - <description> - Instrumentation provides a library that includes functionality for tracing, - tagging and stats recording. - </description> - <url>https://github.com/google/instrumentation-java</url> - - <packaging>pom</packaging> - - <parent> - <groupId>com.google</groupId> - <artifactId>google</artifactId> - <version>5</version> - </parent> - - <licenses> - <license> - <name>The Apache Software License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> - <distribution>repo</distribution> - </license> - </licenses> - - <modules> - <module>core</module> - <module>core_impl</module> - <module>proto</module> - <module>shared</module> - </modules> - - <properties> - <guava.version>19.0</guava.version> - </properties> - - <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.5.1</version> - <configuration> - <source>1.6</source> - <target>1.6</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.3.1</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <version>2.1.2</version> - <executions> - <execution> - <id>attach-sources</id> - <goals> - <goal>jar-no-fork</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.8.1</version> - <executions> - <execution> - <id>attach-javadocs</id> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <version>2.17</version> - <dependencies> - <dependency> - <groupId>com.puppycrawl.tools</groupId> - <artifactId>checkstyle</artifactId> - <version>7.6</version> - </dependency> - </dependencies> - <executions> - <execution> - <id>validate</id> - <phase>validate</phase> - <configuration> - <configLocation>google_checks.xml</configLocation> - <encoding>UTF-8</encoding> - <consoleOutput>true</consoleOutput> - <failsOnError>true</failsOnError> - <violationSeverity>warning</violationSeverity> - <!-- - Remove the SingleLineJavadoc to be able to use google-java-formatter. See - https://github.com/checkstyle/checkstyle/issues/3762 - https://github.com/checkstyle/checkstyle/issues/3755 - https://github.com/checkstyle/checkstyle/issues/3888 - --> - <violationIgnore>SingleLineJavadoc</violationIgnore> - </configuration> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - <version>3.0.4</version> - <configuration> - <effort>Max</effort> - <threshold>Low</threshold> - <excludeFilterFile>../findbugs-exclude.xml</excludeFilterFile> - </configuration> - <executions> - <execution> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - </build> - - <dependencies> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>${guava.version}</version> - </dependency> - <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - <version>3.0.0</version> - </dependency> - <dependency> - <groupId>io.grpc</groupId> - <artifactId>grpc-context</artifactId> - <version>1.1.2</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava-testlib</artifactId> - <version>${guava.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.google.truth</groupId> - <artifactId>truth</artifactId> - <version>0.30</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-core</artifactId> - <version>1.3</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.3</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>1.9.5</version> - <scope>test</scope> - </dependency> - </dependencies> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - </profile> - <profile> - <id>dev</id> - <modules> - <module>benchmarks</module> - </modules> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> diff --git a/settings.gradle b/settings.gradle index f9810d14..68cd7afc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,7 +3,6 @@ include ":instrumentation-all" include ":instrumentation-benchmarks" include ":instrumentation-core" include ":instrumentation-core-impl" -include ":instrumentation-examples" include ":proto" include ":shared" @@ -11,6 +10,12 @@ project(':instrumentation-all').projectDir = "$rootDir/all" as File project(':instrumentation-benchmarks').projectDir = "$rootDir/benchmarks" as File project(':instrumentation-core').projectDir = "$rootDir/core" as File project(':instrumentation-core-impl').projectDir = "$rootDir/core_impl" as File -project(':instrumentation-examples').projectDir = "$rootDir/examples" as File project(':proto').projectDir = "$rootDir/proto" as File project(':shared').projectDir = "$rootDir/shared" as File + +// Java8 projects only +if (JavaVersion.current().isJava8Compatible()) { + include ":instrumentation-examples" + + project(':instrumentation-examples').projectDir = "$rootDir/examples" as File +}
\ No newline at end of file diff --git a/shared/pom.xml b/shared/pom.xml deleted file mode 100644 index 199281b3..00000000 --- a/shared/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <groupId>com.google.io</groupId> - <artifactId>shared</artifactId> - - <parent> - <groupId>com.google.census</groupId> - <artifactId>census-parent</artifactId> - <version>0.1.0-SNAPSHOT</version> - </parent> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - </plugin> - </plugins> - </build> -</project> |
