Skip to content

Latest commit

 

History

History
89 lines (63 loc) · 2.38 KB

File metadata and controls

89 lines (63 loc) · 2.38 KB

Contributing

Development

Using the Dev Container (recommended)

Open this project in VS Code with the Dev Containers extension. The container includes JDK, sbt, and Azure CLI pre-configured.

Manual Setup

Requirements:

  • JDK 8 or higher
  • sbt

Testing

Run unit tests:

sbt test

Run 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

Coding Conventions

  • Follow Scala 2.12 conventions
  • Keep dependencies minimal
  • Log levels: avoid verbose logging at info or above—reserve info for things users truly need to know. Use debug for implementation details useful to plugin developers. Use warn when credential retrieval fails.

Updating Documentation

Commit Messages

This project follows Conventional Commits. Format:

<type>: <description>

[optional body]

[optional footer]

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation only
  • refactor: Code change that neither fixes a bug nor adds a feature
  • chore: 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

Releasing

Prerequisites

  • GPG key for signing artifacts
  • Sonatype credentials (set SONATYPE_USERNAME and SONATYPE_PASSWORD environment variables)

Release Steps

  1. 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.

  2. Go to Sonatype Central Portal, verify the deployment, and click "Publish".

  3. Finish the release (bumps to next snapshot and pushes):

    ./release.sh --finish 0.0.6