-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
94 lines (79 loc) · 3.36 KB
/
build.gradle
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
/*
* This build file was auto generated by running the Gradle 'init' task
* by 'Kinjal' at '7/20/17 5:53 PM' with Gradle 2.14.1
*
* This generated file contains a sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/2.14.1/userguide/tutorial_java_projects.html
*/
// Apply the java plugin to add support for Java
apply plugin: 'application'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'jacoco'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.21'
compile 'org.slf4j:slf4j-log4j12:1.7.22'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
}
// Adds 'conf' directory to run task's classpath. The run task does not know that we have a 'conf' directory outside of 'src' folder,
// so this includes the 'conf' directory in the classpath.
// also prints command line
run {
classpath += files('conf')
println commandLine
}
// Add the conf folder to classpath while testing, else tests fail due to file not found
test {
classpath += files('conf')
}
// By default, distZip does not include the 'conf' directory when creating the zip distribution. This copies the 'conf' directory
// from the project's root directory to the root directory of the zip distribution.
distZip {
into(project.name) {
from '.'
include 'log'
include 'conf/*'
include 'docs/*'
exclude 'docs/javadoc'
}
}
// Gradle has a bug when generating batch file for distZip. When adding a directory <yourDirectory> to classpath,
// only the last element of the path is kept, and becomes 'lib/<yourDirectory>'.
// Here, what happens is that we generate a faulty script with 'lib/PXEconfPXE' in the classpath, and then doing a string
// substitution in the batch file to include the 'conf' directory instead of 'lib/PXEconfPXE'. 'PXEconfPXE' is used
// as a substitution pattern which hopefully shouldn't collide with any other directory name.
// See discussion in: https://stackoverflow.com/questions/10518603/adding-classpath-entries-using-gradles-application-plugin
startScripts {
classpath += files('PXEconfPXE')
doLast {
def windowsScriptFile = file getWindowsScript()
def unixScriptFile = file getUnixScript()
windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib\\PXEconfPXE', '%APP_HOME%\\conf')
unixScriptFile.text = unixScriptFile.text.replace('$APP_HOME/lib/PXEconfPXE', '$APP_HOME/conf')
}
}
javadoc {
destinationDir = file('docs/javadoc')
}
jacocoTestReport {
reports {
xml.enabled = true
html.enabled = true
}
}
check.dependsOn jacocoTestReport
mainClassName = 'org.kj.pxe.server.ServerImpl'
apply plugin: 'distribution'