chore: initial Commit
This commit is contained in:
commit
101ca81417
8 changed files with 1269 additions and 0 deletions
234
.forgejo/workflows/release.yaml
Normal file
234
.forgejo/workflows/release.yaml
Normal file
|
@ -0,0 +1,234 @@
|
|||
---
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !startsWith(github.event.head_commit.message, 'Release') }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Environment
|
||||
run: |
|
||||
apt update
|
||||
apt install -y zip
|
||||
mkdir -p /root/.jreleaser
|
||||
mkdir -p /root/.m2
|
||||
touch /root/.jreleaser/config.properties
|
||||
|
||||
- name: maven-settings-xml-action
|
||||
uses: https://github.com/whelk-io/maven-settings-xml-action@v22
|
||||
with:
|
||||
repositories: >
|
||||
[
|
||||
{
|
||||
"id": "maven-releases",
|
||||
"name": "Releases",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-releases",
|
||||
"releases": {
|
||||
"enabled": "true",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
},
|
||||
"snapshots": {
|
||||
"enabled": "false",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "fail"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "maven-snapshots",
|
||||
"name": "Snapshots",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-snapshots",
|
||||
"releases": {
|
||||
"enabled": "false",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
},
|
||||
"snapshots": {
|
||||
"enabled": "true",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
}
|
||||
}
|
||||
]
|
||||
servers: >
|
||||
[
|
||||
{
|
||||
"id": "maven-group",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "maven-snapshots",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "maven-releases",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "vulnz",
|
||||
"username": "${{ secrets.VULNZ_USERNAME }}",
|
||||
"password": "${{ secrets.VULNZ_PASSWORD }}"
|
||||
}
|
||||
]
|
||||
mirrors: >
|
||||
[
|
||||
{
|
||||
"id": "maven-group",
|
||||
"name": "central",
|
||||
"mirrorOf": "*",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-group/"
|
||||
}
|
||||
]
|
||||
plugin_groups: >
|
||||
[
|
||||
"org.sonarsource.scanner.maven"
|
||||
]
|
||||
output_file: /root/.m2/settings.xml
|
||||
|
||||
- name: Determine next version
|
||||
uses: https://github.com/obfu5c8/action-svu@v1
|
||||
id: generate_next_version
|
||||
with:
|
||||
type: auto
|
||||
force-increment: true
|
||||
no-metadata: false
|
||||
no-pre-release: false
|
||||
no-build: false
|
||||
strip-prefix: true
|
||||
prefix: ''
|
||||
suffix: ''
|
||||
|
||||
- name: Install syft
|
||||
uses: https://github.com/anchore/sbom-action/download-syft@v0
|
||||
id: install_syft
|
||||
with:
|
||||
syft-version: v1.18.1
|
||||
|
||||
- name: Set new version
|
||||
run: |
|
||||
NEW_VERSION=${{steps.generate_next_version.outputs.version}}
|
||||
echo NEW_VERSION=$NEW_VERSION >> "$GITHUB_ENV"
|
||||
echo "New version: $NEW_VERSION"
|
||||
|
||||
- name: Cache Java and Maven software
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: ~/.sdkman
|
||||
key: ${{ runner.os }}-sdkman
|
||||
restore-keys: |
|
||||
${{ runner.os }}-sdkman
|
||||
env:
|
||||
ACTIONS_STEP_DEBUG: true
|
||||
|
||||
- name: Cache local Maven repository
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven
|
||||
env:
|
||||
ACTIONS_STEP_DEBUG: true
|
||||
|
||||
- name: Install Java & Maven
|
||||
uses: https://github.com/sdkman/sdkman-action@main
|
||||
id: sdkman
|
||||
|
||||
- name: Set Version
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
MAVEN_CENTRAL_TOKEN: ${{ secrets.NEXUS_PASSWORD }}
|
||||
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||
run: |
|
||||
export GPG_TTY=$(tty)
|
||||
git config user.name "${{ github.event.head_commit.committer.name }}"
|
||||
git config user.email "${{ github.event.head_commit.committer.email }}"
|
||||
mvn -B --file pom.xml versions:set -DnewVersion=${{ env.NEW_VERSION }}
|
||||
|
||||
- name: Run JReleaser (Changelog)
|
||||
uses: https://w9r.dev/actions/release-action@main
|
||||
with:
|
||||
arguments: changelog --debug
|
||||
setup-java: false
|
||||
continue-on-error: true
|
||||
env:
|
||||
JRELEASER_OUTPUT_DIRECTORY: target
|
||||
JRELEASER_PROJECT_VERSION: ${{ env.NEW_VERSION }}
|
||||
JRELEASER_GITEA_TOKEN: ${{ secrets.JRELEASER_GITEA_TOKEN }}
|
||||
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
|
||||
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
|
||||
- name: Commit and push changes
|
||||
run: |
|
||||
git config user.name "${{ github.event.head_commit.committer.name }}"
|
||||
git config user.email "${{ github.event.head_commit.committer.email }}"
|
||||
git add pom.xml CHANGELOG.md
|
||||
git commit -a -m "Release ${{ env.NEW_VERSION }}"
|
||||
git push
|
||||
- name: Build package and populate staging area for deployment
|
||||
run: |
|
||||
mvn -B --file pom.xml package
|
||||
mvn --file pom.xml -Ppublication
|
||||
|
||||
|
||||
- name: Run JReleaser (Assemble)
|
||||
uses: https://w9r.dev/actions/release-action@main
|
||||
with:
|
||||
arguments: assemble --debug
|
||||
setup-java: false
|
||||
continue-on-error: true
|
||||
env:
|
||||
JRELEASER_OUTPUT_DIRECTORY: target
|
||||
JRELEASER_PROJECT_VERSION: ${{ env.NEW_VERSION }}
|
||||
JRELEASER_GITEA_TOKEN: ${{ secrets.JRELEASER_GITEA_TOKEN }}
|
||||
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
|
||||
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
|
||||
- name: Run JReleaser (Release)
|
||||
uses: https://w9r.dev/actions/release-action@main
|
||||
with:
|
||||
arguments: release --debug
|
||||
setup-java: false
|
||||
env:
|
||||
JRELEASER_OUTPUT_DIRECTORY: target
|
||||
JRELEASER_PROJECT_VERSION: ${{ env.NEW_VERSION }}
|
||||
JRELEASER_GITEA_TOKEN: ${{ secrets.JRELEASER_GITEA_TOKEN }}
|
||||
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
|
||||
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
JRELEASER_ARTIFACTORY_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
JRELEASER_ARTIFACTORY_TOKEN: ${{ secrets.NEXUS_PASSWORD }}
|
||||
|
||||
|
||||
# Persist logs
|
||||
|
||||
- name: JReleaser release trace
|
||||
if: always()
|
||||
uses: https://gitea.com/actions/upload-artifact@v3
|
||||
with:
|
||||
name: jreleaser-trace
|
||||
path: target/jreleaser/trace.log
|
||||
|
||||
- name: JReleaser release properties
|
||||
if: always()
|
||||
uses: https://gitea.com/actions/upload-artifact@v3
|
||||
with:
|
||||
name: jreleaser-properties
|
||||
path: target/jreleaser/output.properties
|
142
.forgejo/workflows/sonarqube.yaml
Normal file
142
.forgejo/workflows/sonarqube.yaml
Normal file
|
@ -0,0 +1,142 @@
|
|||
---
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
name: SonarQube Scan
|
||||
jobs:
|
||||
sonarqube:
|
||||
name: SonarQube Trigger
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checking out
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set up Environment
|
||||
run: |
|
||||
apt update
|
||||
apt install -y zip
|
||||
mkdir -p /root/.jreleaser
|
||||
mkdir -p /root/.m2
|
||||
touch /root/.jreleaser/config.properties
|
||||
|
||||
- name: Install syft
|
||||
uses: https://github.com/anchore/sbom-action/download-syft@v0
|
||||
id: install_syft
|
||||
with:
|
||||
syft-version: v1.18.1
|
||||
|
||||
- name: maven-settings-xml-action
|
||||
uses: https://github.com/whelk-io/maven-settings-xml-action@v22
|
||||
with:
|
||||
repositories: >
|
||||
[
|
||||
{
|
||||
"id": "maven-releases",
|
||||
"name": "Releases",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-releases",
|
||||
"releases": {
|
||||
"enabled": "true",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
},
|
||||
"snapshots": {
|
||||
"enabled": "false",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "fail"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "maven-snapshots",
|
||||
"name": "Snapshots",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-snapshots",
|
||||
"releases": {
|
||||
"enabled": "false",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
},
|
||||
"snapshots": {
|
||||
"enabled": "true",
|
||||
"updatePolicy": "always",
|
||||
"checksumPolicy": "warn"
|
||||
}
|
||||
}
|
||||
]
|
||||
servers: >
|
||||
[
|
||||
{
|
||||
"id": "maven-group",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "maven-snapshots",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "maven-releases",
|
||||
"username": "${{ secrets.NEXUS_USERNAME }}",
|
||||
"password": "${{ secrets.NEXUS_PASSWORD }}"
|
||||
},
|
||||
{
|
||||
"id": "vulnz",
|
||||
"username": "${{ secrets.VULNZ_USERNAME }}",
|
||||
"password": "${{ secrets.VULNZ_PASSWORD }}"
|
||||
}
|
||||
]
|
||||
mirrors: >
|
||||
[
|
||||
{
|
||||
"id": "maven-group",
|
||||
"name": "central",
|
||||
"mirrorOf": "*",
|
||||
"url": "https://nexus.w9r.dev/repository/maven-group/"
|
||||
}
|
||||
]
|
||||
plugin_groups: >
|
||||
[
|
||||
"org.sonarsource.scanner.maven"
|
||||
]
|
||||
output_file: /root/.m2/settings.xml
|
||||
|
||||
- name: Cache Java and Maven software
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: ~/.sdkman
|
||||
key: ${{ runner.os }}-sdkman
|
||||
restore-keys: |
|
||||
${{ runner.os }}-sdkman
|
||||
env:
|
||||
ACTIONS_STEP_DEBUG: true
|
||||
|
||||
- name: Cache SonarQube packages
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: ~/.sonar/cache
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
|
||||
- name: Cache local Maven repository
|
||||
uses: https://github.com/actions/cache@v4
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven
|
||||
env:
|
||||
ACTIONS_STEP_DEBUG: true
|
||||
|
||||
- name: Install Java & Maven
|
||||
uses: https://github.com/sdkman/sdkman-action@main
|
||||
id: sdkman
|
||||
|
||||
- name: SonarQube Scan
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
|
||||
SONAR_HOST_URL: ${{ vars.SONARQUBE_HOST }}
|
||||
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
|
19
.gitignore
vendored
Normal file
19
.gitignore
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
### Maven template
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
pom.xml.next
|
||||
release.properties
|
||||
dependency-reduced-pom.xml
|
||||
buildNumber.properties
|
||||
.mvn/timing.properties
|
||||
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
|
||||
.mvn/wrapper/maven-wrapper.jar
|
||||
|
||||
# Eclipse m2e generated files
|
||||
# Eclipse Core
|
||||
.project
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
.classpath
|
||||
|
2
.sdkmanrc
Normal file
2
.sdkmanrc
Normal file
|
@ -0,0 +1,2 @@
|
|||
java=21.0.5-tem
|
||||
maven=3.9.9
|
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) [year] [fullname]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
8
README.md
Normal file
8
README.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Spring Boot Starter
|
||||
|
||||
This project defines a common baseline for multiple Spring Boot projects in order to keep them up-to-date. This Project
|
||||
handles:
|
||||
|
||||
- Plugins used in the build process
|
||||
- Basic Spring Boot Web dependencies
|
||||
- Common dependencies for observability
|
184
jreleaser.yml
Normal file
184
jreleaser.yml
Normal file
|
@ -0,0 +1,184 @@
|
|||
---
|
||||
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: dependencies
|
||||
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
|
659
pom.xml
Normal file
659
pom.xml
Normal file
|
@ -0,0 +1,659 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>dev.w9r.pom</groupId>
|
||||
<artifactId>spring-boot-starter</artifactId>
|
||||
<version>0.0.1</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>spring-boot-starter</name>
|
||||
<description>A POM consisting of general dependencies and build settings</description>
|
||||
<url>https://w9r.dev/pom/spring-boot-starter</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>MIT</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>oliver</id>
|
||||
<name>Oliver Weyhmüller</name>
|
||||
<email>oliver@weyhmueller.de</email>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<scm>
|
||||
<url>https://w9r.dev/pom/spring-boot-starter</url>
|
||||
<connection>scm:git:https://w9r.dev/pom/spring-boot-starter</connection>
|
||||
<developerConnection>scm:git:https://w9r.dev/pom/spring-boot-starter</developerConnection>
|
||||
<tag>HEAD</tag>
|
||||
</scm>
|
||||
|
||||
<properties>
|
||||
<java.version>21</java.version>
|
||||
<kotlin.version>1.9.25</kotlin.version>
|
||||
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<resource.delimiter>@</resource.delimiter>
|
||||
<maven.compiler.release>${java.version}</maven.compiler.release>
|
||||
|
||||
<spring-boot.version>3.4.1</spring-boot.version>
|
||||
<spring-cloud.version>2024.0.0</spring-cloud.version>
|
||||
|
||||
<plugin.maven-compiler.version>3.13.0</plugin.maven-compiler.version>
|
||||
<plugin.maven-deploy.version>3.1.2</plugin.maven-deploy.version>
|
||||
<cyclonedx-maven-plugin.version>2.9.1</cyclonedx-maven-plugin.version>
|
||||
<plugin.sonar.version>5.0.0.4389</plugin.sonar.version>
|
||||
<plugin.jacoco.version>0.8.12</plugin.jacoco.version>
|
||||
<checkstyle.version>10.17.0</checkstyle.version>
|
||||
<plugin.checkstyle.version>3.6.0</plugin.checkstyle.version>
|
||||
<plugin.dependency-check.version>11.1.1</plugin.dependency-check.version>
|
||||
<plugin.spotbugs.version>4.8.6.6</plugin.spotbugs.version>
|
||||
<spotbugs.version>4.8.6</spotbugs.version>
|
||||
<findsecbugs.version>1.13.0</findsecbugs.version>
|
||||
</properties>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>maven-releases</id>
|
||||
<url>https://nexus.w9r.dev/repository/maven-releases</url>
|
||||
<name>Releases</name>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<checksumPolicy>warn</checksumPolicy>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>maven-snapshots</id>
|
||||
<url>https://nexus.w9r.dev/repository/maven-snapshots</url>
|
||||
<name>Snapshots</name>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<checksumPolicy>warn</checksumPolicy>
|
||||
</snapshots>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>dev.w9r.pom</groupId>
|
||||
<artifactId>dependencies</artifactId>
|
||||
<version>0.1.0</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>${spring-cloud.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>dev.w9r.pom</groupId>
|
||||
<artifactId>dependencies</artifactId>
|
||||
<version>0.1.0</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-cache</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.micrometer</groupId>
|
||||
<artifactId>micrometer-tracing-bridge-otel</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.zipkin.reporter2</groupId>
|
||||
<artifactId>zipkin-reporter-brave</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.micrometer</groupId>
|
||||
<artifactId>micrometer-registry-prometheus</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.loki4j</groupId>
|
||||
<artifactId>loki-logback-appender</artifactId>
|
||||
<version>1.4.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${basedir}/src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>**/application*.yml</include>
|
||||
<include>**/application*.yaml</include>
|
||||
<include>**/application*.properties</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${basedir}/src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>**/application*.yml</exclude>
|
||||
<exclude>**/application*.yaml</exclude>
|
||||
<exclude>**/application*.properties</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<version>${plugin.maven-deploy.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-maven-plugin</artifactId>
|
||||
<version>${kotlin.version}</version>
|
||||
<configuration>
|
||||
<jvmTarget>${java.version}</jvmTarget>
|
||||
<javaParameters>true</javaParameters>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>compile</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>test-compile</id>
|
||||
<phase>test-compile</phase>
|
||||
<goals>
|
||||
<goal>test-compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.11.0</version>
|
||||
<configuration>
|
||||
<parameters>true</parameters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>3.0.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
<mainClass>${start-class}</mainClass>
|
||||
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.3.2</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
<mainClass>${start-class}</mainClass>
|
||||
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.3.1</version>
|
||||
<configuration>
|
||||
<propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
|
||||
<delimiters>
|
||||
<delimiter>${resource.delimiter}</delimiter>
|
||||
</delimiters>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.graalvm.buildtools</groupId>
|
||||
<artifactId>native-maven-plugin</artifactId>
|
||||
<version>0.9.22</version>
|
||||
<extensions>true</extensions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>io.github.git-commit-id</groupId>
|
||||
<artifactId>git-commit-id-maven-plugin</artifactId>
|
||||
<version>9.0.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>revision</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<verbose>true</verbose>
|
||||
<generateGitPropertiesFile>true</generateGitPropertiesFile>
|
||||
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.cyclonedx</groupId>
|
||||
<artifactId>cyclonedx-maven-plugin</artifactId>
|
||||
<version>${cyclonedx-maven-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>makeAggregateBom</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<projectType>application</projectType>
|
||||
<outputDirectory>${project.build.outputDirectory}/META-INF/sbom</outputDirectory>
|
||||
<outputFormat>json</outputFormat>
|
||||
<outputName>application.cdx</outputName>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>repackage</id>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<docker>
|
||||
<publishRegistry>
|
||||
<url>https://cr.w9r.dev/</url>
|
||||
<username>${docker.registry.username}</username>
|
||||
<password>${docker.registry.password}</password>
|
||||
</publishRegistry>
|
||||
</docker>
|
||||
<image>
|
||||
<!--<builder>dashaun/builder:tiny</builder>-->
|
||||
<name>cr.w9r.dev/spring-boot/${project.artifactId}:${project.version}</name>
|
||||
<publish>true</publish>
|
||||
</image>
|
||||
<mainClass>${spring-boot.run.main-class}</mainClass>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||
<version>${plugin.checkstyle.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.puppycrawl.tools</groupId>
|
||||
<artifactId>checkstyle</artifactId>
|
||||
<version>${checkstyle.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<logViolationsToConsole>true</logViolationsToConsole>
|
||||
<linkXRef>false</linkXRef>
|
||||
<failsOnError>false</failsOnError>
|
||||
<violationSeverity>warning</violationSeverity>
|
||||
<outputFile>${project.build.directory}/checkstyle-result.xml</outputFile>
|
||||
<configLocation>https://checkstyle.w9r.dev/checkstyle.xml</configLocation>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs-maven-plugin</artifactId>
|
||||
<version>${plugin.spotbugs.version}</version>
|
||||
<dependencies>
|
||||
<!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
|
||||
<dependency>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs</artifactId>
|
||||
<version>${spotbugs.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.h3xstream.findsecbugs</groupId>
|
||||
<artifactId>findsecbugs-plugin</artifactId>
|
||||
<version>${findsecbugs.version}</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.owasp</groupId>
|
||||
<artifactId>dependency-check-maven</artifactId>
|
||||
<version>${plugin.dependency-check.version}</version>
|
||||
<configuration>
|
||||
<nvdDatafeedUrl>https://vulnz.w9r.de/nvd/nvdcve-{0}.json.gz</nvdDatafeedUrl>
|
||||
<nvdDatafeedServerId>vulnz</nvdDatafeedServerId>
|
||||
<formats>HTML,XML,CSV,JSON,JUNIT,GITLAB</formats>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.jacoco</groupId>
|
||||
<artifactId>jacoco-maven-plugin</artifactId>
|
||||
<version>${plugin.jacoco.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-agent</id>
|
||||
<goals>
|
||||
<goal>prepare-agent</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>report</id>
|
||||
<goals>
|
||||
<goal>report</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonarsource.scanner.maven</groupId>
|
||||
<artifactId>sonar-maven-plugin</artifactId>
|
||||
<version>${plugin.sonar.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.6.0</version>
|
||||
<configuration>
|
||||
<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
|
||||
<createDependencyReducedPom>true</createDependencyReducedPom>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>*:*</artifact>
|
||||
<excludes>
|
||||
<exclude>META-INF/*.SF</exclude>
|
||||
<exclude>META-INF/*.DSA</exclude>
|
||||
<exclude>META-INF/*.RSA</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<transformers>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
|
||||
<resource>META-INF/spring.handlers</resource>
|
||||
</transformer>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
|
||||
<resource>META-INF/spring.schemas</resource>
|
||||
</transformer>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
|
||||
<resource>META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports</resource>
|
||||
</transformer>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
|
||||
<resource>META-INF/spring/org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration.imports</resource>
|
||||
</transformer>
|
||||
<transformer implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
|
||||
<resource>META-INF/spring.factories</resource>
|
||||
</transformer>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||
<mainClass>${start-class}</mainClass>
|
||||
<manifestEntries>
|
||||
<Multi-Release>true</Multi-Release>
|
||||
</manifestEntries>
|
||||
</transformer>
|
||||
</transformers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>native</id>
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Spring-Boot-Native-Processed>true</Spring-Boot-Native-Processed>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<image>
|
||||
<!--<builder>paketobuildpacks/builder-jammy-tiny:latest</builder>-->
|
||||
<builder>dashaun/builder:tiny</builder>
|
||||
<env>
|
||||
<BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
|
||||
</env>
|
||||
</image>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>process-aot</id>
|
||||
<goals>
|
||||
<goal>process-aot</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.graalvm.buildtools</groupId>
|
||||
<artifactId>native-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
||||
<requiredVersion>22.3</requiredVersion>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-reachability-metadata</id>
|
||||
<goals>
|
||||
<goal>add-reachability-metadata</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>nativeTest</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.junit.platform</groupId>
|
||||
<artifactId>junit-platform-launcher</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>process-test-aot</id>
|
||||
<goals>
|
||||
<goal>process-test-aot</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.graalvm.buildtools</groupId>
|
||||
<artifactId>native-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
|
||||
<requiredVersion>22.3</requiredVersion>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>native-test</id>
|
||||
<goals>
|
||||
<goal>test</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>skipShadeAndCycloneDX</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.cyclonedx</groupId>
|
||||
<artifactId>cyclonedx-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>publication</id>
|
||||
<properties>
|
||||
<altDeploymentRepository>local::file:./target/staging-deploy</altDeploymentRepository>
|
||||
</properties>
|
||||
<build>
|
||||
<defaultGoal>deploy</defaultGoal>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<attach>true</attach>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<attach>true</attach>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
Loading…
Add table
Reference in a new issue