forked from patrickkee/upward
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
106 lines (87 loc) · 2.97 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
102
103
104
105
106
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'com.moowork.node'
repositories {
mavenCentral()
}
buildscript {
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'org.hidetake:gradle-ssh-plugin:0.1.7'
classpath "com.moowork.gradle:gradle-node-plugin:0.11"
}
}
dependencies {
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.22.1'
compile 'org.glassfish.jersey.core:jersey-server:2.22.1'
compile 'org.glassfish.jersey.core:jersey-common:2.22.1'
compile 'org.glassfish.jersey.core:jersey-client:2.22.1'
compile 'org.glassfish.jersey.media:jersey-media-json-processing:2.22.1'
compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.22.1'
compile 'org.glassfish.jersey.media:jersey-media-multipart:2.22.1'
compile 'org.glassfish.jersey.media:jersey-media-sse:2.22.1'
compile 'com.yammer.metrics:metrics-graphite:2.2.0'
compile 'com.google.guava:guava:18.0'
compile 'joda-time:joda-time:2.9'
compile 'log4j:log4j:1.2.16'
testCompile 'junit:junit-dep:4.10'
testCompile 'org.slf4j:slf4j-simple:1.6.1'
testCompile 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:2.22.1'
}
sourceSets {
test {
java {
srcDirs = ["/src/test/java"]
}
}
}
//Exclude all the un-compiled ES6 code and NPM stuff, only **/js/app.js and **/js/bundle.js is distributed
war {
exclude('**/node_modules/**')
exclude('**/js/actions/**')
exclude('**/js/components/**')
exclude('**/js/constants/**')
exclude('**/js/dispatcher/**')
exclude('**/js/stores/**')
}
//This is required for gradle to run junit tests
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/java/resources"
into "${buildDir}/classes/test/resources"
}
processTestResources.dependsOn copyTestResources
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
//**************** Tasks and components to support remote deploy ************************
apply plugin: 'ssh'
remotes {
web01 {
host = 'ec2-52-5-125-8.compute-1.amazonaws.com'
user = 'ec2-user'
identity = file('E:/My Documents/GitHub/aws/admin-key-pair.pem')
}
}
ssh {
config(StrictHostKeyChecking: 'no') // needed for deploying to EC2
}
task deployWar(type: SshTask, dependsOn: 'war') {
def tomcatHome = '/usr/apache-tomcat-8.0.26/webapps'
def warName = "ROOT"
session(remotes.web01) {
println "Uploading new war from ${war.archivePath.absolutePath} to ${tomcatHome}/${warName}.war"
put(war.archivePath.absolutePath,"/usr/upload-tmp/${warName}.war")
println "removing old war"
executeSudo("rm ${tomcatHome}/${warName}.war")
println "activating new war"
executeSudo("mv /usr/upload-tmp/${warName}.war ${tomcatHome}/${warName}.war")
}
}