af795fce01a46ebb68732663bb5d9415278842a3
[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         from { sourceSets.generated.resources.srcDirs }
56         with jar
57         dependsOn test
58 }
59
60 task createVersion() {
61     sourceSets {
62         generated {
63             resources {
64                 srcDir "src/generated/resources"
65             }
66         }
67     }
68     processResources.dependsOn(createVersion)
69 }
70
71
72 import org.ajoberstar.grgit.Grgit
73 createVersion << {
74     def gitRepo = Grgit.open(".")
75     version = gitRepo.describe()
76     new File("src/generated/resources").mkdirs()
77     new File("src/generated/resources/version.txt").withWriter() { it.write(version) }
78 }
79
80 war {
81     classpath sourceSets.generated.output
82     dependsOn(test)
83 }
84
85 /* vim: set ts=4 sw=4 et: */