DEV Community

Query Filter
Query Filter

Posted on

docker-154

configurations {
    java21Bridge
}

dependencies {
    // 1. Keep your locked compilation bridge jars
    java21Bridge('org.springframework:spring-beans:4.3.26.RELEASE') { transitive = false }
    java21Bridge('jakarta.jws:jakarta.jws-api:3.0.0') { transitive = false }
    java21Bridge('javax.xml.ws:jaxws-api:2.3.1') { transitive = false }

    // 2. Clear out jta from the platform BOM if it lives there
    implementation platform(group: 'com.citi.157514.comet', name: 'comet-bom', version: '9.4.0e_b1') {
        exclude group: 'org.mockito'
        exclude group: 'org.junit.jupiter'
        exclude group: 'junit'
        exclude group: 'javax.transaction', module: 'jta'  // <-- EXCLUDE STUB
    }

    // 3. Clear out jta from your core business dependencies
    implementation(group: 'com.citi.156783.comet', name: 'CC_CPLSFW', version: '9.4.0e_b8') {
        exclude group: 'javax.transaction', module: 'jta'
        exclude group: 'jta', module: 'jta'
    }

    implementation(group: 'com.citi.158825', name: 'emmaserver', version: '2.0_D0') {
        exclude group: 'javax.transaction', module: 'jta'
        exclude group: 'jta', module: 'jta'
    }
}

compileJava {
    options.encoding = "UTF-8"
    options.fork = true
    options.forkOptions.setMemoryMaximumSize("1g")

    // Your exact filtering logic runs cleanly:
    def filters = sourceSets.main.compileClasspath.filter { file ->
        file.getName().contains("CC_CPLSFW")
    }
    filters = filters + sourceSets.main.compileClasspath.filter {
        it.getName().contains("OESIntf")
    }
    filters = filters + sourceSets.main.compileClasspath.filter {
        it.getName().contains("IOIIntf_Q3")
    }
    def otherClasspathItems = sourceSets.main.compileClasspath - filters

    // Inject the bridge at the absolute end after the filters finish
    sourceSets.main.compileClasspath = filters + otherClasspathItems + configurations.java21Bridge
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)