]> git.r.bdr.sh - rbdr/lyricli/blobdiff - Makefile
Create build folder before documenting
[rbdr/lyricli] / Makefile
index 34eec3ac500784510e6f0cf64c0d4c0b2b801ea2..d2449967d4ae1d0b1e2766e30a58350ec6af638f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,13 +7,17 @@ target_binary_name = lrc
 install_path = /usr/local/bin
 source_binary_path = $(build_path)/$(configuration)/$(source_binary_name)
 install_binary_path = $(install_path)/$(target_binary_name)
+swift_version = 5.0.1
 
 # Default to release configuration on install
 install: configuration = release
 
 default: build
 
-build:
+prebuild:
+       mkdir -p $(build_path)
+
+build: prebuild
        swift build --build-path $(build_path) --configuration $(configuration)
 
 install: build
@@ -22,7 +26,28 @@ install: build
 test: build
        swift test
 
+lint:
+       cd Sources && swiftlint
+
+document: prebuild
+       sourcekitten doc --spm-module $(source_binary_name) > $(build_path)/$(source_binary_name).json
+       jazzy \
+               -s $(build_path)/$(source_binary_name).json \
+               --readme README.md \
+               --clean \
+               --author Lyricli \
+               --author_url https://gitlab.com/lyricli \
+               --github_url https://gitlab.com/lyricli/lyricli \
+               --module-version 1.0.0 \
+               --module Lyricli \
+
 clean:
-       swift build --clean
+       swift package clean
+
+docker-build:
+       docker build --force-rm --build-arg swift_version=$(swift_version) -t lyriclitest/swift:$(swift_version) .
+
+docker-push: docker-build
+       docker push lyriclitest/swift:$(swift_version)
 
-.PHONY: build test clean
+.PHONY: build install test clean lint docker-build docker-push