Skip to content

Commit dde7b8b

Browse files
committed
Refactor based on the new dev utils
1 parent 15794f1 commit dde7b8b

File tree

4 files changed

+29
-97
lines changed

4 files changed

+29
-97
lines changed

.github/workflows/unit-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ jobs:
6363
6464
# TODO: Change the task to run all unittests once any unittest is added. Until then we check
6565
# that building the project succeeds.
66-
- run: "task build:target"
66+
- run: "task build:unittest"

taskfiles/build.yaml

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,31 @@
11
version: "3"
22

33
vars:
4-
G_BUILD_CONF_ARGS_DEPS_INSTALL_PREFIXES: >-
5-
-DCatch2_ROOT={{.G_DEPS_DIR}}/Catch2-install
6-
G_BUILD_CONF_ARGS: >-
7-
{{.G_BUILD_CONF_ARGS_DEPS_INSTALL_PREFIXES}}
4+
G_CMAKE_CONF_ARGS:
5+
- "-DCatch2_ROOT={{.G_DEPS_DIR}}/Catch2-install"
86

97
tasks:
10-
target:
11-
desc: "Builds ystdlib-cpp."
8+
unittest:
9+
desc: "Builds and runs ystdlib-cpp's unittest."
1210
deps:
1311
- ":deps:install-all"
1412
cmds:
15-
- task: ":utils:cmake-config-and-build"
13+
- task: ":utils:cmake-generate"
1614
vars:
1715
BUILD_DIR: "{{.G_BUILD_DIR}}"
18-
CONF_ARGS: "{{.G_BUILD_CONF_ARGS}}"
19-
JOBS: "{{numCPU}}"
16+
EXTRA_ARGS:
17+
ref: ".G_CMAKE_CONF_ARGS"
2018
SOURCE_DIR: "{{.ROOT_DIR}}"
21-
# TODO: move this into a separate task
22-
- "{{.G_BUILD_DIR}}/unitTest"
19+
- task: ":utils:cmake-build"
20+
vars:
21+
BUILD_DIR: "{{.G_BUILD_DIR}}"
22+
JOBS: "{{numCPU}}"
23+
TARGETS:
24+
- "unitTest"
2325

24-
# TODO: move this into yscope-dev-utils
2526
clean:
2627
desc: "Removes all built artifacts."
2728
deps:
28-
- task: ":build:cmake-config"
29+
- task: ":utils:cmake-clean"
2930
vars:
3031
BUILD_DIR: "{{.G_BUILD_DIR}}"
31-
CONF_ARGS: "{{.G_BUILD_CONF_ARGS}}"
32-
SOURCE_DIR: "{{.ROOT_DIR}}"
33-
cmds:
34-
- >-
35-
cmake
36-
--build "{{.G_BUILD_DIR}}"
37-
--parallel {{numCPU}}
38-
--target clean
39-
40-
# TODO: move this into yscope-dev-utils
41-
cmake-config:
42-
internal: true
43-
label: "{{.TASK}}-{{.SOURCE_DIR}}-{{.BUILD_DIR}}-{{.CONF_ARGS}}"
44-
vars:
45-
CONF_ARGS: >-
46-
{{default "" .CONF_ARGS}}
47-
requires:
48-
vars:
49-
- "BUILD_DIR"
50-
- "SOURCE_DIR"
51-
sources:
52-
- "{{.SOURCE_DIR}}/CMakeLists.txt"
53-
generates:
54-
- "{{.BUILD_DIR}}/CMakeCache.txt"
55-
- "{{.BUILD_DIR}}/compile_commands.json"
56-
deps:
57-
- ":deps:install-all"
58-
cmds:
59-
- >-
60-
cmake
61-
-S "{{.SOURCE_DIR}}"
62-
-B "{{.BUILD_DIR}}"
63-
{{.CONF_ARGS}}

taskfiles/deps.yaml

Lines changed: 11 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,23 @@
11
version: "3"
22

3-
vars:
4-
G_DEPS_DIR: "{{.G_BUILD_DIR}}/deps"
5-
G_DEPS_RELEASES_JSON: >-
6-
{
7-
"Catch2": "v3.8.0"
8-
}
9-
G_DEPS_RELEASES:
10-
ref: "fromJson .G_DEPS_RELEASES_JSON"
11-
123
tasks:
134
install-all:
145
desc: "Install all dependencies required by ystdlib-cpp."
156
deps:
16-
- task: "install-dep"
17-
vars:
18-
NAME: "Catch2"
19-
ORG: "catchorg"
20-
RELEASE: "{{.G_DEPS_RELEASES.Catch2}}"
21-
SOURCE_SHA256: "1ab2de20460d4641553addfdfe6acd4109d871d5531f8f519a52ea4926303087"
7+
- "install-Catch2"
228

23-
install-dep:
9+
install-Catch2:
2410
internal: true
25-
label: "install-{{.NAME}}-{{.RELEASE}}-{{.CONF_ARGS}}"
26-
vars:
27-
BUILD_DIR: >-
28-
{{default (printf "%s/%s-build" .G_DEPS_DIR .NAME) .BUILD_DIR}}
29-
CONF_ARGS: >-
30-
{{default "" .CONF_ARGS}}
31-
INSTALL_PREFIX: >-
32-
{{default (printf "%s/%s-install" .G_DEPS_DIR .NAME) .INSTALL_PREFIX}}
33-
SOURCE_DIR: >-
34-
{{default (printf "%s/%s-src" .G_DEPS_DIR .NAME) .SOURCE_DIR}}
35-
requires:
36-
vars:
37-
- "NAME"
38-
- "ORG"
39-
- "RELEASE"
40-
- "SOURCE_SHA256"
4111
sources:
42-
- "{{.G_DEPS_DIR}}/{{.NAME}}-src.md5"
12+
- "{{.G_DEPS_DIR}}/Catch2-install/*"
13+
- "{{.G_DEPS_DIR}}/Catch2-src.md5"
4314
generates:
44-
- "{{.G_DEPS_DIR}}/{{.NAME}}-src.md5"
15+
- "{{.G_DEPS_DIR}}/Catch2-src.md5"
4516
cmds:
46-
- task: ":utils:download-and-extract-tar"
17+
- task: ":utils:cmake-install-remote-tar"
4718
vars:
48-
FILE_SHA256: "{{.SOURCE_SHA256}}"
49-
OUTPUT_DIR: "{{.SOURCE_DIR}}"
50-
URL: >-
51-
{{printf "https://github.com/%s/%s/archive/refs/tags/%s.tar.gz" .ORG .NAME .RELEASE}}
52-
- task: ":utils:cmake-config-and-build"
53-
vars:
54-
BUILD_DIR: "{{.BUILD_DIR}}"
55-
CONF_ARGS: "{{.CONF_ARGS}}"
56-
SOURCE_DIR: "{{.SOURCE_DIR}}"
57-
- task: ":utils:cmake-install"
58-
vars:
59-
BUILD_DIR: "{{.BUILD_DIR}}"
60-
INSTALL_PREFIX: "{{.INSTALL_PREFIX}}"
19+
NAME: "Catch2"
20+
WORK_DIR: "{{.G_DEPS_DIR}}"
21+
FILE_SHA256: "1ab2de20460d4641553addfdfe6acd4109d871d5531f8f519a52ea4926303087"
22+
URL: "https://github.com/catchorg/Catch2/archive/refs/tags/v3.8.0.tar.gz"
23+
JOBS: "{{numCPU}}"

taskfiles/lint-cpp.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ tasks:
6565
- "{{.ROOT_DIR}}/.clang-tidy"
6666
- "{{.TASKFILE}}"
6767
deps:
68-
- task: ":build:cmake-config"
68+
- task: ":utils:cmake-generate"
6969
vars:
7070
BUILD_DIR: "{{.G_BUILD_DIR}}"
71-
CONF_ARGS: "{{.G_BUILD_CONF_ARGS}}"
71+
EXTRA_ARGS:
72+
ref: ".G_CMAKE_CONF_ARGS"
7273
SOURCE_DIR: "{{.ROOT_DIR}}"
7374
- "cpp-configs"
7475
- "venv"

0 commit comments

Comments
 (0)