plugins { id 'com.gradle.enterprise' version '3.0' id 'com.github.burrunan.s3-build-cache' version '1.1' } def isCI = System.getenv("CI") != null def skipBuildscan = Boolean.valueOf(System.getenv("SKIP_BUILDSCAN")) gradleEnterprise { buildScan { termsOfServiceUrl = 'https://gradle.com/terms-of-service' termsOfServiceAgree = 'yes' if (isCI && !skipBuildscan) { publishAlways() tag 'CI' } } } apply plugin: 'com.github.burrunan.s3-build-cache' def awsAccessKeyId = System.getenv("S3_BUILD_CACHE_ACCESS_KEY_ID") buildCache { remote(com.github.burrunan.s3cache.AwsS3BuildCache) { region = 'us-west-2' bucket = 'opentelemetry-java-instrumentation-gradle-cache' push = isCI && awsAccessKeyId != null && !awsAccessKeyId.isEmpty() lookupDefaultAwsCredentials = true } } rootProject.name = 'opentelemetry-java-instrumentation' // agent projects include ':opentelemetry-sdk-shaded-for-testing' include ':opentelemetry-api-beta-shaded-for-instrumenting' include ':opentelemetry-auto-annotations-beta-shaded-for-instrumenting' include ':opentelemetry-sdk-beta-shaded-for-instrumenting' include ':javaagent-bootstrap' include ':javaagent-spi' include ':javaagent-tooling' include ':javaagent' include ':load-generator' include ':instrumentation-api' include ':javaagent-api' // misc include ':testing-bootstrap' include ':testing-common' include ':utils:test-utils' // smoke tests include ':smoke-tests' include ':instrumentation:akka-context-propagation-2.5' include ':instrumentation:akka-http-10.0' include ':instrumentation:apache-camel-2.20' include ':instrumentation:apache-httpasyncclient-4.0' include ':instrumentation:apache-httpclient:apache-httpclient-2.0' include ':instrumentation:apache-httpclient:apache-httpclient-4.0' include ':instrumentation:armeria-1.0:javaagent' include ':instrumentation:armeria-1.0:library' include ':instrumentation:armeria-1.0:testing' include ':instrumentation:aws-lambda-1.0:javaagent' include ':instrumentation:aws-lambda-1.0:library' include ':instrumentation:aws-lambda-1.0:testing' include ':instrumentation:aws-sdk:aws-sdk-1.11' include ':instrumentation:aws-sdk:aws-sdk-2.2:javaagent' include ':instrumentation:aws-sdk:aws-sdk-2.2:library' include ':instrumentation:aws-sdk:aws-sdk-2.2:testing' include ':instrumentation:cassandra:cassandra-3.0' include ':instrumentation:cassandra:cassandra-4.0' include ':instrumentation:cdi-testing' include ':instrumentation:couchbase:couchbase-2.0' include ':instrumentation:couchbase:couchbase-2.6' include ':instrumentation:couchbase:couchbase-testing' include ':instrumentation:dropwizard-views-0.7' include ':instrumentation:dropwizard-testing' include ':instrumentation:elasticsearch:elasticsearch-rest-common' include ':instrumentation:elasticsearch:elasticsearch-rest-5.0' include ':instrumentation:elasticsearch:elasticsearch-rest-6.4' include ':instrumentation:elasticsearch:elasticsearch-transport-common' include ':instrumentation:elasticsearch:elasticsearch-transport-5.0' include ':instrumentation:elasticsearch:elasticsearch-transport-5.3' include ':instrumentation:elasticsearch:elasticsearch-transport-6.0' include ':instrumentation:external-annotations' include ':instrumentation:finatra-2.9' include ':instrumentation:geode-1.4' include ':instrumentation:google-http-client-1.19' include ':instrumentation:grizzly-2.0' include ':instrumentation:grizzly-client-1.9' include ':instrumentation:grpc-1.5:javaagent' include ':instrumentation:grpc-1.5:library' include ':instrumentation:grpc-1.5:testing' include ':instrumentation:guava-10.0' include ':instrumentation:hibernate:hibernate-3.3' include ':instrumentation:hibernate:hibernate-4.0' include ':instrumentation:hibernate:hibernate-4.3' include ':instrumentation:hibernate:hibernate-common' include ':instrumentation:http-url-connection' include ':instrumentation:hystrix-1.4' include ':instrumentation:java-classloader' include ':instrumentation:java-classloader:jboss-testing' include ':instrumentation:java-classloader:osgi-testing' include ':instrumentation:java-classloader:tomcat-testing' include ':instrumentation:java-concurrent' include ':instrumentation:java-httpclient' include ':instrumentation:jaxrs:jaxrs-1.0' include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-common' include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-jersey-2.0' include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.0' include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.1' include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-testing' include ':instrumentation:jaxrs-client:jaxrs-client-1.1' include ':instrumentation:jaxrs-client:jaxrs-client-2.0' include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-jersey-2.0' include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-resteasy-2.0' include ':instrumentation:jdbc' include ':instrumentation:jedis:jedis-1.4' include ':instrumentation:jedis:jedis-3.0' include ':instrumentation:jetty-8.0' include ':instrumentation:jms-1.1' include ':instrumentation:jsp-2.3' include ':instrumentation:kafka-clients-0.11' include ':instrumentation:kafka-streams-0.11' include ':instrumentation:khttp-0.1' include ':instrumentation:kotlin-coroutines' include ':instrumentation:kubernetes-client-7.0' include ':instrumentation:lettuce:lettuce-common' include ':instrumentation:lettuce:lettuce-4.0' include ':instrumentation:lettuce:lettuce-5.0' include ':instrumentation:lettuce:lettuce-5.1' include ':instrumentation:log4j:log4j-1.2' include ':instrumentation:log4j:log4j-2.7' include ':instrumentation:log4j:log4j-2.13.2:javaagent' include ':instrumentation:log4j:log4j-2.13.2:library' include ':instrumentation:log4j:log4j-2-testing' include ':instrumentation:logback:logback-1.0.0:javaagent' include ':instrumentation:logback:logback-1.0.0:library' include ':instrumentation:logback:logback-1.0.0:testing' include ':instrumentation:mongo:mongo-3.1' include ':instrumentation:mongo:mongo-3.7' include ':instrumentation:mongo:mongo-async-3.3' include ':instrumentation:mongo:mongo-common' include ':instrumentation:mongo:mongo-testing' include ':instrumentation:netty:netty-3.8' include ':instrumentation:netty:netty-4.0' include ':instrumentation:netty:netty-4.1' include ':instrumentation:okhttp:okhttp-2.2' include ':instrumentation:okhttp:okhttp-3.0' include ':instrumentation:opentelemetry-api-beta' include ':instrumentation:oshi:javaagent' include ':instrumentation:oshi:library' include ':instrumentation:play:play-2.3' include ':instrumentation:play:play-2.4' include ':instrumentation:play:play-2.6' include ':instrumentation:play-ws:play-ws-1.0' include ':instrumentation:play-ws:play-ws-2.0' include ':instrumentation:play-ws:play-ws-2.1' include ':instrumentation:play-ws:play-ws-common' include ':instrumentation:play-ws:play-ws-testing' include ':instrumentation:rabbitmq-2.7' include ':instrumentation:ratpack-1.4' include ':instrumentation:reactor-3.1' include ':instrumentation:rediscala-1.8' include ':instrumentation:redisson-3.0' include ':instrumentation:rmi' include ':instrumentation:rxjava-1.0' include ':instrumentation:rxjava-1.0' include ':instrumentation:scala-concurrent' include ':instrumentation:servlet:glassfish-testing' include ':instrumentation:servlet:servlet-common' include ':instrumentation:servlet:servlet-2.2' include ':instrumentation:servlet:servlet-3.0' include ':instrumentation:spark-web-framework-2.3' include ':instrumentation:spring:spring-data-1.8' include ':instrumentation:spring:spring-scheduling-3.1' include ':instrumentation:spring:spring-web-3.1:library' include ':instrumentation:spring:spring-webmvc-3.1:javaagent' include ':instrumentation:spring:spring-webmvc-3.1:library' include ':instrumentation:spring:spring-webflux-5.0:javaagent' include ':instrumentation:spring:spring-webflux-5.0:library' include ':instrumentation:spring:spring-boot-autoconfigure' include ':instrumentation:spring:starters:spring-starter' include ':instrumentation:spring:starters:jaeger-exporter-starter' include ':instrumentation:spring:starters:otlp-exporter-starter' include ':instrumentation:spring:starters:zipkin-exporter-starter' include ':instrumentation:spymemcached-2.12' include ':instrumentation:twilio-6.6' include ':instrumentation:vertx-3.0' include ':instrumentation:vertx-reactive-3.5' include ':instrumentation-core:reactor-3.1' include ':instrumentation-core:servlet-2.2' // exporter adapters include ":javaagent-exporters" include ":javaagent-exporters:jaeger" include ":javaagent-exporters:logging" include ":javaagent-exporters:otlp" include ":javaagent-exporters:zipkin" include ":javaagent-exporters:prometheus" // benchmark include ':benchmark' include ':benchmark-integration' include ':benchmark-integration:jetty-perftest' def setBuildFile(project) { if (['javaagent', 'library', 'testing'].contains(project.projectDir.name) && project.path != ':javaagent') { project.buildFileName = "${project.projectDir.parentFile.name}-${project.projectDir.name}.gradle" } else { project.buildFileName = "${project.name}.gradle" } project.children.each { setBuildFile(it) } } rootProject.children.each { setBuildFile(it) }