-
Notifications
You must be signed in to change notification settings - Fork 0
/
protobuf-build.hcl
78 lines (66 loc) · 1.84 KB
/
protobuf-build.hcl
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
param "protobuf_version" {
default = "3.1.0"
}
param "cpu" {
default = "arm"
}
param "build_dir" {
default = "{{env `HOME`}}/protobuf-build/protobuf-{{param `protobuf_version`}}"
}
param "install_dir" {
default = "{{env `HOME`}}/protobuf-install"
}
param "archive_zip" {
default = "protoc-{{param `protobuf_version`}}-{{platform.OS}}-{{param `cpu`}}.zip"
}
# run make check?
param "make_check" {
default = true
}
# run make install?
param "make_install" {
default = true
}
file.directory "proto-install" {
destination = "{{param `install_dir`}}"
}
task "configure" {
check = "[[ -f Makefile ]]"
apply = "./configure --prefix {{param `install_dir`}}"
dir = "{{param `build_dir`}}/protobuf-{{param `protobuf_version`}}"
interpreter = "/bin/bash"
depends = ["file.directory.proto-install"]
}
task.query "make" {
query = "make | tee make.out"
dir = "{{param `build_dir`}}"
interpreter = "/bin/bash"
depends = ["task.configure"]
}
switch "make-check" {
case "{{param `make_check`}}" "run-make-check" {
task.query "make-check" {
query = "make check | tee make-check.out"
dir = "{{param `build_dir`}}"
interpreter = "/bin/bash"
depends = ["task.query.make"]
}
}
}
switch "make-install" {
case "eq {{param `make_install`}} true" "run-make-install" {
task.query "make-install" {
query = "make install | tee make-install.out"
dir = "{{param `build_dir`}}"
interpreter = "/bin/bash"
depends = ["task.query.make"]
}
task "create-zip" {
check = "[[ -f {{param `archive_zip`}} ]]"
apply = "zip -r {{param `archive_zip`}} bin include lib"
dir = "{{param `install_dir`}}"
interpreter = "/bin/bash"
depends = ["task.query.make-install"]
}
}
}