337 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			337 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Groovy
		
	
	
	
| pluginManagement {
 | |
|   plugins {
 | |
|     id 'com.github.ben-manes.versions' version '0.27.0'
 | |
|     id "io.github.gradle-nexus.publish-plugin" version "1.0.0"
 | |
|     id "me.champeau.jmh" version "0.6.4"
 | |
|     id "net.ltgt.nullaway" version "1.1.0"
 | |
|     id 'org.jetbrains.kotlin.jvm' version '1.5.10'
 | |
|     id 'org.unbroken-dome.test-sets' version '4.0.0'
 | |
|     id "nebula.release" version "15.3.0"
 | |
|   }
 | |
| }
 | |
| 
 | |
| plugins {
 | |
|   id 'com.gradle.enterprise' version '3.6.1'
 | |
|   id 'com.github.burrunan.s3-build-cache' version '1.1'
 | |
| }
 | |
| 
 | |
| dependencyResolutionManagement {
 | |
|   repositories {
 | |
|     mavenCentral()
 | |
|     mavenLocal()
 | |
|   }
 | |
| }
 | |
| 
 | |
| 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()
 | |
|   }
 | |
| }
 | |
| 
 | |
| rootProject.name = 'opentelemetry-java-instrumentation'
 | |
| 
 | |
| // agent projects
 | |
| include ':opentelemetry-api-shaded-for-instrumenting'
 | |
| include ':opentelemetry-ext-annotations-shaded-for-instrumenting'
 | |
| include ':javaagent-bootstrap'
 | |
| include ':javaagent-bootstrap-tests'
 | |
| include ':javaagent-exporters'
 | |
| include ':javaagent-extension-api'
 | |
| include ':javaagent-tooling'
 | |
| include ':javaagent'
 | |
| 
 | |
| include ':bom-alpha'
 | |
| include ':instrumentation-api'
 | |
| include ':instrumentation-api-caching'
 | |
| include ':javaagent-api'
 | |
| 
 | |
| // misc
 | |
| include ':dependencyManagement'
 | |
| include ':testing:agent-exporter'
 | |
| include ':testing:agent-for-testing'
 | |
| include ':testing:armeria-shaded-for-testing'
 | |
| include ':testing-common'
 | |
| include ':testing-common:integration-tests'
 | |
| include ':testing-common:library-for-integration-tests'
 | |
| 
 | |
| // smoke tests
 | |
| include ':smoke-tests'
 | |
| 
 | |
| include ':instrumentation:akka-actor-2.5:javaagent'
 | |
| include ':instrumentation:akka-actor-fork-join-2.5:javaagent'
 | |
| include ':instrumentation:akka-http-10.0:javaagent'
 | |
| include ':instrumentation:apache-camel-2.20:javaagent'
 | |
| include ':instrumentation:apache-camel-2.20:javaagent-unit-tests'
 | |
| include ':instrumentation:apache-dubbo-2.7:javaagent'
 | |
| include ':instrumentation:apache-dubbo-2.7:library'
 | |
| include ':instrumentation:apache-dubbo-2.7:testing'
 | |
| include ':instrumentation:apache-httpasyncclient-4.1:javaagent'
 | |
| include ':instrumentation:apache-httpclient:apache-httpclient-2.0:javaagent'
 | |
| include ':instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent'
 | |
| include ':instrumentation:apache-httpclient:apache-httpclient-5.0:javaagent'
 | |
| include ':instrumentation:armeria-1.3:javaagent'
 | |
| include ':instrumentation:armeria-1.3:library'
 | |
| include ':instrumentation:armeria-1.3:testing'
 | |
| include ':instrumentation:async-http-client:async-http-client-1.9:javaagent'
 | |
| include ':instrumentation:async-http-client:async-http-client-2.0:javaagent'
 | |
| 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:javaagent'
 | |
| include ':instrumentation:aws-sdk:aws-sdk-1.11:javaagent-unit-tests'
 | |
| include ':instrumentation:aws-sdk:aws-sdk-1.11:library'
 | |
| include ':instrumentation:aws-sdk:aws-sdk-1.11:testing'
 | |
| 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:javaagent'
 | |
| include ':instrumentation:cassandra:cassandra-4.0:javaagent'
 | |
| include ':instrumentation:cdi-testing'
 | |
| include ':instrumentation:internal:internal-class-loader:javaagent'
 | |
| include ':instrumentation:internal:internal-class-loader:javaagent-integration-tests'
 | |
| include ':instrumentation:internal:internal-eclipse-osgi-3.6:javaagent'
 | |
| include ':instrumentation:internal:internal-proxy:javaagent'
 | |
| include ':instrumentation:internal:internal-proxy:javaagent-unit-tests'
 | |
| include ':instrumentation:internal:internal-url-class-loader:javaagent'
 | |
| include ':instrumentation:internal:internal-url-class-loader:javaagent-integration-tests'
 | |
| include ':instrumentation:couchbase:couchbase-2.0:javaagent'
 | |
| include ':instrumentation:couchbase:couchbase-2.0:javaagent-unit-tests'
 | |
| include ':instrumentation:couchbase:couchbase-2.6:javaagent'
 | |
| include ':instrumentation:couchbase:couchbase-3.1:javaagent'
 | |
| include ':instrumentation:couchbase:couchbase-3.1.6:javaagent'
 | |
| include ':instrumentation:couchbase:couchbase-testing'
 | |
| include ':instrumentation:dropwizard-views-0.7:javaagent'
 | |
| include ':instrumentation:dropwizard-testing'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-rest-common:library'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-rest-5.0:javaagent'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-rest-6.4:javaagent'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-rest-7.0:javaagent'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-transport-common:library'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-transport-5.0:javaagent'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-transport-5.3:javaagent'
 | |
| include ':instrumentation:elasticsearch:elasticsearch-transport-6.0:javaagent'
 | |
| include ':instrumentation:executors:javaagent'
 | |
| include ':instrumentation:external-annotations:javaagent'
 | |
| include ':instrumentation:external-annotations:javaagent-unit-tests'
 | |
| include ':instrumentation:finatra-2.9:javaagent'
 | |
| include ':instrumentation:geode-1.4:javaagent'
 | |
| include ':instrumentation:google-http-client-1.19:javaagent'
 | |
| include ':instrumentation:grails-3.0:javaagent'
 | |
| include ':instrumentation:grizzly-2.0:javaagent'
 | |
| include ':instrumentation:grpc-1.6:javaagent'
 | |
| include ':instrumentation:grpc-1.6:library'
 | |
| include ':instrumentation:grpc-1.6:testing'
 | |
| include ':instrumentation:guava-10.0:javaagent'
 | |
| include ':instrumentation:guava-10.0:library'
 | |
| include ':instrumentation:gwt-2.0:javaagent'
 | |
| include ':instrumentation:hibernate:hibernate-3.3:javaagent'
 | |
| include ':instrumentation:hibernate:hibernate-4.0:javaagent'
 | |
| include ':instrumentation:hibernate:hibernate-common:javaagent'
 | |
| include ':instrumentation:hibernate:hibernate-procedure-call-4.3:javaagent'
 | |
| include ':instrumentation:http-url-connection:javaagent'
 | |
| include ':instrumentation:hystrix-1.4:javaagent'
 | |
| include ':instrumentation:java-http-client:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-1.0:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-arquillian-testing'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-common:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-cxf-3.2:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-jersey-2.0:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-payara-testing'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.0:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.1:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-common:javaagent'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-testing'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-tomee-testing'
 | |
| include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-wildfly-testing'
 | |
| include ':instrumentation:jaxrs-client:jaxrs-client-1.1:javaagent'
 | |
| include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-common:javaagent'
 | |
| include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-cxf-3.0:javaagent'
 | |
| include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-jersey-2.0:javaagent'
 | |
| include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-resteasy-3.0:javaagent'
 | |
| include ':instrumentation:jaxws:jaxws-2.0:javaagent'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-axis2-1.6:javaagent'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-axis2-1.6:library'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-cxf-3.0:javaagent'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-cxf-3.0:library'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-metro-2.2:javaagent'
 | |
| include ':instrumentation:jaxws:jaxws-2.0-testing'
 | |
| include ':instrumentation:jaxws:jaxws-common:library'
 | |
| include ':instrumentation:jaxws:jws-1.1:javaagent'
 | |
| include ':instrumentation:jdbc:javaagent'
 | |
| include ':instrumentation:jdbc:javaagent-unit-tests'
 | |
| include ':instrumentation:jedis:jedis-1.4:javaagent'
 | |
| include ':instrumentation:jedis:jedis-3.0:javaagent'
 | |
| include ':instrumentation:jetty:jetty-8.0:javaagent'
 | |
| include ':instrumentation:jetty:jetty-11.0:javaagent'
 | |
| include ':instrumentation:jetty:jetty-common:javaagent'
 | |
| include ':instrumentation:jms-1.1:javaagent'
 | |
| include ':instrumentation:jms-1.1:javaagent-unit-tests'
 | |
| include ':instrumentation:jsf:jsf-common:library'
 | |
| include ':instrumentation:jsf:jsf-testing-common'
 | |
| include ':instrumentation:jsf:mojarra-1.2:javaagent'
 | |
| include ':instrumentation:jsf:myfaces-1.2:javaagent'
 | |
| include ':instrumentation:jsp-2.3:javaagent'
 | |
| include ':instrumentation:kafka-clients-0.11:javaagent'
 | |
| include ':instrumentation:kafka-streams-0.11:javaagent'
 | |
| include ':instrumentation:kotlinx-coroutines:javaagent'
 | |
| include ':instrumentation:kubernetes-client-7.0:javaagent'
 | |
| include ':instrumentation:kubernetes-client-7.0:javaagent-unit-tests'
 | |
| include ':instrumentation:lettuce:lettuce-common:library'
 | |
| include ':instrumentation:lettuce:lettuce-4.0:javaagent'
 | |
| include ':instrumentation:lettuce:lettuce-5.0:javaagent'
 | |
| include ':instrumentation:lettuce:lettuce-5.1:javaagent'
 | |
| include ':instrumentation:lettuce:lettuce-5.1:library'
 | |
| include ':instrumentation:lettuce:lettuce-5.1:testing'
 | |
| include ':instrumentation:liberty:compile-stub'
 | |
| include ':instrumentation:liberty:liberty:javaagent'
 | |
| include ':instrumentation:liberty:liberty-dispatcher:javaagent'
 | |
| include ':instrumentation:log4j:log4j-1.2:javaagent'
 | |
| include ':instrumentation:log4j:log4j-2.7:javaagent'
 | |
| 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-1.0:javaagent'
 | |
| include ':instrumentation:logback-1.0:library'
 | |
| include ':instrumentation:logback-1.0:testing'
 | |
| include ':instrumentation:methods:javaagent'
 | |
| include ':instrumentation:mongo:mongo-3.1:javaagent'
 | |
| include ':instrumentation:mongo:mongo-3.1:library'
 | |
| include ':instrumentation:mongo:mongo-3.1:testing'
 | |
| include ':instrumentation:mongo:mongo-3.7:javaagent'
 | |
| include ':instrumentation:mongo:mongo-4.0:javaagent'
 | |
| include ':instrumentation:mongo:mongo-async-3.3:javaagent'
 | |
| include ':instrumentation:mongo:mongo-testing'
 | |
| include ':instrumentation:netty:netty-3.8:javaagent'
 | |
| include ':instrumentation:netty:netty-4.0:javaagent'
 | |
| include ':instrumentation:netty:netty-4.1:library'
 | |
| include ':instrumentation:netty:netty-4.1:javaagent'
 | |
| include ':instrumentation:netty:netty-4-common:javaagent'
 | |
| include ':instrumentation:okhttp:okhttp-2.2:javaagent'
 | |
| include ':instrumentation:okhttp:okhttp-3.0:javaagent'
 | |
| include ':instrumentation:okhttp:okhttp-3.0:library'
 | |
| include ':instrumentation:okhttp:okhttp-3.0:testing'
 | |
| include ':instrumentation:opentelemetry-annotations-1.0:javaagent'
 | |
| include ':instrumentation:opentelemetry-api-1.0:javaagent'
 | |
| include ':instrumentation:opentelemetry-api-metrics-1.0:javaagent'
 | |
| include ':instrumentation:oshi:javaagent'
 | |
| include ':instrumentation:oshi:library'
 | |
| include ':instrumentation:play:play-2.4:javaagent'
 | |
| include ':instrumentation:play:play-2.6:javaagent'
 | |
| include ':instrumentation:play-ws:play-ws-1.0:javaagent'
 | |
| include ':instrumentation:play-ws:play-ws-2.0:javaagent'
 | |
| include ':instrumentation:play-ws:play-ws-2.1:javaagent'
 | |
| include ':instrumentation:play-ws:play-ws-common:javaagent'
 | |
| include ':instrumentation:play-ws:play-ws-testing'
 | |
| include ':instrumentation:rabbitmq-2.7:javaagent'
 | |
| include ':instrumentation:ratpack-1.4:javaagent'
 | |
| include ':instrumentation:reactor-3.1:javaagent'
 | |
| include ':instrumentation:reactor-3.1:library'
 | |
| include ':instrumentation:reactor-3.1:testing'
 | |
| include ':instrumentation:reactor-netty:reactor-netty-0.9:javaagent'
 | |
| include ':instrumentation:reactor-netty:reactor-netty-1.0:javaagent'
 | |
| include ':instrumentation:rediscala-1.8:javaagent'
 | |
| include ':instrumentation:redisson-3.0:javaagent'
 | |
| include ':instrumentation:rmi:javaagent'
 | |
| include ':instrumentation:rocketmq-client-4.8:javaagent'
 | |
| include ':instrumentation:rocketmq-client-4.8:library'
 | |
| include ':instrumentation:rocketmq-client-4.8:testing'
 | |
| include ':instrumentation:runtime-metrics:javaagent'
 | |
| include ':instrumentation:runtime-metrics:library'
 | |
| include ':instrumentation:rxjava:rxjava-1.0:library'
 | |
| include ':instrumentation:rxjava:rxjava-2.0:library'
 | |
| include ':instrumentation:rxjava:rxjava-2.0:testing'
 | |
| include ':instrumentation:rxjava:rxjava-2.0:javaagent'
 | |
| include ':instrumentation:rxjava:rxjava-3.0:library'
 | |
| include ':instrumentation:rxjava:rxjava-3.0:testing'
 | |
| include ':instrumentation:rxjava:rxjava-3.0:javaagent'
 | |
| include ':instrumentation:scala-executors:javaagent'
 | |
| include ':instrumentation:servlet:servlet-common:library'
 | |
| include ':instrumentation:servlet:servlet-common:javaagent'
 | |
| include ':instrumentation:servlet:servlet-javax-common:library'
 | |
| include ':instrumentation:servlet:servlet-javax-common:javaagent'
 | |
| include ':instrumentation:servlet:servlet-2.2:library'
 | |
| include ':instrumentation:servlet:servlet-2.2:javaagent'
 | |
| include ':instrumentation:servlet:servlet-3.0:library'
 | |
| include ':instrumentation:servlet:servlet-3.0:javaagent'
 | |
| include ':instrumentation:servlet:servlet-5.0:library'
 | |
| include ':instrumentation:servlet:servlet-5.0:javaagent'
 | |
| include ':instrumentation:spark-2.3:javaagent'
 | |
| include ':instrumentation:spring:spring-batch-3.0:javaagent'
 | |
| include ':instrumentation:spring:spring-core-2.0:javaagent'
 | |
| include ':instrumentation:spring:spring-data-1.8:javaagent'
 | |
| include ':instrumentation:spring:spring-integration-4.1:library'
 | |
| include ':instrumentation:spring:spring-scheduling-3.1:javaagent'
 | |
| 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-ws-2.0:javaagent'
 | |
| 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:javaagent'
 | |
| include ':instrumentation:struts-2.3:javaagent'
 | |
| include ':instrumentation:tapestry-5.4:javaagent'
 | |
| include ':instrumentation:tomcat:tomcat-7.0:javaagent'
 | |
| include ':instrumentation:tomcat:tomcat-10.0:javaagent'
 | |
| include ':instrumentation:tomcat:tomcat-common:javaagent'
 | |
| include ':instrumentation:twilio-6.6:javaagent'
 | |
| include ':instrumentation:undertow-1.4:javaagent'
 | |
| include ':instrumentation:vaadin-14.2:javaagent'
 | |
| include ':instrumentation:vaadin-14.2:testing'
 | |
| include ':instrumentation:vertx-web-3.0:javaagent'
 | |
| include ':instrumentation:vertx-reactive-3.5:javaagent'
 | |
| include ':instrumentation:wicket-8.0:javaagent'
 | |
| 
 | |
| // benchmark
 | |
| include ':benchmark'
 | |
| include ':benchmark-integration'
 | |
| include ':benchmark-integration:jetty-perftest'
 | |
| include ':benchmark-e2e'
 | |
| 
 | |
| def setBuildFile(project) {
 | |
|   // javaagent-unittests modules are needed until those projects have library modules
 | |
|   // at which time those unittests can be moved to the library modules
 | |
|   //
 | |
|   // javaagent-integration-tests modules are only needed by "internal-" instrumentation
 | |
|   // which needs to be tested by creating some other "test" instrumentation
 | |
|   if (['javaagent', 'javaagent-unit-tests', 'javaagent-integration-tests', '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"
 | |
|   }
 | |
|   if (!(project.buildFile.exists())) {
 | |
|     project.buildFileName += ".kts"
 | |
|   }
 | |
|   project.children.each {
 | |
|     setBuildFile(it)
 | |
|   }
 | |
| }
 | |
| 
 | |
| rootProject.children.each {
 | |
|   setBuildFile(it)
 | |
| }
 |