nextcloud-app-radio/Makefile

94 lines
1.8 KiB
Makefile

# This file is licensed under the Affero General Public License version 3 or
# later. See the COPYING file.
all: dev-setup lint build-js-production test
# Dev env management
dev-setup: clean clean-dev composer-init npm-init
npm-init:
npm ci
npm-update:
npm update
composer-init:
composer install
composer-update:
composer update
# Building
build-js:
npm run dev
build-js-production:
npm run build
watch-js:
npm run watch
# Testing
test:
npm run test
test-watch:
npm run test:watch
test-coverage:
npm run test:coverage
# Linting
lint:
npm run lint
lint-fix:
npm run lint:fix
# Style linting
stylelint:
npm run stylelint
stylelint-fix:
npm run stylelint:fix
# Cleaning
clean:
rm -f js/*
clean-dev:
rm -rf node_modules
rm -rf vendor
release:
krankerl package
translations:
docker run --rm \
-v $(PWD):/app \
--entrypoint php \
nextcloudci/translations \
/translationtool.phar create-pot-files
docker run --rm \
-v $(PWD):/app \
--entrypoint php \
nextcloudci/translations \
/translationtool.phar convert-po-files
dev: dev-setup
docker stop radio || true
docker rm radio || true
docker build -t radio .
docker run -itd --rm --name radio -v $(PWD):/var/www/html/apps/radio -p 80:80 radio
npm run watch
publish-appstore-nightly:
$(eval ASSET_URL = $(shell curl -s https://git.project-insanity.org/api/v4/projects/onny%2Fnextcloud-app-radio/releases | jq -r '.[0].assets.links[0].url'))
wget $(ASSET_URL) -O build/artifacts/radio.tar.gz
krankerl publish --nightly $(ASSET_URL)
publish-appstore:
$(eval ASSET_URL = $(shell curl -s https://git.project-insanity.org/api/v4/projects/onny%2Fnextcloud-app-radio/releases | jq -r '.[0].assets.links[0].url'))
wget $(ASSET_URL) -O build/artifacts/radio.tar.gz
krankerl publish $(ASSET_URL)