forked from chvitved/fmk-vagrant-chef
/
build.gradle
97 lines (83 loc) · 3.43 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
task all << {
// having problems with gradle and dependsOn which does not look to be ordered
// workaround like this
fmkFetch.execute()
initdb.execute()
fmk.execute()
sdmFetch.execute()
sdm.execute()
fmkWebFetch.execute()
fmkWeb.execute()
}
task fmkFetch() << {
def urlBase = jenkinsUrl + "/job/FMK_trunk/lastSuccessfulBuild/artifact/"
fetchFile(urlBase + "target/medicinkortet12.war")
fetchFile(urlBase + "target/oiosaml.zip")
fetchFile(urlBase + "lib/build/com.trifork-mkt.dump.sql.zip")
fetchFile(urlBase + "lib/build/com.trifork-sdmmkt.dump.sql.zip")
moveOioSaml(workingDir + 'oiosaml.zip', '.oiosaml-medicinkortet')
}
task fmk() << {
exec(t4Exec + " system create fmk", false)
exec(t4Exec + " archive deploy fmk medicinkortet12.war")
}
task sdmFetch() << {
def urlBase = jenkinsUrl + "/job/stamdata-modulet_(SDM_rest)/lastSuccessfulBuild/artifact/"
fetchFile(urlBase + "target/fmk-stamdata-modulet.war")
fetchFile(urlBase + "target/oiosaml.zip")
moveOioSaml(workingDir + 'oiosaml.zip', '.oiosaml-stamdata-modulet')
}
task sdm() << {
exec(t4Exec + " system create sdm", false)
exec(t4Exec + " archive deploy sdm fmk-stamdata-modulet.war")
}
task fmkWebFetch() << {
def urlBase = jenkinsUrl + "/job/medicinkortet-web/lastSuccessfulBuild/artifact/"
//fetchFile(urlBase + "target/medicinkortet-web.war")
fetchFile(urlBase + "target/oiosaml.zip")
moveOioSaml(workingDir + 'oiosaml.zip', '.oiosaml-medicinkortet-gui')
}
task fmkWeb() << {
//exec(t4Exec + " system create fmk-web", false)
exec(t4Exec + " system create fmk-web", false)
exec(t4Exec + " system create assistantreg", false)
exec(t4Exec + " system create tilskud", false)
exec(t4Exec + " archive deploy fmk-web ~/.m2/repository/dk/fmkonline/fmk-online-boot/1.0-SNAPSHOT/fmk-online-boot-1.0-SNAPSHOT.war")
exec(t4Exec + " archive deploy assistantreg ~/.m2/repository/dk/fmkonline/fmk-online-assistantreg/1.0-SNAPSHOT/fmk-online-assistantreg-1.0-SNAPSHOT.war")
exec(t4Exec + " archive deploy tilskud ~/.m2/repository/dk/fmkonline/fmk-online-tilskud/1.0-SNAPSHOT/fmk-online-tilskud-1.0-SNAPSHOT.war")
}
task replicaFetch() << {
def urlBase = jenkinsUrl + "/job/recept-replikering_Riak/lastSuccessfulBuild/artifact/trunk/"
fetchFile(urlBase + "target/recept-replikering-all.jar")
}
task initdb(dependsOn: 'fmkFetch') << {
exec("mysql -uroot < drop.sql", false, projectDir)
exec("mysql -uroot < loaddb.sql", false, projectDir)
exec("unzip -p com.trifork-mkt.dump.sql.zip | mysql -umkt -pmkt mkt")
exec("unzip -p com.trifork-sdmmkt.dump.sql.zip | mysql -umkt -pmkt sdmmkt")
}
void moveOioSaml(zipFile, name) {
def dir = '/home/vagrant/' + name
new File(dir).mkdir()
ant.unzip(src: zipFile, dest: dir)
}
void exec(command, failOnError=true, dir=workingDir) {
println("executing " + command)
ant.exec(executable: "/bin/sh", dir: dir, failonerror: failOnError) {
arg(value: "-c")
arg(value: command)
}
}
File fetchFile(address, dir=workingDir) {
def file = new File(dir + address.tokenize("/")[-1])
def fos = new FileOutputStream(file)
def out = new BufferedOutputStream(fos)
def url = new URL(address)
println("fetching file " + url + " to " + file)
def urlConnection = url.openConnection()
def encoding = new sun.misc.BASE64Encoder().encode("chr:4446aa5477f737cbc899ecd0ab1133ef".getBytes())
urlConnection.setRequestProperty("Authorization", "Basic " + encoding)
out << urlConnection.getInputStream()
out.close()
file
}