-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
101 lines (84 loc) · 2.58 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
95
96
97
98
99
100
101
buildscript {
ext {
springBootVersion = '1.3.6.RELEASE'
osPackageVersion = "3.6.1"
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: 'nebula.ospackage'
jar {
baseName = 'pbcache'
version = '0.0.1-SNAPSHOT'
}
bootRun {
systemProperties System.properties
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = "0.0.1"
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
compile group: 'javax.cache', name: 'cache-api', version: '1.0.0'
// https://mvnrepository.com/artifact/com.hazelcast/hazelcast-spring
compile group: 'com.hazelcast', name: 'hazelcast-all', version: '3.7-EA'
compile group: 'com.netflix.nebula', name: 'gradle-ospackage-plugin', version: '3.6.1'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}
// OS Package plugin configuration
ospackage {
packageName = "pbcache"
version = "${project.version}"
release = 1
os = LINUX
type = BINARY
arch = NOARCH
preInstall file("scripts/rpm/preInstall.sh")
postInstall file("scripts/rpm/postInstall.sh")
preUninstall file("scripts/rpm/preUninstall.sh")
postUninstall file("scripts/rpm/postUninstall.sh")
into "/opt/local/pbcache"
user "pbcache"
permissionGroup "pbcache"
// Copy the actual .jar file
from(jar.outputs.files) {
// Strip the version from the jar filename
rename { String fileName ->
fileName.replace("-${project.version}", "")
}
fileMode 0500
into "bin"
}
// Copy the config files
from("install/unix/conf") {
fileType CONFIG | NOREPLACE
fileMode 0754
into "conf"
}
}
// Configure our RPM build task
buildRpm {
user "pbcache"
permissionGroup "pbcache"
// Creates an empty log directory
directory("/opt/local/pbcache/log", 0755)
// Creates a symlink to the jar file as an init.d script (this functionality is provided by Spring Boot)
link("/etc/init.d/pbcache", "/opt/local/pbcache/lib/pbcache-0.0.1-SNAPSHOT.jar")
}