---
project:
  versionPattern: SEMVER
  snapshot:
    pattern: .*-SNAPSHOT
    label: early-access
    fullChangelog: true
  description: Spring Boot Starter
  longDescription: |
    Spring Boot Starter for w9r projects
  authors:
    - Oliver Weyhmüller
  tags:
    - java
  maintainers:
    - 'oliver'
  stereotype: NONE
  license: MIT
  inceptionYear: 2025
  links:
    homepage: https://w9r.dev/pom/spring-boot-starter
    documentation: https://w9r.dev/pom/spring-boot-starter/src/branch/main/README.md
    license: https://spdx.org/licenses/MIT.html
    vcsBrowser: https://w9r.dev/pom/spring-boot-starter
  languages:
    java:
      groupId: dev.w9r.pom
      artifactId: spring-boot-starter
      version: "21"
signing:
  active: ALWAYS
  armored: true
  verify: true
  mode: MEMORY
  files: true
  artifacts: true
  checksums: true

assemble:
  archive:
    pom:
      active: ALWAYS
      exported: true
      stereotype: NONE
      platform:
        replacements:
          osx-x86_64: mac
          aarch_64: aarch64
          x86_64: amd64
          linux_musl: alpine
      archiveName: '{{projectName}}-{{projectVersion}}'
      distributionType: JAVA_BINARY
      formats:
        - ZIP
        - TAR_GZ

      fileSets:
        - input: .          # A set of files and directory to include.
          includes:
            - 'LICENSE'
            - 'README.md'
            - 'CHANGELOG.md'
            - 'pom.xml'

catalog:
  sbom:
    syft:
      active: ALWAYS
      distributions: true
      files: true
      pack:
        enabled: false
        name: '{{projectName}}-{{projectVersion}}-sboms'
      formats:
        - SPDX_JSON
        - CYCLONEDX_JSON
        - SYFT_JSON
        - GITHUB_JSON
        - TABLE
        - TEXT
release:
  gitea:
    enabled: true
    connectTimeout: 20
    readTimeout: 60
    owner: pom
    name: spring-boot-starter
    host: w9r.dev
    username: releasebot
    apiEndpoint: https://w9r.dev
    tagName: "{{projectVersion}}"
    overwrite: true
    update:
      enabled: false
      sections:
        - ASSETS
    skipTag: false
    skipRelease: false
    sign: true
    branch: main
    uploadAssets: ALWAYS
    files: true
    artifacts: true
    checksums: true
    signatures: true
    catalogs: true
    draft: false
    prerelease:
      enabled: false
      pattern: .*-SNAPSHOT
    commitAuthor:
      name: ReleaseBot
      email: releasebot@w9r.dev
    milestone:
      close: true
      name: '{{tagName}}'
    issues:
      enabled: true
      comment: '🎉 This issue has been resolved in `{{tagName}}` ([Release Notes]({{releaseNotesUrl}}))'
      applyMilestone: ALWAYS
      label:
        name: released
        color: '#FF0000'
        description: Issue has been released
    issueTrackerUrl: https://w9r.dev/pom/spring-boot-starter/issues
    changelog:
      enabled: true
      sort: DESC
      links: true
      skipMergeCommits: false
      formatted: ALWAYS
      preset: 'conventional-commits'
      categoryTitleFormat: '### {{categoryTitle}}'
      contributorsTitleFormat: '### Contributors'
      content: |
        {{changelogChanges}}
        {{changelogContributors}}
      append:
        enabled: true
        title: '## [{{tagName}}]'
        target: 'CHANGELOG.md'
        content: |
          {{changelogTitle}}
          {{changelogChanges}}
      contributors:
        enabled: false

        format: '- {{contributorName}} ({{contributorUsernameAsLink}})'
      hide:
        uncategorized: false
        contributors:
          - 'ReleaseBot'
          - 'RenovateBot'
      labelers:
        - label: 'issue'
          title: 'regex:fix:'
          body: 'Fixes: '
          order: 1
      replacers:
        - search: '\[chore\]\s'
          replace: ''
        - search: '/CVE-(\d{4})-(\d+)/g'
          replace: 'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2'

distributions:
  pom:
    artifacts:
      - path: pom.xml
deploy:
  maven:
    artifactory:
      pom:
        active: ALWAYS
        url: https://nexus.w9r.dev/repository/maven-releases
        snapshotSupported: true
        authorization: Basic
        sign: false
        checksums: true
        sourceJar: false
        javadocJar: false
        verifyPom: true
        applyMavenCentralRules: false
        stagingRepositories:
          - target/staging-deploy