| buildscript { |
| repositories { |
| mavenCentral() |
| jcenter() |
| maven { |
| url "https://plugins.gradle.org/m2/" |
| } |
| } |
| dependencies { |
| classpath "gradle.plugin.org.eclipse.virgo.bundlor:bundlor-plugin:0.2" |
| classpath "gradle.plugin.com.eclipsesource.dockerizor:dockerizor:0.7.0" |
| classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3' |
| } |
| } |
| |
| apply plugin: 'org.asciidoctor.convert' |
| |
| ext.virgoProjects = [ |
| project(':org.eclipse.virgo.samples.recipe.messaging.rabbitmq'), |
| ] |
| |
| ext.dockerProjects = [ |
| project(':recipe-messaging-rabbitmq-runtime'), |
| project(':recipe-messaging-rabbitmq-app'), |
| ] |
| |
| configure(virgoProjects + dockerProjects) { |
| repositories { |
| mavenLocal() |
| mavenCentral() |
| ivy { |
| url "http://build.eclipse.org/rt/virgo/ivy/bundles/release/" |
| layout "pattern", { artifact "[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" } |
| } |
| } |
| } |
| |
| configure(virgoProjects) { |
| apply plugin: 'java' |
| apply plugin: 'eclipse' |
| apply plugin: 'eclipse-wtp' |
| |
| version = '0.1.0.BUILD-SNAPSHOT' |
| |
| compileJava { |
| options.encoding = 'utf-8' |
| options.fork = true |
| doFirst { |
| options.forkOptions.with { |
| executable = 'java' |
| jvmArgs = [ |
| '-cp', |
| configurations.ecj.asPath, |
| 'org.eclipse.jdt.internal.compiler.batch.Main', |
| '-source', |
| '1.8', |
| '-target', |
| '1.8', |
| '-warn:-unused' |
| ] |
| } |
| } |
| } |
| |
| compileTestJava { |
| options.encoding = 'utf-8' |
| options.fork = true |
| doFirst { |
| options.forkOptions.with { |
| executable = 'java' |
| jvmArgs = [ |
| '-cp', |
| configurations.ecj.asPath, |
| 'org.eclipse.jdt.internal.compiler.batch.Main', |
| '-source', |
| '1.8', |
| '-target', |
| '1.8', |
| '-warn:-unused' |
| ] |
| } |
| } |
| } |
| |
| eclipse { |
| jdt { |
| sourceCompatibility = 1.8 |
| targetCompatibility = 1.8 |
| } |
| |
| project { |
| natures 'org.eclipse.virgo.ide.facet.core.bundlenature', 'org.eclipse.wst.common.project.facet.core.nature' |
| } |
| |
| wtp { |
| facet { |
| facets = [] |
| facet name: 'jst.java', version: '1.8' |
| facet name: 'org.eclipse.virgo.server.bundle', version: '1.0' |
| } |
| } |
| } |
| |
| configurations { ecj { } } |
| |
| dependencies { |
| ecj group: "org.eclipse.jdt.core.compiler", name: "ecj", version: "4.4.2" |
| } |
| } |
| |
| configure(virgoProjects) { |
| apply plugin: 'org.eclipse.virgo.bundlor' |
| |
| task('addProjectVersionToGradlePropertiesTask', type: Copy) { |
| ext.outputDir = new File(buildDir, 'bundlor-properties') |
| inputs.file project.rootProject.file('gradle.properties') |
| outputs.dir ext.outputDir |
| from project.rootProject.file('gradle.properties') |
| into ext.outputDir |
| } |
| |
| task('mergeClassesAndResources', type: Copy, dependsOn: 'compileJava') { |
| ext.bundlorInputPath = new File(buildDir, 'bundlor-inputPath') |
| inputs.file sourceSets.main.output.classesDir |
| inputs.file sourceSets.main.resources |
| outputs.dir ext.bundlorInputPath |
| from sourceSets.main.output.classesDir |
| from sourceSets.main.resources |
| into ext.bundlorInputPath |
| } |
| |
| project.tasks.'bundlor'.dependsOn('addProjectVersionToGradlePropertiesTask', 'mergeClassesAndResources') |
| |
| bundlor { |
| ext.bundlorInputPath = new File(buildDir, 'bundlor-inputPath') |
| project.tasks['bundlor'].inputs.file ext.bundlorInputPath |
| manifestTemplatePath = "template.mf" |
| propertiesPath = new File("${project.buildDir}/bundlor-properties/gradle.properties") |
| inputPath = ext.bundlorInputPath |
| failOnWarnings = true |
| } |
| } |
| |
| configure(dockerProjects) { |
| // add the build task 'clean' |
| apply plugin: 'base' |
| |
| // add the build task 'dockerize' |
| apply plugin: 'com.eclipsesource.dockerizor' |
| |
| dockerizor { |
| maintainer = 'Florian Waibel <fwaibel@eclipsesource.com>' |
| |
| virgoVersion = 'latest' |
| hudsonJobName = 'gradle-build' |
| |
| createLocalCopy = System.properties['local.build'] == 'true' |
| removeAdminConsole = System.properties['local.build'] != 'true' |
| |
| virgoFlavour = 'VTS' |
| virgoVersion = 'latest' |
| } |
| |
| dockerize.dependsOn configurations.repositoryExt |
| dockerize.dependsOn configurations.repositoryUsr |
| } |
| |
| task wrapper(type: Wrapper) { |
| gradleVersion = '2.10' |
| } |