settings.gradle 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. plugins {
  2. id 'com.gradle.enterprise' version '3.5'
  3. id 'com.github.burrunan.s3-build-cache' version '1.1'
  4. }
  5. def isCI = System.getenv("CI") != null
  6. def skipBuildscan = Boolean.valueOf(System.getenv("SKIP_BUILDSCAN"))
  7. gradleEnterprise {
  8. buildScan {
  9. termsOfServiceUrl = 'https://gradle.com/terms-of-service'
  10. termsOfServiceAgree = 'yes'
  11. if (isCI && !skipBuildscan) {
  12. publishAlways()
  13. tag 'CI'
  14. }
  15. }
  16. }
  17. apply plugin: 'com.github.burrunan.s3-build-cache'
  18. def awsAccessKeyId = System.getenv("S3_BUILD_CACHE_ACCESS_KEY_ID")
  19. buildCache {
  20. remote(com.github.burrunan.s3cache.AwsS3BuildCache) {
  21. region = 'us-west-2'
  22. bucket = 'opentelemetry-java-instrumentation-gradle-cache'
  23. push = isCI && awsAccessKeyId != null && !awsAccessKeyId.isEmpty()
  24. }
  25. }
  26. rootProject.name = 'opentelemetry-java-instrumentation'
  27. // agent projects
  28. include ':opentelemetry-api-shaded-for-instrumenting'
  29. include ':opentelemetry-ext-annotations-shaded-for-instrumenting'
  30. include ':javaagent-bootstrap'
  31. include ':javaagent-spi'
  32. include ':javaagent-tooling'
  33. include ':javaagent'
  34. include ':load-generator'
  35. include ':instrumentation-api'
  36. include ':javaagent-api'
  37. // misc
  38. include ':testing:agent-exporter'
  39. include ':testing:agent-for-testing'
  40. include ':testing-common'
  41. include ':testing-common:integration-tests'
  42. include ':testing-common:library-for-integration-tests'
  43. // smoke tests
  44. include ':smoke-tests'
  45. include ':instrumentation:akka-actor-2.5:javaagent'
  46. include ':instrumentation:akka-http-10.0:javaagent'
  47. include ':instrumentation:apache-camel-2.20:javaagent'
  48. include ':instrumentation:apache-camel-2.20:javaagent-unittests'
  49. include ':instrumentation:apache-httpasyncclient-4.1:javaagent'
  50. include ':instrumentation:apache-httpclient:apache-httpclient-2.0:javaagent'
  51. include ':instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent'
  52. include ':instrumentation:armeria-1.3:javaagent'
  53. include ':instrumentation:armeria-1.3:library'
  54. include ':instrumentation:armeria-1.3:testing'
  55. include ':instrumentation:async-http-client-1.9:javaagent'
  56. include ':instrumentation:aws-lambda-1.0:javaagent'
  57. include ':instrumentation:aws-lambda-1.0:library'
  58. include ':instrumentation:aws-lambda-1.0:testing'
  59. include ':instrumentation:aws-sdk:aws-sdk-1.11:javaagent'
  60. include ':instrumentation:aws-sdk:aws-sdk-2.2:javaagent'
  61. include ':instrumentation:aws-sdk:aws-sdk-2.2:library'
  62. include ':instrumentation:aws-sdk:aws-sdk-2.2:testing'
  63. include ':instrumentation:cassandra:cassandra-3.0:javaagent'
  64. include ':instrumentation:cassandra:cassandra-4.0:javaagent'
  65. include ':instrumentation:cdi-testing'
  66. include ':instrumentation:classloaders:javaagent'
  67. include ':instrumentation:classloaders:javaagent:jboss-testing'
  68. include ':instrumentation:classloaders:javaagent:osgi-testing'
  69. include ':instrumentation:classloaders:javaagent:tomcat-testing'
  70. include ':instrumentation:couchbase:couchbase-2.0:javaagent'
  71. include ':instrumentation:couchbase:couchbase-2.6:javaagent'
  72. include ':instrumentation:couchbase:couchbase-testing'
  73. include ':instrumentation:dropwizard-views-0.7:javaagent'
  74. include ':instrumentation:dropwizard-testing'
  75. include ':instrumentation:apache-dubbo:apache-dubbo-2.7:library'
  76. include ':instrumentation:apache-dubbo:apache-dubbo-2.7:testing'
  77. include ':instrumentation:apache-dubbo:apache-dubbo-2.7:javaagent'
  78. include ':instrumentation:elasticsearch:elasticsearch-rest-common:javaagent'
  79. include ':instrumentation:elasticsearch:elasticsearch-rest-5.0:javaagent'
  80. include ':instrumentation:elasticsearch:elasticsearch-rest-6.4:javaagent'
  81. include ':instrumentation:elasticsearch:elasticsearch-transport-common:javaagent'
  82. include ':instrumentation:elasticsearch:elasticsearch-transport-5.0:javaagent'
  83. include ':instrumentation:elasticsearch:elasticsearch-transport-5.3:javaagent'
  84. include ':instrumentation:elasticsearch:elasticsearch-transport-6.0:javaagent'
  85. include ':instrumentation:executors:javaagent'
  86. include ':instrumentation:external-annotations:javaagent'
  87. include ':instrumentation:external-annotations:javaagent-unittests'
  88. include ':instrumentation:finatra-2.9:javaagent'
  89. include ':instrumentation:geode-1.4:javaagent'
  90. include ':instrumentation:google-http-client-1.19:javaagent'
  91. include ':instrumentation:grizzly-2.0:javaagent'
  92. include ':instrumentation:grpc-1.5:javaagent'
  93. include ':instrumentation:grpc-1.5:library'
  94. include ':instrumentation:grpc-1.5:testing'
  95. include ':instrumentation:guava-10.0:javaagent'
  96. include ':instrumentation:hibernate:hibernate-3.3:javaagent'
  97. include ':instrumentation:hibernate:hibernate-4.0:javaagent'
  98. include ':instrumentation:hibernate:hibernate-4.3:javaagent'
  99. include ':instrumentation:hibernate:hibernate-common:javaagent'
  100. include ':instrumentation:http-url-connection:javaagent'
  101. include ':instrumentation:hystrix-1.4:javaagent'
  102. include ':instrumentation:java-httpclient:javaagent'
  103. include ':instrumentation:jaxrs:jaxrs-1.0:javaagent'
  104. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-common:javaagent'
  105. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-cxf-3.2:javaagent'
  106. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-jersey-2.0:javaagent'
  107. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.0:javaagent'
  108. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-resteasy-3.1:javaagent'
  109. include ':instrumentation:jaxrs:jaxrs-2.0:jaxrs-2.0-testing'
  110. include ':instrumentation:jaxrs-client:jaxrs-client-1.1:javaagent'
  111. include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-common:javaagent'
  112. include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-cxf-3.0:javaagent'
  113. include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-jersey-2.0:javaagent'
  114. include ':instrumentation:jaxrs-client:jaxrs-client-2.0:jaxrs-client-2.0-resteasy-2.0:javaagent'
  115. include ':instrumentation:jaxws:jaxws-2.0:javaagent'
  116. include ':instrumentation:jaxws:jaxws-common:javaagent'
  117. include ':instrumentation:jaxws:jws-1.1:javaagent'
  118. include ':instrumentation:jdbc:javaagent'
  119. include ':instrumentation:jdbc:javaagent-unittests'
  120. include ':instrumentation:jedis:jedis-1.4:javaagent'
  121. include ':instrumentation:jedis:jedis-3.0:javaagent'
  122. include ':instrumentation:jetty-8.0:javaagent'
  123. include ':instrumentation:jms-1.1:javaagent'
  124. include ':instrumentation:jsf:jsf-common:library'
  125. include ':instrumentation:jsf:jsf-testing-common'
  126. include ':instrumentation:jsf:mojarra-1.2:javaagent'
  127. include ':instrumentation:jsf:myfaces-1.2:javaagent'
  128. include ':instrumentation:jsp-2.3:javaagent'
  129. include ':instrumentation:kafka-clients-0.11:javaagent'
  130. include ':instrumentation:kafka-streams-0.11:javaagent'
  131. include ':instrumentation:khttp-0.1:javaagent'
  132. include ':instrumentation:kotlinx-coroutines:javaagent'
  133. include ':instrumentation:kubernetes-client-7.0:javaagent'
  134. include ':instrumentation:kubernetes-client-7.0:javaagent-unittests'
  135. include ':instrumentation:lettuce:lettuce-common:javaagent'
  136. include ':instrumentation:lettuce:lettuce-4.0:javaagent'
  137. include ':instrumentation:lettuce:lettuce-5.0:javaagent'
  138. include ':instrumentation:lettuce:lettuce-5.1:javaagent'
  139. include ':instrumentation:liberty:compile-stub'
  140. include ':instrumentation:liberty:liberty:javaagent'
  141. include ':instrumentation:liberty:liberty-dispatcher:javaagent'
  142. include ':instrumentation:log4j:log4j-1.2:javaagent'
  143. include ':instrumentation:log4j:log4j-2.7:javaagent'
  144. include ':instrumentation:log4j:log4j-2.13.2:javaagent'
  145. include ':instrumentation:log4j:log4j-2.13.2:library'
  146. include ':instrumentation:log4j:log4j-2-testing'
  147. include ':instrumentation:logback:logback-1.0:javaagent'
  148. include ':instrumentation:logback:logback-1.0:library'
  149. include ':instrumentation:logback:logback-1.0:testing'
  150. include ':instrumentation:methods:javaagent'
  151. include ':instrumentation:mongo:mongo-3.1:javaagent'
  152. include ':instrumentation:mongo:mongo-3.7:javaagent'
  153. include ':instrumentation:mongo:mongo-4.0-testing'
  154. include ':instrumentation:mongo:mongo-async-3.3:javaagent'
  155. include ':instrumentation:mongo:mongo-common:javaagent'
  156. include ':instrumentation:mongo:mongo-testing'
  157. include ':instrumentation:netty:netty-3.8:javaagent'
  158. include ':instrumentation:netty:netty-4.0:javaagent'
  159. include ':instrumentation:netty:netty-4.1:library'
  160. include ':instrumentation:netty:netty-4.1:javaagent'
  161. include ':instrumentation:okhttp:okhttp-2.2:javaagent'
  162. include ':instrumentation:okhttp:okhttp-3.0:javaagent'
  163. include ':instrumentation:opentelemetry-annotations-1.0:javaagent'
  164. include ':instrumentation:opentelemetry-api-1.0:javaagent'
  165. include ':instrumentation:opentelemetry-api-metrics-1.0:javaagent'
  166. include ':instrumentation:oshi:javaagent'
  167. include ':instrumentation:oshi:library'
  168. include ':instrumentation:play:play-2.3:javaagent'
  169. include ':instrumentation:play:play-2.4:javaagent'
  170. include ':instrumentation:play:play-2.6:javaagent'
  171. include ':instrumentation:play-ws:play-ws-1.0:javaagent'
  172. include ':instrumentation:play-ws:play-ws-2.0:javaagent'
  173. include ':instrumentation:play-ws:play-ws-2.1:javaagent'
  174. include ':instrumentation:play-ws:play-ws-common:javaagent'
  175. include ':instrumentation:play-ws:play-ws-testing'
  176. include ':instrumentation:rabbitmq-2.7:javaagent'
  177. include ':instrumentation:ratpack-1.4:javaagent'
  178. include ':instrumentation:reactor-3.1:javaagent'
  179. include ':instrumentation:reactor-netty-0.9:javaagent'
  180. include ':instrumentation:reactor-netty-1.0:javaagent'
  181. include ':instrumentation:rediscala-1.8:javaagent'
  182. include ':instrumentation:redisson-3.0:javaagent'
  183. include ':instrumentation:rmi:javaagent'
  184. include ':instrumentation:runtime-metrics:library'
  185. include ':instrumentation:rxjava-1.0:library'
  186. include ':instrumentation:scala-executors:javaagent'
  187. include ':instrumentation:servlet:glassfish-testing'
  188. include ':instrumentation:servlet:servlet-common:javaagent'
  189. include ':instrumentation:servlet:servlet-2.2:javaagent'
  190. include ':instrumentation:servlet:servlet-3.0:javaagent'
  191. include ':instrumentation:spark-2.3:javaagent'
  192. include ':instrumentation:spring:spring-batch-3.0:javaagent'
  193. include ':instrumentation:spring:spring-core-2.0:javaagent'
  194. include ':instrumentation:spring:spring-data-1.8:javaagent'
  195. include ':instrumentation:spring:spring-scheduling-3.1:javaagent'
  196. include ':instrumentation:spring:spring-web-3.1:library'
  197. include ':instrumentation:spring:spring-webmvc-3.1:javaagent'
  198. include ':instrumentation:spring:spring-webmvc-3.1:library'
  199. include ':instrumentation:spring:spring-webflux-5.0:javaagent'
  200. include ':instrumentation:spring:spring-webflux-5.0:library'
  201. include ':instrumentation:spring:spring-ws-2.0:javaagent'
  202. include ':instrumentation:spring:spring-boot-autoconfigure'
  203. include ':instrumentation:spring:starters:spring-starter'
  204. include ':instrumentation:spring:starters:jaeger-exporter-starter'
  205. include ':instrumentation:spring:starters:otlp-exporter-starter'
  206. include ':instrumentation:spring:starters:zipkin-exporter-starter'
  207. include ':instrumentation:spymemcached-2.12:javaagent'
  208. include ':instrumentation:struts-2.3:javaagent'
  209. include ':instrumentation:tomcat-7.0:javaagent'
  210. include ':instrumentation:twilio-6.6:javaagent'
  211. include ':instrumentation:undertow:javaagent'
  212. include ':instrumentation:vertx-web-3.0'
  213. include ':instrumentation:vertx-reactive-3.5:javaagent'
  214. include ':instrumentation:wicket-8.0:javaagent'
  215. include ':instrumentation-core:reactor-3.1'
  216. include ':instrumentation-core:servlet-2.2'
  217. // benchmark
  218. include ':benchmark'
  219. include ':benchmark-integration'
  220. include ':benchmark-integration:jetty-perftest'
  221. include ':benchmark-e2e'
  222. def setBuildFile(project) {
  223. // javaagent-unittests modules are needed until those projects have library modules
  224. // at which time those unittests can be moved to the library modules
  225. if (['javaagent', 'javaagent-unittests', 'library', 'testing'].contains(project.projectDir.name) && project.path != ':javaagent') {
  226. project.buildFileName = "${project.projectDir.parentFile.name}-${project.projectDir.name}.gradle"
  227. } else {
  228. project.buildFileName = "${project.name}.gradle"
  229. }
  230. project.children.each {
  231. setBuildFile(it)
  232. }
  233. }
  234. rootProject.children.each {
  235. setBuildFile(it)
  236. }