gwt-2.0-javaagent.gradle 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. apply plugin: "otel.javaagent-instrumentation"
  2. muzzle {
  3. pass {
  4. group = "com.google.gwt"
  5. module = "gwt-servlet"
  6. versions = "[2.0.0,)"
  7. assertInverse = true
  8. }
  9. }
  10. sourceSets {
  11. testapp {
  12. java {
  13. destinationDirectory.set(file("${buildDir}/testapp/classes"))
  14. }
  15. resources {
  16. srcDirs("src/webapp")
  17. }
  18. compileClasspath += sourceSets.main.compileClasspath
  19. }
  20. }
  21. dependencies {
  22. // these are needed for compileGwt task
  23. if (findProperty('testLatestDeps')) {
  24. compileOnly 'com.google.gwt:gwt-user:+'
  25. compileOnly 'com.google.gwt:gwt-dev:+'
  26. } else {
  27. compileOnly 'com.google.gwt:gwt-user:2.0.0'
  28. compileOnly 'com.google.gwt:gwt-dev:2.0.0'
  29. }
  30. library 'com.google.gwt:gwt-servlet:2.0.0'
  31. testInstrumentation project(':instrumentation:servlet:servlet-3.0:javaagent')
  32. testInstrumentation project(':instrumentation:servlet:servlet-javax-common:javaagent')
  33. testInstrumentation project(':instrumentation:jetty:jetty-8.0:javaagent')
  34. testImplementation "org.testcontainers:selenium:${versions["org.testcontainers"]}"
  35. testImplementation 'org.seleniumhq.selenium:selenium-java:3.141.59'
  36. testImplementation(project(':testing-common')) {
  37. exclude group: 'org.eclipse.jetty', module: 'jetty-server'
  38. }
  39. testImplementation "org.eclipse.jetty:jetty-webapp:9.4.35.v20201120"
  40. }
  41. def warDir = "$buildDir/testapp/war"
  42. task compileGwt(dependsOn: classes, type: JavaExec) {
  43. // versions before 2.9 require java8
  44. javaLauncher = javaToolchains.launcherFor {
  45. languageVersion = JavaLanguageVersion.of(8)
  46. }
  47. def extraDir = "$buildDir/testapp/extra"
  48. outputs.cacheIf { true }
  49. outputs.dir extraDir
  50. outputs.dir warDir
  51. mainClass.set("com.google.gwt.dev.Compiler")
  52. classpath {
  53. [
  54. sourceSets.testapp.java.srcDirs,
  55. sourceSets.testapp.compileClasspath
  56. ]
  57. }
  58. args = [
  59. 'test.gwt.Greeting', // gwt module
  60. '-war', warDir,
  61. '-logLevel', 'INFO',
  62. '-localWorkers', '2',
  63. '-compileReport',
  64. '-extra', extraDir,
  65. '-draftCompile' // makes compile a bit faster
  66. ]
  67. }
  68. task copyTestWebapp(type: Copy) {
  69. dependsOn compileGwt
  70. from file("src/testapp/webapp")
  71. from warDir
  72. into file("$buildDir/testapp/web")
  73. }
  74. test.dependsOn sourceSets.testapp.output, copyTestWebapp
  75. test {
  76. // add test app classes to classpath
  77. classpath = project.sourceSets.test.runtimeClasspath + files("$buildDir/testapp/classes")
  78. }