-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
83 lines (67 loc) · 2.53 KB
/
Makefile
File metadata and controls
83 lines (67 loc) · 2.53 KB
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
clean:
rm -rf dist/
./gradlew clean
build: clean check_binaries
mkdir -p dist/
@echo "Copying binaries from .cache folder"
cp -r .cache/binaries dist/binaries
./gradlew agent:shadowJar
cp agent/build/libs/agent*-all.jar dist/agent.jar
./gradlew agent_api:shadowJar
cp agent_api/build/libs/agent*-all.jar dist/agent_api.jar
mock_init:
docker kill mock_core && docker rm mock_core
cd end2end/server && docker build -t mock_core .
docker run --name mock_core -d -p 5000:5000 mock_core
mock_restart:
docker restart mock_core
mock_stop:
docker kill mock_core && docker rm mock_core
test: check_binaries
AIKIDO_LOG_LEVEL="error" AIKIDO_TOKEN="token" ./gradlew test
cov: check_binaries
AIKIDO_LOG_LEVEL="error" AIKIDO_TOKEN="token" ./gradlew test --rerun-tasks -PcoverageRun jacocoTestReport
# Binaries :
BASE_URL = https://github.com/AikidoSec/zen-internals/releases/download/v0.1.60
FILES = \
libzen_internals_aarch64-apple-darwin.dylib \
libzen_internals_aarch64-apple-darwin.dylib.sha256sum \
libzen_internals_aarch64-unknown-linux-gnu.so \
libzen_internals_aarch64-unknown-linux-gnu.so.sha256sum \
libzen_internals_aarch64-unknown-linux-musl.so \
libzen_internals_aarch64-unknown-linux-musl.so.sha256sum \
libzen_internals_x86_64-apple-darwin.dylib \
libzen_internals_x86_64-apple-darwin.dylib.sha256sum \
libzen_internals_x86_64-pc-windows-gnu.dll \
libzen_internals_x86_64-pc-windows-gnu.dll.sha256sum \
libzen_internals_x86_64-unknown-linux-gnu.so \
libzen_internals_x86_64-unknown-linux-gnu.so.sha256sum \
libzen_internals_x86_64-unknown-linux-musl.so \
libzen_internals_x86_64-unknown-linux-musl.so.sha256sum \
binaries: binaries_make_dir $(addprefix .cache/binaries/, $(FILES))
binaries_make_dir:
rm -rf .cache/binaries
mkdir -p .cache/binaries/
.cache/binaries/%:
@echo "Downloading $*..."
curl -L -o $@ $(BASE_URL)/$*
.PHONY: check_binaries
check_binaries:
@if [ -d ".cache/binaries" ]; then \
echo "Cache directory exists."; \
else \
echo "Cache directory is empty. Running 'make binaries'..."; \
$(MAKE) binaries; \
fi
# Automatic versioning for releases :
VERSION_FILES = ./build.gradle ./agent_api/src/main/java/dev/aikido/agent_api/Config.java
replace_version:
@if [ -z "$(version)" ]; then \
echo "Error: No version specified. Use 'make replace-version version=<new_version>'."; \
exit 1; \
fi;
@for file in $(VERSION_FILES); do \
echo "Updating $$file with version $(version)"; \
sed -i.bak "s/1.0-REPLACE-VERSION/$$version/g" $$file; \
rm $$file.bak; \
done;