Commons-logging keeps getting included in the war file


(caron) #1

In project “tdcommon” i have excluded the pesky commons-logging:

jar {
    manifest {
        attributes 'Implementation-Title': 'tdcommon'
    }
}
  dependencies {
  compile project(':cdm')
  compile group: 'log4j', name: 'log4j', version:log4jVersion
  compile (group: 'org.springframework', name: 'spring-core', version: springVersion)
{
      exclude group: "commons-logging"
    }
}
  in project "tds" that builds a war file, i am depending on the "tdcommon" project:
  apply plugin: 'war'
  dependencies {
  compile project(':bufr')
  compile project(':cdm')
  compile project(':clcommon')
  compile project(':grib')
  compile project(':netcdf4')
  compile (project(':opendap')) { transitive = false }
  compile (project(':tdcommon')) {
    exclude group: "commons-logging"
  }
  compile (project(':visad')) { transitive = false }
    compile group: 'org.springframework', name: 'spring-context', version:springVersion
  compile group: 'org.springframework', name: 'spring-beans', version:springVersion
  compile group: 'org.springframework', name: 'spring-webmvc', version:springVersion
    compile (group: 'cas', name: 'casclient', version: "2.1.1") {
    transitive = false
  }
  compile group: 'commons-fileupload', name: 'commons-fileupload', version: "1.3"
  compile (group: 'EDS', name: 'threddsIso', version: "2.2.2")
{
    exclude group: "javax.servlet"
  }
    // ncss
  // JSR 303 with Hibernate Validator
  compile group: 'javax.validation', name: 'validation-api', version: "1.0.0.GA"
  compile group: 'org.hibernate', name: 'hibernate-validator', version: "4.1.0.Final"
  compile (group: 'org.jfree', name: 'jfreechart', version: jfreechartVersion) {
    exclude group: 'com.lowagie'
  }
    // wms
  compile (group: 'uk.ac.rdg.resc', name: 'ncwms', version: "1.0.tds.4.3.20130523.1500") {
    exclude group: 'commons-logging'
    exclude group: 'edu.ucar'
    exclude group: 'joda-time'
    exclude group: 'org.jfree'
    exclude group: 'org.springframework'
    exclude group: 'org.slf4j'
  }
  compile group: 'oro', name: 'oro', version: "2.0.8"
    providedCompile "javax.servlet:servlet-api:2.5"
    // logging
  runtime group: 'org.slf4j', name: 'slf4j-log4j12', version:slf4jVersion
  runtime group: 'org.slf4j', name: 'jcl-over-slf4j', version: slf4jVersion
}
  war {
  manifest {
    attributes 'Implementation-Version': version,
            'Implementation-Title': 'THREDDS Data Server (TDS)',
            'Implementation-Vendor': 'UCAR/Unidata',
            'Implementation-Vendor-Id': 'edu.ucar',
            'Built-On': new Date(),
            'Build-Jdk': System.properties['java.version']
  }
  }

but commons-logging keeps getting put into the war file (!)

if i do gradle -q dependencies -p tds

i see :

+--- thredds:tdcommon:4.4.0
|
  +--- thredds:cdm:4.4.0 (*)
|
  +--- log4j:log4j:1.2.17
|
  \--- org.springframework:spring-core:3.2.3.RELEASE
|
       \--- commons-logging:commons-logging:1.1.1

why is it being included? thanks!