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