import org.omg.CORBA.portable.Delegate buildscript { repositories { jcenter() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:0.5' classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0' classpath 'us.kirchmeier:gradle-capsule-plugin:1.0.0' } } version = "2.0.0" def props = new Properties() file("dependencies.properties").withInputStream { props.load(it) } ext.dependencyVersions = new ConfigSlurper().parse(props) def globalVersion = new Version(version) task wrapper(type: Wrapper) { gradleVersion = '2.13' } configure(subprojects - project(":valkyrie-rcp-integrations") - project(":valkyrie-rcp-samples")) { apply plugin: "groovy" apply plugin: "idea" apply plugin: "eclipse" apply plugin: "maven" group = "org.valkyriercp" sourceCompatibility = 1.7 compileJava.options.encoding = 'UTF-8' version = globalVersion status = version.status repositories { maven { url "file://${rootDir}/dependencies" } jcenter() } configurations { all*.exclude group: 'commons-logging', module: 'commons-logging' provided { dependencies.all { dep -> configurations.default.exclude group: dep.group, module: dep.name } } compile.extendsFrom provided } test { scanForTestClasses = false include '**/*Tests.*' include '**/*Spec.*' exclude '**/*Abstract*.*' } jar { enabled = !sourceSets.main.allSource.empty } task sourcesJar(type: Jar, dependsOn: classes) { enabled = !sourceSets.main.allSource.empty classifier = "sources" from sourceSets.main.allJava.srcDirs include "**/*.java" } task javadocJar(type: Jar) { enabled = !sourceSets.main.allSource.empty classifier = "javadoc" from javadoc } artifacts { archives sourcesJar } dependencies { testCompile "junit:junit:${dependencyVersions.junit}" testCompile "org.spockframework:spock-spring:${dependencyVersions.spock}" testCompile "org.codehaus.groovy:groovy-all:${dependencyVersions.groovy}" testCompile "org.gcontracts:gcontracts-core:${dependencyVersions.gcontracts}" testCompile "org.springframework:spring-test:${dependencyVersions.spring.framework}" compile "org.slf4j:slf4j-api:${dependencyVersions.slf4j}" compile "org.slf4j:jcl-over-slf4j:${dependencyVersions.slf4j}" runtime "ch.qos.logback:logback-classic:${dependencyVersions.logback}" } } configure([ project(":valkyrie-rcp-resources"), project(":valkyrie-rcp-core"), project(":valkyrie-rcp-integrations:valkyrie-rcp-jodatime"), project(":valkyrie-rcp-integrations:valkyrie-rcp-jideoss"), project(":valkyrie-rcp-integrations:valkyrie-rcp-vldocking"), ]) { if (project.hasProperty('bintray_api_user') && project.hasProperty('bintray_api_key')) { apply plugin: 'com.jfrog.bintray' apply plugin: "maven" bintray { user = "${bintray_api_user?:''}" key = "${bintray_api_key?:''}" configurations = ['archives'] pkg { repo = 'maven' name = 'valkyriercp' version { name = globalVersion vcsTag = globalVersion } } } } } project("valkyrie-rcp-resources") { dependencies { compile "com.famfamfam:silk:${dependencyVersions.silk}" compile "org.freedesktop.tango:tango-icon-theme:${dependencyVersions.tango}" } } project("valkyrie-rcp-core") { dependencies { compile project(":valkyrie-rcp-resources") compile "com.l2fprod:l2fprod-common-all:${dependencyVersions.l2fprod}" compile "net.java.dev.glazedlists:glazedlists_java15:${dependencyVersions.glazedlists}" compile "commons-beanutils:commons-beanutils:${dependencyVersions.commons.beanutils}" compile "org.apache.httpcomponents:httpclient:${dependencyVersions.httpclient}" compile "com.google.guava:guava:${dependencyVersions.guava}" compile "org.springframework.security:spring-security-core:${dependencyVersions.spring.security}" compile "org.springframework.security:spring-security-config:${dependencyVersions.spring.security}" compile "org.springframework:spring-web:${dependencyVersions.spring.framework}" compile "org.swinglabs.swingx:swingx-all:${dependencyVersions.swingx}" compile "com.jgoodies:forms:${dependencyVersions.jgoodies.forms}" compile "javax.help:javahelp:${dependencyVersions.jhelp}" compile("org.springframework.webflow:spring-binding:${dependencyVersions.spring.binding}") { exclude module: "spring-beans" exclude module: "spring-core" exclude module: "spring-context" exclude module: "spring-expression" } compile "javax.validation:validation-api:${dependencyVersions.validation.api}" compile "com.miglayout:miglayout-swing:${dependencyVersions.miglayout}" compile "com.google.code.gson:gson:${dependencyVersions.gson}" } } project("valkyrie-rcp-integrations:valkyrie-rcp-jodatime") { dependencies { compile project(":valkyrie-rcp-core") compile "joda-time:joda-time:${dependencyVersions.jodatime}" } } project("valkyrie-rcp-integrations:valkyrie-rcp-jideoss") { dependencies { compile project(":valkyrie-rcp-core") compile "com.jidesoft:jide-oss:${dependencyVersions.jide}" } } project("valkyrie-rcp-integrations:valkyrie-rcp-jidedocking") { dependencies { compile project(":valkyrie-rcp-core") compile "com.jidesoft:jide-components:${dependencyVersions.jide}" compile "com.jidesoft:jide-dock:${dependencyVersions.jide}" compile "com.jidesoft:jide-common:${dependencyVersions.jide}" } } project("valkyrie-rcp-integrations:valkyrie-rcp-vldocking") { dependencies { compile project(":valkyrie-rcp-core") compile "com.vlsolutions:vldocking:${dependencyVersions.vldocking}" } } project("valkyrie-rcp-integrations:valkyrie-rcp-dockingframes") { dependencies { compile project(":valkyrie-rcp-core") compile "org.dockingframes:docking-frames-common:${dependencyVersions.dockingframes}" } } project("valkyrie-rcp-samples:valkyrie-rcp-simple-sample") { apply plugin: 'us.kirchmeier.capsule' dependencies { compile project(":valkyrie-rcp-core") compile project(":valkyrie-rcp-integrations:valkyrie-rcp-jideoss") compile "com.jgoodies:jgoodies-looks:${dependencyVersions.jgoodies.looks}" } task(runSample, dependsOn: 'classes', type: JavaExec) { main = 'org.valkyriercp.sample.simple.SimpleSampleRunner' classpath = sourceSets.main.runtimeClasspath } task(fatCapsule, type: FatCapsule) { applicationClass 'org.valkyriercp.sample.simple.SimpleSampleRunner' } } project("valkyrie-rcp-samples:valkyrie-rcp-showcase-sample") { apply plugin: 'us.kirchmeier.capsule' dependencies { compile project(":valkyrie-rcp-core") compile project(":valkyrie-rcp-integrations:valkyrie-rcp-jideoss") compile "com.jgoodies:jgoodies-looks:${dependencyVersions.jgoodies.looks}" } task(runSample, dependsOn: 'classes', type: JavaExec) { main = 'org.valkyriercp.sample.showcase.ShowcaseRunner' classpath = sourceSets.main.runtimeClasspath } task(fatCapsule, type: FatCapsule) { applicationClass 'org.valkyriercp.sample.showcase.ShowcaseRunner' } } project("valkyrie-rcp-samples:valkyrie-rcp-dataeditor-sample") { apply plugin: 'us.kirchmeier.capsule' dependencies { compile project(":valkyrie-rcp-core") compile project(":valkyrie-rcp-integrations:valkyrie-rcp-jideoss") compile "com.jgoodies:jgoodies-looks:${dependencyVersions.jgoodies.looks}" compile "com.github.insubstantial:substance:${dependencyVersions.substance}" compile "com.github.insubstantial:substance-swingx:${dependencyVersions.substance}" } task(runSample, dependsOn: 'classes', type: JavaExec) { main = 'org.valkyriercp.sample.dataeditor.DataEditorApp' classpath = sourceSets.main.runtimeClasspath } task(fatCapsule, type: FatCapsule) { applicationClass 'org.valkyriercp.sample.dataeditor.DataEditorApp' } } project("valkyrie-rcp-samples:valkyrie-rcp-vldocking-sample") { apply plugin: 'us.kirchmeier.capsule' dependencies { compile project(":valkyrie-rcp-core") compile project(":valkyrie-rcp-integrations:valkyrie-rcp-vldocking") compile "com.jgoodies:jgoodies-looks:${dependencyVersions.jgoodies.looks}" } task(runSample, dependsOn: 'classes', type: JavaExec) { main = 'org.valkyriercp.sample.simple.VLDockingSampleRunner' classpath = sourceSets.main.runtimeClasspath } task(fatCapsule, type: FatCapsule) { applicationClass 'org.valkyriercp.sample.simple.VLDockingSampleRunner' } } project("valkyrie-rcp-samples:valkyrie-rcp-dockingframes-sample") { apply plugin: 'us.kirchmeier.capsule' dependencies { compile project(":valkyrie-rcp-core") compile project(":valkyrie-rcp-integrations:valkyrie-rcp-dockingframes") compile "com.jgoodies:jgoodies-looks:${dependencyVersions.jgoodies.looks}" } task(runSample, dependsOn: 'classes', type: JavaExec) { main = 'org.valkyriercp.sample.simple.DockingFramesSampleRunner' classpath = sourceSets.main.runtimeClasspath } task(fatCapsule, type: FatCapsule) { applicationClass 'org.valkyriercp.sample.simple.DockingFramesSampleRunner' } } class Version { String originalVersion String thisVersion String status Date buildTime Version(String versionValue) { buildTime = new Date() originalVersion = versionValue if (originalVersion.endsWith('-SNAPSHOT')) { status = 'integration' thisVersion = originalVersion.substring(0, originalVersion.length() - 'SNAPSHOT'.length()) + getTimestamp() } else { status = 'release' thisVersion = versionValue } } String getTimestamp() { // Convert local file timestamp to UTC def format = new java.text.SimpleDateFormat('yyyyMMddHHmmss') format.setCalendar(Calendar.getInstance(TimeZone.getTimeZone('UTC'))); return format.format(buildTime) } String toString() { thisVersion } }