version: '3' tasks: dev: desc: "Start backend dev server" ignore_error: true cmds: - cmd: cmd /c gradlew.bat :stirling-pdf:bootRun platforms: [windows] - cmd: ./gradlew :stirling-pdf:bootRun platforms: [linux, darwin] build: desc: "Full backend build" cmds: - cmd: cmd /c gradlew.bat clean build platforms: [windows] - cmd: ./gradlew clean build platforms: [linux, darwin] build:fast: desc: "Build without tests" cmds: - cmd: cmd /c gradlew.bat clean build -x test platforms: [windows] - cmd: ./gradlew clean build -x test platforms: [linux, darwin] build:ci: desc: "Build for CI (formatting checked separately)" cmds: - cmd: cmd /c gradlew.bat build -PnoSpotless platforms: [windows] - cmd: ./gradlew build -PnoSpotless platforms: [linux, darwin] test: desc: "Run backend tests" cmds: - cmd: cmd /c gradlew.bat test platforms: [windows] - cmd: ./gradlew test platforms: [linux, darwin] format: desc: "Auto-fix code formatting" cmds: - cmd: cmd /c gradlew.bat spotlessApply platforms: [windows] - cmd: ./gradlew spotlessApply platforms: [linux, darwin] format:check: desc: "Check code formatting" cmds: - cmd: cmd /c gradlew.bat spotlessCheck platforms: [windows] - cmd: ./gradlew spotlessCheck platforms: [linux, darwin] fix: desc: "Auto-fix backend" cmds: - task: format swagger: desc: "Generate OpenAPI docs" cmds: - cmd: cmd /c gradlew.bat :stirling-pdf:copySwaggerDoc platforms: [windows] - cmd: ./gradlew :stirling-pdf:copySwaggerDoc platforms: [linux, darwin] sources: - app/core/src/main/java/**/*.java - app/proprietary/src/main/java/**/*.java - app/common/src/main/java/**/*.java generates: - SwaggerDoc.json check: desc: "Backend quality gate" cmds: - task: format:check - task: test version: desc: "Print project version" silent: true cmds: - cmd: cmd /c gradlew.bat printVersion --quiet | tail -1 platforms: [windows] - cmd: ./gradlew printVersion --quiet | tail -1 platforms: [linux, darwin] licenses:check: desc: "Check dependency licenses" cmds: - cmd: cmd /c gradlew.bat checkLicense --no-parallel platforms: [windows] - cmd: ./gradlew checkLicense --no-parallel platforms: [linux, darwin] licenses:generate: desc: "Check and generate dependency license report" cmds: - cmd: cmd /c gradlew.bat checkLicense generateLicenseReport --no-parallel platforms: [windows] - cmd: ./gradlew checkLicense generateLicenseReport --no-parallel platforms: [linux, darwin] clean: desc: "Clean build artifacts" cmds: - cmd: cmd /c gradlew.bat clean platforms: [windows] - cmd: ./gradlew clean platforms: [linux, darwin]