Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

executable file 127 lines (107 sloc) 3.223 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
/*
* 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'
  }
}
Something went wrong with that request. Please try again.