Open this project in VS Code with the Dev Containers extension. The container includes JDK, sbt, and Azure CLI pre-configured.
Requirements:
- JDK 8 or higher
- sbt
Run unit tests:
sbt testRun integration tests (requires Azure login and a real Azure DevOps feed):
az login
export AZURE_DEVOPS_TEST_URL=https://pkgs.dev.azure.com/myorg/myproject/_packaging/feed/maven/v1
sbt test- Follow Scala 2.12 conventions
- Keep dependencies minimal
- Log levels: avoid verbose logging at
infoor above—reserveinfofor things users truly need to know. Usedebugfor implementation details useful to plugin developers. Usewarnwhen credential retrieval fails.
- Update CONTRIBUTING.md when codifying knowledge useful to both humans and AI (coding conventions, project decisions, etc.)
- Update .github/copilot-instructions.md for AI-specific guidance only
This project follows Conventional Commits. Format:
<type>: <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation onlyrefactor: Code change that neither fixes a bug nor adds a featurechore: Maintenance tasks (build, CI, dependencies)test: Adding or updating tests
Examples:
feat: add support for Azure DevOps Server
fix: handle missing realm in HTTP response
docs: add troubleshooting section to README
refactor: change info logs to debug level
- GPG key for signing artifacts
- Sonatype credentials (set
SONATYPE_USERNAMEandSONATYPE_PASSWORDenvironment variables)
-
Run the release script:
./release.sh 0.0.6
This updates version files, commits, tags, and creates a signed bundle. If Sonatype credentials are set, it also uploads the bundle automatically.
-
Go to Sonatype Central Portal, verify the deployment, and click "Publish".
-
Finish the release (bumps to next snapshot and pushes):
./release.sh --finish 0.0.6