Files
DataControl/Makefile
Johnny 485d21344e DataControl v0.1.0 : contrôle du forfait data mobile via pare-feu VPN local
Surveillance de la consommation de données mobiles avec coupure automatique
en cas de dépassement de forfait, sans root ni impact sur le Wi-Fi.

- Pare-feu local (VpnService) actif uniquement sur données mobiles
- Liste blanche d'applications toujours autorisées
- Coupure cyclique totale après dépassement (intervalle paramétrable)
- Réglages complets (forfait, prix, date de début, reset auto/manuel)
- Estimation du coût total en temps réel
- Notification permanente colorée par état
- UI Compose Material 3

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 18:37:45 +02:00

83 lines
2.8 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## DataControl Android Build & Release Makefile
## Author: JT-Tools by Johnny
VERSION_NAME := $(shell grep 'versionName' version.properties | cut -d= -f2 | tr -d ' ')
VERSION_CODE := $(shell grep 'versionCode' version.properties | cut -d= -f2 | tr -d ' ')
GRADLEW := ./gradlew
APK_RELEASE := app/build/outputs/apk/release/app-release.apk
APK_DEBUG := app/build/outputs/apk/debug/app-debug.apk
OUTPUT_APK := DataControl-$(VERSION_NAME).apk
.DEFAULT_GOAL := help
.PHONY: help build release install push version-bump changelog clean
## help: Show this help message
help:
@echo "DataControl v$(VERSION_NAME) (build $(VERSION_CODE))"
@echo ""
@echo "Available targets:"
@grep -E '^## [a-z]' Makefile | sed 's/## / make /' | column -t -s ':'
## build: Build debug APK
build:
@echo "[BUILD] Building debug APK..."
$(GRADLEW) assembleDebug
@echo "[BUILD] Done: $(APK_DEBUG)"
## release: Build release APK and copy to project root
release:
@echo "[RELEASE] Building release APK for v$(VERSION_NAME) ($(VERSION_CODE))..."
$(GRADLEW) assembleRelease
@cp $(APK_RELEASE) $(OUTPUT_APK)
@echo "[RELEASE] Done: $(OUTPUT_APK)"
## install: Install debug APK on connected device
install:
@echo "[INSTALL] Installing debug APK..."
$(GRADLEW) installDebug
@echo "[INSTALL] Done."
## push: Git add, commit, tag and push (uses current version)
push:
@echo "[PUSH] Committing and pushing v$(VERSION_NAME)..."
git add -A
git commit -m "Release v$(VERSION_NAME) (build $(VERSION_CODE))"
git tag -a "v$(VERSION_NAME)" -m "Release v$(VERSION_NAME)"
git push origin main
git push origin "v$(VERSION_NAME)"
@echo "[PUSH] Done."
## version-bump: Increment versionCode and update versionName patch
version-bump:
@NEW_CODE=$$(( $(VERSION_CODE) + 1 )); \
PATCH=$$(echo $(VERSION_NAME) | cut -d. -f3); \
MAJOR=$$(echo $(VERSION_NAME) | cut -d. -f1); \
MINOR=$$(echo $(VERSION_NAME) | cut -d. -f2); \
NEW_PATCH=$$(( PATCH + 1 )); \
NEW_VERSION="$${MAJOR}.$${MINOR}.$${NEW_PATCH}"; \
sed -i "s/versionName=.*/versionName=$${NEW_VERSION}/" version.properties; \
sed -i "s/versionCode=.*/versionCode=$${NEW_CODE}/" version.properties; \
echo "[VERSION-BUMP] Bumped to $${NEW_VERSION} (build $${NEW_CODE})"
## changelog: Generate a changelog entry from git log since last tag
changelog:
@echo "[CHANGELOG] Generating entries since last tag..."
@LAST_TAG=$$(git describe --tags --abbrev=0 2>/dev/null || echo ""); \
if [ -z "$$LAST_TAG" ]; then \
git log --oneline --pretty=format:"- %s" >> CHANGELOG.md; \
else \
echo "" >> CHANGELOG.md; \
echo "## v$(VERSION_NAME) $$(date +%Y-%m-%d)" >> CHANGELOG.md; \
git log $$LAST_TAG..HEAD --oneline --pretty=format:"- %s" >> CHANGELOG.md; \
fi; \
echo "[CHANGELOG] Done."
## clean: Clean build artifacts
clean:
@echo "[CLEAN] Cleaning build artifacts..."
$(GRADLEW) clean
@rm -f DataControl-*.apk
@echo "[CLEAN] Done."