Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 128 lines (107 sloc) 3.15 KB
/*
* Copyright 2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'idea'
defaultTasks = ['assemble']
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
jar.enabled = true
configurations {
provided
}
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
mavenCentral()
}
dependencies {
provided "org.vert-x:vertx-core:$vertxVersion"
provided "org.vert-x:vertx-platform:$vertxVersion"
compile "com.github.spullara.mustache.java:compiler:$mustacheVersion"
testCompile "org.vert-x:vertx-lang-java:$vertxVersion"
testCompile( "org.vert-x:vertx-testframework:$vertxVersion" ) {
transitive = false
}
testCompile "junit:junit:$junitVersion"
}
sourceSets {
main {
compileClasspath = compileClasspath + configurations.provided
}
}
jar {
baseName = 'org.domkun.vertweb'
}
task copyMod( type:Copy, dependsOn: 'classes' ) {
into "build/mod/$modulename-v$version"
from 'build/classes/main'
from 'src/main/conf'
into('assets') {
from 'src/main/assets'
}
into('views') {
from 'src/main/views'
}
into( 'lib' ) {
from configurations.compile
}
}
task prepareVertxTest(type: Sync, dependsOn: ['copyMod']) {
from 'build/mod'
into 'build/tmp/mod-test'
}
test {
// Can't have the app on the vert.x classpath
classpath = files( classpath.findAll {
!( it.toString() ==~ /.+build\/(classes|resources)\/main$/ )
} )
// Some properties
systemProperty 'vertx.test.timeout', 15
systemProperty 'vertx.mods', "$projectDir/build/tmp/mod-test"
systemProperty 'module.version', "$project.version"
// Dump output
testLogging.showStandardStreams = true
// No idea why we need to depend on testClasses...
dependsOn << [ 'testClasses', 'copyMod', 'prepareVertxTest' ]
}
task collectDeps(type: Copy) {
group = 'vert.x'
description = 'conveniently collect dependencies for other IDEs'
destinationDir = file("build/deps")
into("compile") {
from configurations.compile
}
into("test") {
from configurations.testCompile
}
}
// Package into build/libs/mod.zip
task dist( type: Zip, dependsOn: 'copyMod' ) {
group = 'vert.x'
description = "Assembles a vert.x module in 'mod.zip' format"
destinationDir = project.file('build/libs')
archiveName = 'mod.zip'
from project.file("build/mod")
}
task release( type: Copy, dependsOn: 'dist' ) {
group = 'vert.x'
description = "Builds the module for use in the module repository into mods/$modulename-v$version"
destinationDir = project.file('build/mods')
into ("$modulename-v$version") {
from 'build/libs/mod.zip'
from 'README.md'
}
}