Merge branch 'release-0.9.6'
[Sone.git] / build.gradle
1 group = 'net.pterodactylus'
2 version = '0.9.6'
3
4 buildscript {
5     repositories {
6         mavenCentral()
7     }
8     dependencies {
9         classpath group: 'info.solidsoft.gradle.pitest', name: 'gradle-pitest-plugin', version: '1.1.10'
10     }
11 }
12
13 repositories {
14      maven { url "http://maven.pterodactylus.net/" }
15      mavenCentral()
16 }
17
18 apply plugin: 'java'
19
20 sourceCompatibility = 1.7
21 targetCompatibility = 1.7
22
23 tasks.withType(JavaCompile) {
24         options.encoding = 'UTF-8'
25 }
26
27 configurations {
28     provided {
29         dependencies.all { dep ->
30             configurations.default.exclude group: dep.group, module: dep.name
31         }
32     }
33     compile.extendsFrom provided
34 }
35  
36 dependencies {
37     provided group: 'org.freenetproject', name: 'fred', version: '0.7.5.1475'
38     provided group: 'org.freenetproject', name: 'freenet-ext', version: '29'
39     provided group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.54'
40
41     compile group: 'net.pterodactylus', name: 'utils', version: '0.12.4'
42     compile group: 'com.google.inject', name: 'guice', version: '3.0'
43     compile group: 'com.google.guava', name: 'guava', version: '14.0.1'
44     compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.1.2'
45     compile group: 'com.google.code.findbugs', name: 'jsr305', version: '2.0.1'
46
47     testCompile group: 'junit', name: 'junit', version: '4.11'
48     testCompile group: 'org.mockito', name: 'mockito-core', version: '2.1.0'
49     testCompile group: 'org.jsoup', name: 'jsoup', version: '1.7.1'
50     testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
51 }
52
53 task fatJar(type: Jar) {
54     archiveName = project.name + '-jar-with-dependencies.jar'
55     from { (configurations.runtime - configurations.provided).collect { it.isDirectory() ? it : zipTree(it) } }
56     manifest {
57         attributes('Plugin-Main-Class': 'net.pterodactylus.sone.main.SonePlugin')
58     }
59     with jar
60 }
61
62 javadoc {
63     options {
64         quiet()
65         showFromPrivate()
66         footer('© 2010–2013 David ‘Bombe’ Roden')
67         links('http://docs.oracle.com/javase/7/docs/api/')
68     }
69     failOnError = false
70 }
71
72 apply plugin: 'jacoco'
73
74 jacoco {
75     toolVersion = '0.7.7.201606060606'
76 }
77
78 jacocoTestReport.dependsOn test
79
80 apply plugin: 'info.solidsoft.pitest'
81
82 pitest {
83     outputFormats = ['HTML', 'XML']
84     timestampedReports = false
85     timeoutFactor = 3.0
86 }
87
88 apply plugin: 'findbugs'
89
90 findbugs {
91     ignoreFailures = true
92 }
93
94 apply plugin: 'idea'