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

file 123 lines (96 sloc) 3.584 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
apply from: "gradle/setup.gradle"
apply from: "gradle/vertx.gradle"

/*
Usage:

./gradlew task_name

(or gradlew.bat task_name if you have the misfortune to have to use Windows)

If no task name is specified then the default task 'assemble' is run

Task names are:

idea - generate a skeleton IntelliJ IDEA project

eclipse - generate a skeleton Eclipse IDE project

assemble - builds the outputs, by default this is the module zip file. It can also include a jar file if produceJar
in gradle.properties is set to true. Outputs are created in build/libs.
if pullInDeps in gradle.properties is set to 'true' then the modules dependencies will be
automatically pulled into a nested mods directory inside the module during the build

copyMod - builds and copies the module to the local 'mods' directory so you can execute vertx runmod (etc)
directly from the command line

modZip - creates the module zip into build/libs

clean - cleans everything up

test - runs the tests. An nice html test report is created in build/reports/tests (index.html)

runMod - runs the module. This is similar to executing vertx runmod from the command line except that it does
not use the version of Vert.x installed and on the PATH to run it. Instead it uses the version of Vert.x
that the module was compiled and tested against.

pullInDeps - pulls in all dependencies of the module into a nested module directory

uploadArchives - upload the module zip file (and jar if one has been created) to Nexus. You will need to
configure sonatypeUsername and sonatypePassword in ~/.gradle/gradle.properties.

install - install any jars produced to the local Maven repository (.m2)

*/

dependencies {
  /*
Add your module jar dependencies here
E.g.
compile "com.foo:foo-lib:1.0.1" - for compile time deps - this will end up in your module too!
testCompile "com.foo:foo-lib:1.0.1" - for test time deps
provided "com.foo:foo-lib:1.0.1" - if you DON'T want it to be packaged in the module zip
*/
}

task prepareTestModule(type: Copy) {
  destinationDir = mkdir('build/mods')
  from('src/test/resources') {
    include 'io.vertx~webtest~1.0.0/*'
  }
  from(testClasses) {
    into 'io.vertx~webtest~1.0.0'
  }
}

test {
  /* Configure which tests are included
include 'org/foo/**'
exclude 'org/boo/**'
*/
}
test.dependsOn prepareTestModule



/*
If you're uploading stuff to Maven, Gradle needs to generate a POM.
Please edit the details below.
*/
def configurePom(def pom) {
  pom.project {
    name rootProject.name
    description 'Simple Web Server Module for Vert.x'
    inceptionYear '2012'
    packaging 'jar'
    url 'https://github.com/vert-x/mod-web-server'

    developers {
      developer {
        id 'purplefox'
        name 'Tim Fox'
        // email 'developer email'
      }
    }

    scm {
      url 'https://github.com/vert-x/mod-web-server.git'
    }

    licenses {
      license {
        name 'The Apache Software License, Version 2.0'
        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
        distribution 'repo'
      }
    }

    properties {
      setProperty('project.build.sourceEncoding', 'UTF8')
    }
  }
}
// Map the 'provided' dependency configuration to the appropriate IDEA visibility scopes.
plugins.withType(IdeaPlugin) {
  idea {
    module {
      scopes.PROVIDED.plus += configurations.provided
      scopes.COMPILE.minus += configurations.provided
      scopes.TEST.minus += configurations.provided
      scopes.RUNTIME.minus += configurations.provided
    }
  }
}
Something went wrong with that request. Please try again.