make: replace Makefile with make.vsh
This commit is contained in:
22
Makefile
22
Makefile
@ -1,22 +0,0 @@
|
||||
DOC_DIR = doc
|
||||
|
||||
SPDX_LICENSE_LIST_FILE = licenses.json
|
||||
SPDX_LICENSE_LIST_FILE_MIN = licenses.min.json
|
||||
SPDX_LICENSE_LIST_FILE_TMP = /tmp/licenses.json.new
|
||||
SPDX_LICENSE_LIST_JSON_URL = https://spdx.org/licenses/licenses.json
|
||||
|
||||
licenses:
|
||||
wget -q -O $(SPDX_LICENSE_LIST_FILE_TMP) $(SPDX_LICENSE_LIST_JSON_URL)
|
||||
if ! diff $(SPDX_LICENSE_LIST_FILE) $(SPDX_LICENSE_LIST_FILE_TMP) >/dev/null 2>&1; \
|
||||
then mv -v $(SPDX_LICENSE_LIST_FILE_TMP) $(SPDX_LICENSE_LIST_FILE); \
|
||||
fi
|
||||
jq -c . < $(SPDX_LICENSE_LIST_FILE) > $(SPDX_LICENSE_LIST_FILE_MIN)
|
||||
|
||||
doc:
|
||||
v doc -f html -m . -o $(DOC_DIR)
|
||||
|
||||
serve: clean doc
|
||||
v -e "import net.http.file; file.serve(folder: '$(DOC_DIR)')"
|
||||
|
||||
clean:
|
||||
rm -r $(DOC_DIR) || true
|
25
make.vsh
Executable file
25
make.vsh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env -S v run
|
||||
|
||||
import build
|
||||
import net.http
|
||||
|
||||
const source_url = 'https://spdx.org/licenses/licenses.json'
|
||||
|
||||
mut context := build.context(default: 'licenses.min.json')
|
||||
|
||||
context.artifact(
|
||||
name: 'licenses.json'
|
||||
help: 'SPDX licenses list in JSON format'
|
||||
should_run: |self| true
|
||||
run: |self| http.download_file(source_url, self.name)!
|
||||
)
|
||||
|
||||
context.artifact(
|
||||
name: 'licenses.min.json'
|
||||
help: 'The minified licenses.json ready for embedding (requires jq util)'
|
||||
depends: ['licenses.json']
|
||||
should_run: |self| true
|
||||
run: |self| system('jq -c . < licenses.json > ${self.name}')
|
||||
)
|
||||
|
||||
context.run()
|
Reference in New Issue
Block a user