39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
plugins {
 | 
						|
  id("otel.java-conventions")
 | 
						|
}
 | 
						|
 | 
						|
val instrumentationProjectTest = tasks.named("test")
 | 
						|
 | 
						|
// batching up the muzzle tasks alphabetically into 4 chunks
 | 
						|
// to split them up into separate CI jobs (but not too many CI job)
 | 
						|
val instrumentationProjectMuzzle = listOf(
 | 
						|
  tasks.create("muzzle1"),
 | 
						|
  tasks.create("muzzle2"),
 | 
						|
  tasks.create("muzzle3"),
 | 
						|
  tasks.create("muzzle4"),
 | 
						|
)
 | 
						|
 | 
						|
var counter = 0
 | 
						|
subprojects {
 | 
						|
  val subProj = this
 | 
						|
  plugins.withId("java") {
 | 
						|
    instrumentationProjectTest.configure {
 | 
						|
      dependsOn(subProj.tasks.named("test"))
 | 
						|
    }
 | 
						|
 | 
						|
    // this only exists to make Intellij happy since it doesn't (currently at least) understand our
 | 
						|
    // inclusion of this artifact inside :testing-common
 | 
						|
    dependencies {
 | 
						|
      compileOnly(project(":testing:armeria-shaded-for-testing", configuration = "shadow"))
 | 
						|
      testCompileOnly(project(":testing:armeria-shaded-for-testing", configuration = "shadow"))
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  plugins.withId("io.opentelemetry.instrumentation.muzzle-check") {
 | 
						|
    // relying on predictable ordering of subprojects
 | 
						|
    // (see https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#N14CB4)
 | 
						|
    // since we are splitting these muzzleX tasks across different github action jobs
 | 
						|
    instrumentationProjectMuzzle[counter++ % 4].dependsOn(subProj.tasks.named("muzzle"))
 | 
						|
  }
 | 
						|
}
 |