Skip to content
Snippets Groups Projects
build.gradle 8.86 KiB
Newer Older
def vXnat = '1.7.0-SNAPSHOT'
def vXnatPipeline = vXnat
def vSpring = '4.2.4.RELEASE'
def vSpringSecurity = '4.0.3.RELEASE'
def vSwagger = '2.3.1'
def vHibernate = '4.3.11.Final'
def vEhcache = '2.6.11'
def vJackson = '2.7.0'
def vPostgreSQL = '9.4.1207'
def vServletApi = '3.1.0'
def vTomcat = '7.0.67'
def vCargo = '1.4.18'
def vSlf4j = '1.7.14'
def vLog4j = '1.2.17'
def vJunit = '4.12'
def vSaxon = '9.1.0.8'
def vGroovy = '2.4.5'
def vJython = '2.7.0'

group 'org.nrg.xnat'
version vXnat

println "Using Java version ${JavaVersion.current()}"

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.bmuschko:gradle-cargo-plugin:2.2.2'
        classpath 'com.bmuschko:gradle-tomcat-plugin:2.2.4'
    }
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
    maven {
        url 'http://maven.xnat.org/libs-release'
        name 'XNAT Release Repository'
    }
    maven {
        url 'http://maven.xnat.org/libs-snapshot'
        name 'XNAT Snapshot Repository'
    }
    maven {
        url 'http://maven.xnat.org/ext-release'
        name 'XNAT External Release Repository'
    }
}

apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'war'
apply plugin: 'maven'
apply plugin: 'com.bmuschko.tomcat'
apply plugin: 'com.bmuschko.cargo'

sourceCompatibility = 1.7
targetCompatibility = 1.7

war.baseName = "xnat-web"

tomcatRun.contextPath = '/'
tomcatRunWar.contextPath = '/'

[tomcatRun, tomcatRunWar].each { task ->
    // TODO: This can be configured with an external folder reference to be used for loading XNAT modules.
    task.additionalRuntimeResources << file('/Users/rherrick/xnat/config/plugins')
}

configurations {
    all*.exclude group: 'avalon-framework'
    all*.exclude group: 'avalon-logkit'
    all*.exclude group: 'com.metaparadigm'
    all*.exclude group: 'com.sun.mail'
    all*.exclude group: 'excalibur-component'
    all*.exclude group: 'excalibur-instrument'
    all*.exclude group: 'excalibur-logger'
    all*.exclude group: 'excalibur-pool'
    all*.exclude group: 'fop'
    all*.exclude group: 'geronimo-spec'
    all*.exclude group: 'hsqldb'
    all*.exclude group: 'imagej'
    all*.exclude group: 'jamon'
    all*.exclude group: 'jakarta-regexp'
    all*.exclude group: 'org.apache.geronimo.specs'
    all*.exclude group: 'torque'
    all*.exclude group: 'velocity'
    all*.exclude group: 'xmlrpc'
    all*.exclude group: 'ant', module: 'ant'
    all*.exclude group: 'commons-email', module: 'commons-email'
    all*.exclude group: 'edu.ucar', module: 'netcdf'
    all*.exclude group: 'javax.jms', module: 'jms'
    all*.exclude group: 'javax.mail', module: 'mail'
    all*.exclude group: 'javax.sql', module: 'jdbc-stdext'
    all*.exclude group: 'javax.transaction', module: 'jta'
    all*.exclude group: 'jdbc', module: 'jdbc'
    all*.exclude group: 'jms', module: 'jms'
    all*.exclude group: 'jython', module: 'jython'
    all*.exclude group: 'net.sf.saxon', module: 'saxon'
    all*.exclude group: 'stax', module: 'stax-api'
    all*.exclude group: 'xml-apis', module: 'xml-apis'
    all*.exclude module: 'commons-beanutils-core'
    all*.exclude module: 'jul-to-slf4j'
    all*.exclude module: 'log4j-slf4j-impl'
    all*.exclude module: 'pipelineCNDAXNAT'
    all*.exclude module: 'slf4j-simple'
}

dependencies {
    // NRG dependencies first.
    compile "org.nrg.xdat:core:${vXnat}"
    compile "org.nrg:framework:${vXnat}"
    compile "org.nrg:transaction:${vXnat}"
    compile "org.nrg:prefs:${vXnat}"
    compile "org.nrg:config:${vXnat}"
    compile "org.nrg:automation:${vXnat}"
    compile "org.nrg:dicomtools:${vXnat}"
    compile "org.nrg:anonymize:${vXnat}"
    compile "org.nrg:mail:${vXnat}"
    compile "org.nrg:notify:${vXnat}"

    compile "org.nrg:dicom-xnat-mx:1.7.0-SNAPSHOT"
    compile "org.nrg:dicom-xnat-sop:1.7.0-SNAPSHOT"
    compile "org.nrg:dicom-xnat-util:1.7.0-SNAPSHOT"
    compile "org.nrg:ecat4xnat:1.7.0-SNAPSHOT"
    compile "org.nrg:DicomDB:4.1.0"
    compile "org.nrg:ExtAttr:4.1.0"
    compile "org.nrg:DicomEdit:4.2.0"
    compile "org.nrg:DicomImageUtils:${vXnat}"
    compile "org.nrg:DicomUtils:1.3.1"
    compile "org.nrg:PrearcImporter:${vXnat}"
    compile "org.nrg:SessionBuilders:${vXnat}"

    compile "org.nrg:pipelineBase:1.0"
    compile "org.nrg:pipelineBuild:1.0"
    compile "org.nrg:pipelineWorkflow:1.0"
    compile "org.nrg:pipelineXNAT:1.0"
    compile "org.nrg.xnat.pipeline:client:${vXnatPipeline}"
    compile "org.nrg.xnat.pipeline:xnat_pipeline:${vXnatPipeline}"
    compile "org.nrg.xnat.pipeline:xnat_tools:${vXnatPipeline}"

    compile "org.nrg:plexiviewer:${vXnat}"

    compile "dcm4che:dcm4che-core:2.0.25"
    compile "dcm4che:dcm4che-image:2.0.25"
    compile "dcm4che:dcm4che-imageio:2.0.25"
    compile "dcm4che:dcm4che-imageio-rle:2.0.25"
    compile "dcm4che:dcm4che-iod:2.0.25"
    compile "dcm4che:dcm4che-net:2.0.25"

    compile "org.springframework:spring-web:${vSpring}"
    compile "org.springframework:spring-webmvc:${vSpring}"

    compile "io.springfox:springfox-swagger2:${vSwagger}"
    compile "io.springfox:springfox-swagger-ui:${vSwagger}"

    compile "org.springframework.security:spring-security-acl:${vSpringSecurity}"
    compile "org.springframework.security:spring-security-aspects:${vSpringSecurity}"
    compile "org.springframework.security:spring-security-config:${vSpringSecurity}"
    compile "org.springframework.security:spring-security-ldap:${vSpringSecurity}"
    compile "org.springframework.security:spring-security-taglibs:${vSpringSecurity}"
    compile "org.springframework.ldap:spring-ldap-core:2.0.4.RELEASE"

    compile "org.hibernate:hibernate-core:${vHibernate}"
    compile "org.hibernate:hibernate-ehcache:${vHibernate}"
    compile "org.hibernate:hibernate-validator:4.3.2.Final"
    compile "net.sf.ehcache:ehcache-core:${vEhcache}"

    compile "com.noelios.restlet:com.noelios.restlet:1.1.10"
    compile "com.noelios.restlet:com.noelios.restlet.ext.servlet:1.1.10"
    compile "org.restlet:org.restlet.ext.fileupload:1.1.10"

    compile "com.fasterxml.jackson.core:jackson-annotations:${vJackson}"
    compile "com.fasterxml.jackson.core:jackson-core:${vJackson}"
    compile "com.fasterxml.jackson.core:jackson-databind:${vJackson}"
    compile "org.json:json:20151123"
    compile "xerces:xercesImpl:2.11.0"

    compile "commons-codec:commons-codec:1.10"
    compile "commons-collections:commons-collections:3.2.2"
    compile "commons-configuration:commons-configuration:1.10"
    compile "commons-digester:commons-digester:1.8.1"
    compile "commons-discovery:commons-discovery:0.5"
    compile "commons-fileupload:commons-fileupload:1.3.1"
    compile "commons-net:commons-net:3.4"
    compile "commons-pool:commons-pool:1.6"

    compile "org.apache.commons:commons-email:1.4"
    compile "org.apache.commons:commons-math:2.2"

    compile "org.apache.httpcomponents:httpclient:4.5.1"
    compile "org.apache.httpcomponents:httpcore:4.4.4"
    compile "org.apache.httpcomponents:httpcore-nio:4.4.4"

    compile "org.codehaus.groovy:groovy-all:${vGroovy}"
    compile "org.python:jython-standalone:${vJython}"

    compile "net.sourceforge.saxon:saxon:${vSaxon}"

    compile "nl.bitwalker:UserAgentUtils:1.2.4"
    compile "com.twmacinta:fast-md5:2.7.1"
    compile "com.h2database:h2:1.4.191"
    compile "com.lowagie:itext:4.2.1"
    compile "net.java.dev.msv:msv-core:2013.6.1"
    compile "gnu.getopt:java-getopt:1.0.13"
    compile "org.quartz-scheduler:quartz:2.2.2"
    compile "org.reflections:reflections:0.9.10"
    compile "org.apache.xmlbeans:xmlbeans:2.6.0"
    compile "org.apache.xmlbeans:xmlbeans-xpath:2.6.0"
    compile "org.apache.xbean:xbean-spring:4.5"
    compile "net.java.dev.msv:xsdlib:2013.6.1"

    compile "org.postgresql:postgresql:${vPostgreSQL}"

    compile "org.slf4j:slf4j-api:${vSlf4j}"
    compile "org.slf4j:slf4j-log4j12:${vSlf4j}"
    compile "org.slf4j:jul-to-slf4j:${vSlf4j}"
    compile "log4j:log4j:${vLog4j}"
    compile "javax.servlet:jstl:1.2"
    compile "javax.mail:javax.mail-api:1.5.5"

    runtime "org.apache.activemq:activemq-core:5.7.0"
    runtime "ant:ant:1.6.5"
    runtime "axis:axis-ant:1.4"
    runtime "axis:axis-schema:1.3"
    runtime "cglib:cglib:3.2.0"
    runtime "fop:fop:0.20.5"
    runtime "org.hsqldb:hsqldb:1.8.0.10"
    runtime "org.codehaus.groovy.modules.http-builder:http-builder:0.7.2"
    runtime "net.imagej:ij:1.50e"
    runtime "net.bull.javamelody:javamelody-core:1.58.0"
    runtime "org.javassist:javassist:3.20.0-GA"

    providedCompile "javax.servlet:javax.servlet-api:${vServletApi}"

    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${vTomcat}",
            "org.apache.tomcat.embed:tomcat-embed-logging-juli:${vTomcat}",
            "org.apache.tomcat.embed:tomcat-embed-jasper:${vTomcat}"

    cargo "org.codehaus.cargo:cargo-core-uberjar:${vCargo}",
          "org.codehaus.cargo:cargo-ant:${vCargo}"

    testCompile "junit:junit:${vJunit}"
    testCompile "org.springframework:spring-test:${vSpring}"
}