Add war configuration
[rhynodge.git] / build.gradle
1 apply plugin: "java"
2 apply plugin: "war"
3 apply plugin: "jacoco"
4 apply plugin: "idea"
5
6 idea {
7         project {
8                 languageLevel = "1.8"
9         }
10 }
11
12 group = "net.pterodactylus"
13 version = "0.1"
14
15 sourceCompatibility = 1.8
16 targetCompatibility = 1.8
17
18 buildscript {
19     repositories {
20         mavenCentral()
21     }
22     dependencies {
23         classpath group: "org.ajoberstar", name: "gradle-git", version: "1.1.0"
24     }
25 }
26
27 repositories {
28         mavenCentral()
29 }
30
31 dependencies {
32     compile group: "com.google.guava", name: "guava", version: "14.0-rc1"
33     compile group: "log4j", name: "log4j", version: "1.2.17"
34     compile group: "org.apache.httpcomponents", name: "httpclient", version: "4.4"
35     compile group: "org.jsoup", name: "jsoup", version: "1.7.1"
36     compile group: "javax.mail", name: "mail", version: "1.4.6-rc1"
37     compile group: "org.apache.commons", name: "commons-lang3", version: "3.1"
38     compile group: "com.fasterxml.jackson.core", name: "jackson-core", version: "2.1.2"
39     compile group: "com.fasterxml.jackson.core", name: "jackson-annotations", version: "2.1.2"
40     compile group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.1.2"
41
42     testCompile group: "junit", name: "junit", version:"4.12"
43     testCompile group: "org.hamcrest", name: "hamcrest-library", version:"1.3"
44     testCompile group: "org.mockito", name: "mockito-core", version:"1.9.5"
45 }
46
47 task fatJar(type: Jar) {
48         baseName = project.name + "-all"
49         manifest {
50                 attributes(
51                         "Main-Class": "net.pterodactylus.rhynodge.engine.Starter"
52                 )
53         }
54         from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
55         with jar
56         dependsOn test
57 }
58
59 task createVersion() {
60     sourceSets {
61         generated {
62             resources {
63                 srcDir "src/generated/resources"
64             }
65         }
66     }
67     processResources.dependsOn(createVersion)
68 }
69
70
71 import org.ajoberstar.grgit.Grgit
72 createVersion << {
73     def gitRepo = Grgit.open(".")
74     version = gitRepo.describe()
75     new File("src/generated/resources").mkdirs()
76     new File("src/generated/resources/version.txt").withWriter() { it.write(version) }
77 }
78
79 war {
80     classpath sourceSets.generated.output
81     dependsOn(test)
82 }
83
84 /* vim: set ts=4 sw=4 et: */