├── .github ├── dependabot.yml ├── pull_request_template.md ├── release.yml └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── CHANGES.md ├── LICENSE.txt ├── README.md ├── airbase-policy ├── pom.xml └── src │ └── main │ └── resources │ ├── checkstyle │ └── airbase-checks.xml │ └── license │ ├── apache-copyright-header.txt │ └── apache-header.txt ├── airbase └── pom.xml ├── jreleaser.yml ├── mvnw └── pom.xml /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "maven" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | labels: 8 | - "dependency" 9 | open-pull-requests-limit: 5 10 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Airbase contribution check list 4 | 5 | - [ ] Git commit messages follow https://cbea.ms/git-commit/. 6 | - [ ] All automated tests are passing. 7 | - [ ] Pull request was categorized using one of the existing labels. 8 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | exclude: 3 | labels: 4 | - ignore-for-release 5 | categories: 6 | - title: Breaking changes 🛠 7 | labels: 8 | - breaking 9 | - title: Bug fixes 🐛 10 | labels: 11 | - bug 12 | - title: Improvements 🎉 13 | labels: 14 | - improvement 15 | - cleanup 16 | - title: Dependency updates 📦 17 | labels: 18 | - dependency 19 | - title: Security fixes 🔒 20 | labels: 21 | - security 22 | - title: Others 23 | labels: 24 | - "*" 25 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | strategy: 9 | matrix: 10 | java: 11 | - 21 12 | - 22 13 | - 23 14 | - 24-ea 15 | steps: 16 | - uses: actions/checkout@v2 17 | - uses: actions/setup-java@v3 18 | with: 19 | java-version: ${{ matrix.java }} 20 | distribution: temurin 21 | - name: Maven Download 22 | run: ./mvnw -V -B dependency:go-offline 23 | - name: Maven Install 24 | run: ./mvnw clean install -B -P ci 25 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release new version 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | push: 7 | description: 'Push artifacts to Central and commits to the repository' 8 | required: true 9 | default: true 10 | type: 'boolean' 11 | 12 | jobs: 13 | release: 14 | runs-on: ubuntu-latest 15 | permissions: 16 | contents: write 17 | packages: write 18 | env: 19 | STAGED_REPOSITORY: target/checkout/target/staging-deploy 20 | 21 | steps: 22 | - name: Check if release is running from master 23 | run: | 24 | if [ "${GITHUB_REF}" != "refs/heads/master" ]; then 25 | echo "Release is only allowed from master branch" 26 | exit 1 27 | fi 28 | 29 | - name: Checkout code 30 | uses: actions/checkout@v4 31 | with: 32 | fetch-depth: 0 33 | 34 | - name: Install java 35 | uses: actions/setup-java@v4 36 | with: 37 | java-version: '17' 38 | distribution: 'temurin' 39 | gpg-private-key: ${{ secrets.JRELEASER_GPG_SECRET_KEY }} 40 | gpg-passphrase: MAVEN_GPG_PASSPHRASE 41 | cache: 'maven' 42 | 43 | - name: Configure git 44 | run: | 45 | git config user.name "Airlift Release" 46 | git config user.email "airlift-bot@airlift.io" 47 | 48 | - name: Lock branch before release 49 | uses: github/lock@v2 50 | id: release-lock 51 | with: 52 | mode: 'lock' 53 | 54 | - name: Run mvn release:prepare 55 | env: 56 | MAVEN_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }} 57 | run: | 58 | ./mvnw -B release:prepare -Poss-release,oss-stage 59 | 60 | - name: Determine release version 61 | run: | 62 | export VERSION=$(grep 'scm.tag=' release.properties | cut -d'=' -f2) 63 | echo "VERSION=${VERSION}" >> $GITHUB_ENV 64 | echo "Releasing version: ${VERSION}" 65 | 66 | - name: Run mvn release:perform to local staging 67 | env: 68 | MAVEN_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }} 69 | run: | 70 | ./mvnw -B release:perform -Poss-release,oss-stage 71 | 72 | - name: Display git status and history, checkout release tag 73 | run: | 74 | git status 75 | git log --oneline -n 2 76 | # Checkout version so that JReleaser runs from a tagged commit 77 | git checkout "${VERSION}" 78 | 79 | - name: List locally staged artifacts 80 | run: | 81 | find ${{ env.STAGED_REPOSITORY }} -type f 82 | 83 | - name: Run JReleaser 84 | uses: jreleaser/release-action@v2 85 | env: 86 | JRELEASER_PROJECT_VERSION: ${{ env.VERSION }} 87 | JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 88 | JRELEASER_GPG_PUBLIC_KEY: ${{ vars.JRELEASER_GPG_PUBLIC_KEY }} 89 | JRELEASER_GPG_SECRET_KEY: ${{ secrets.JRELEASER_GPG_SECRET_KEY }} 90 | JRELEASER_GPG_PASSPHRASE: ${{ secrets.JRELEASER_GPG_PASSPHRASE }} 91 | JRELEASER_NEXUS2_MAVEN_CENTRAL_USERNAME: ${{ secrets.JRELEASER_NEXUS2_MAVEN_CENTRAL_USERNAME }} 92 | JRELEASER_NEXUS2_MAVEN_CENTRAL_TOKEN: ${{ secrets.JRELEASER_NEXUS2_MAVEN_CENTRAL_TOKEN }} 93 | JRELEASER_NEXUS2_END_STAGE: ${{ inputs.push && 'RELEASE' || 'CLOSE' }} 94 | JRELEASER_SKIP_RELEASE: ${{ inputs.push && 'false' || 'true' }} 95 | with: 96 | setup-java: false 97 | 98 | - name: Push git changes 99 | if: ${{ inputs.push }} 100 | run: | 101 | git status 102 | git describe 103 | git push origin master 104 | 105 | - name: Unlock branch after a release 106 | uses: github/lock@v2 107 | id: release-unlock 108 | with: 109 | mode: 'unlock' 110 | 111 | - name: Upload JReleaser logs 112 | if: always() 113 | uses: actions/upload-artifact@v4 114 | with: 115 | name: jreleaser-logs 116 | path: | 117 | out/jreleaser/trace.log 118 | out/jreleaser/output.properties 119 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | target/ 3 | *.iml -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.2 18 | distributionType=only-script 19 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip 20 | -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- 1 | Airbase 160 and above 2 | 3 | Moved to https://github.com/airlift/airbase/releases 4 | 5 | Airbase 159 6 | * Dependency updates: 7 | - AssertJ 3.26.3 (from 3.26.0) 8 | - Byte Buddy 1.14.18 (from 1.14.17) 9 | 10 | Airbase 159 11 | * Require Maven 3.9.8 12 | 13 | Airbase 158 14 | * Plugin updates: 15 | - maven-jar-plugin to 3.4.2 (from 3.4.1) 16 | - maven-release-plugin to 3.1.0 (from 3.0.1) 17 | - maven-surefire-plugin to 3.3.0 (from 3.2.5) 18 | - maven-dependency-plugin to 3.7.1 (from 3.6.1) 19 | - maven-clean-plugin to 3.4.0 (from 3.3.2) 20 | - maven-checkstyle-plugin to 3.4.0 (from 3.3.1) 21 | - git-commit-id plugin to 9.0.1 (from 8.0.1) 22 | * Dependency updates: 23 | - junit 5.10.3 (from 5.10.2) 24 | - jackson 2.17.2 (from 2.17.1) 25 | 26 | Airbase 157 27 | * Checkstyle updates: 28 | - Require empty line before record definition 29 | * Plugin configuration: 30 | - Inject git commit info into reactor projects once 31 | * Dependency updates: 32 | - AssertJ 3.26.0 (from 3.25.3) 33 | - byte-buddy 1.14.17 (from 1.14.14) 34 | - checkstyle 10.17.0 (from 10.16.0) 35 | - error_prone_annotations 2.27.1 (from 2.27.0) 36 | - guava 33.2.1-jre (from 33.1.0-jre) 37 | - jackson 2.17.1 (from 2.17.0) 38 | - kotlin 2.0.0 (from 1.9.23) 39 | - spotbugs-annotations to 4.8.5 (from 4.8.4) 40 | - PMD runtime 7.2.0 (from 7.1.0) 41 | * Plugin updates: 42 | - maven-build-helper 3.6.0 (from 3.5.0) 43 | - maven-license-plugin 4.5 (from 4.3) 44 | - maven-modernizer-plugin 2.9.0 (from 2.7.0) 45 | - maven-sortpom-plugin 4.0.0 (from 3.4.1) 46 | - spotbugs-maven-plugin to 4.8.5.0 (from 4.8.4.0) 47 | - maven-enforcer-plugin 3.5.0 (from 3.4.1) 48 | - maven-javadoc-plugin 3.7.0 (from 3.6.3) 49 | - maven-shade-plugin 3.6.0 (from 3.5.3) 50 | - errorprone 2.28.0 (from 2.27.1) 51 | 52 | Airbase 156 53 | * Dependency updates: 54 | - checkstyle 10.16.0 (from 10.12.3) 55 | - error_prone_annotations 2.27.0 (from 2.25.0) 56 | - PMD runtime 7.1.0 (from 7.0.0) 57 | - opentelemetry 1.37.0 (from 1.36.0) 58 | - opentelemetry-instrumentation 2.3.0 (from 2.2.0) 59 | * Plugin updates: 60 | - restrict-imports-enforcer-rule 2.5.0 (from 2.4.0) 61 | - maven-install-plugin 3.1.2 (from 3.1.1) 62 | - maven-deploy-plugin 3.1.2 (from 3.1.1) 63 | * New dependencies: 64 | - opentelemetry-semconv-incubating 65 | - byte-buddy 66 | 67 | Airbase 155 68 | * Checkstyle updates: 69 | - Require exactly one space between array type and array initializer. 70 | - Allow unnamed variable names 71 | * Extract all plugins and dependencies versions to properties 72 | * Make build reproducible 73 | * Plugin updates: 74 | - spotbugs-maven-plugin 4.8.4.0 (from 4.8.3.1) 75 | - git-commit-id-maven-plugin 8.0.2 (from 8.0.1) 76 | - maven-gpg-plugin 3.2.4 (from 3.2.1) 77 | - maven-jar-plugin 3.4.1 (from 3.3.0) 78 | - maven-pmd-plugin 3.22.0 (from 3.21.2) 79 | - maven-scm-plugin 2.1.0 (from 2.0.1) 80 | - maven-shade-plugin 3.5.3 (from 3.5.2) 81 | - maven-source-plugin 3.3.1 (from 3.3.0) 82 | - maven-jacoco-plugin 0.8.12 (from 0.8.11) 83 | * Dependency updates: 84 | - logback 1.5.6 (from 1.5.3) 85 | - spotbugs-annotations 4.8.4 (from 4.8.3) 86 | - asm 9.7 (from 9.6) 87 | - jakarta.annotation-api 3.0.0 (from 3.2.1) 88 | 89 | Airbase 154 90 | * Fix javadoc building when `air.compiler.enable-preview` is set 91 | 92 | Airbase 153 93 | * Dependency updates: 94 | - OpenTelemetry 1.36.0 (from 1.35.0) 95 | - Jackson 2.17.0 (from 2.16.1) 96 | - error_prone_annotations 2.26.1 (2.25.0) 97 | - guava 33.1.0-jre (from 33.0.0-jre) 98 | - OpenTelemetry instrumentation 2.2.0 (from 2.1.0) 99 | * Plugin updates: 100 | - sortpom-maven-plugin 3.4.1 (from 3.4.0) 101 | - git-commit-id-maven-plugin 8.0.1 (from 8.0.0) 102 | - maven-assembly-plugin 3.7.1 (from 3.6.0) 103 | - maven-gpg-plugin 3.2.1 (from 3.1.0) 104 | - extra-enforcer-rules 1.8.0 (from 1.7.0) 105 | - maven-compiler-plugin 3.13.0 (3.12.1) 106 | 107 | Airbase 152 108 | * Dependency downgrades: 109 | - modernizer-maven-annotations 2.7.0 (from 2.8.0) 110 | * Dependency updates: 111 | - jakarta.servlet-api 6.0.0 (from 5.0.2) 112 | - logback 1.5.3 (from 1.5.1) 113 | - kotlin 1.9.23 (from 1.9.22) 114 | - jakarta.xml.bind-api 4.0.2 (from 4.0.1) 115 | - ASM 9.6 (from 9.5) 116 | * Plugin updates: 117 | - git-commit-id-maven-plugin 8.0.0 (from 7.0.0) 118 | 119 | Airbase 151 120 | * Plugin updates: 121 | - maven-shade-plugin 3.5.2 (from 3.5.1) 122 | - sortpom-maven-plugin 3.4.0 (from 3.3.0) 123 | - dependency-scope-maven-plugin 1.0.3 (from 1.0.2) 124 | - maven-javadoc-plugin 3.6.3 (from 3.6.2) 125 | - spotbugs-maven-plugin 4.8.3.1 (from 4.8.3.0) 126 | * Dependency updates: 127 | - Logback 1.5.1 (from 1.4.14) 128 | - OpenTelemetry 1.35.0 (from 1.34.1) 129 | - error-prone annotations 2.25.0 (from 2.24.1) 130 | - joda-time 2.12.7 (from 2.12.6) 131 | - OpenTelemetry instrumentation 2.1.0 (from 2.0.0) 132 | - modernizer-maven-annotations 2.8.0 (from 2.7.0) 133 | - slf4j 2.0.13 (from 2.0.12) 134 | - pmd-runtime 7.0.0 (from 6.55.0) 135 | 136 | Airbase 150 137 | * Dependency updates: 138 | - jmxutils to 1.26 (from 1.25) 139 | - OpenTelemetry to 1.34.1 (from 1.34.0) 140 | - OpenTelemetry instrumentation to 2.0.0 (from 1.32.0) 141 | - jmxutils to 1.26 (from 1.25) 142 | - AssertJ to 3.25.3 (from 3.25.1) 143 | - junit 5.10.2 (from 5.10.1) 144 | - slf4j 2.0.12 (from 2.0.11) 145 | * Plugin updates: 146 | - spotbugs-maven-plugin to 4.8.3.0 (from 4.8.1.0) 147 | - dependency-scope-maven-plugin 1.0.2 (from 1.0.1) 148 | 149 | Airbase 149 150 | * Remove bval dependency 151 | * Plugin updates: 152 | - git-commit-id-maven-plugin 7.0.0 (from 6.0.0) 153 | - spotbugs-maven-plugins 4.8.1.0 (from 4.7.3.6) 154 | - maven-clean-plugin 3.3.2 (from 3.3.1) 155 | - maven-javadoc-plugin 3.6.3 (from 3.6.0) 156 | - maven-pmd-plugin 3.21.2 (from 3.21.0) 157 | - maven-release-plugin 3.0.1 (from 2.5) 158 | - maven-source-plugin to 3.3.0 (from 3.0.1) 159 | - maven-surefire-plugin to 3.2.5 (from 3.2.1) 160 | - build-helper-plugin to 3.5.0 (from 3.4.0) 161 | - maven-compiler-plugin 3.12.1 (from 3.11.0) 162 | 163 | * Dependency updates: 164 | - opentelemetry to 1.34.0 (from 1.31.0) 165 | - opentelemetry-instrumentation to 1.32.0 (from 1.31.0) 166 | - kotlin 1.9.22 (from 1.9.0) 167 | - junit 5.10.1 (from 5.10.0) 168 | - guava 33.0.0 (from 32.1.3) 169 | - logback 1.4.14 (from 1.4.8) 170 | - jackson 2.16.1 (from 2.15.3) 171 | - spotbugs-annotations 4.8.3 (from 4.8.0) 172 | - error_prone_annotations 2.24.1 (from 2.22.0) 173 | - joda time 2.12.6 (from 2.12.5) 174 | - AssertJ 3.25.1 (from 3.24.2) 175 | - slf4j 2.0.11 (from 2.0.9) 176 | - jmxutils 1.25 (from 1.24) 177 | 178 | Airbase 148 179 | 180 | * Import AssertJ bom 181 | 182 | * Dependency updates: 183 | - Jackson 2.15.3 (from 2.15.2) 184 | - errorprone 2.22.0 (from 2.21.1) 185 | - Guava 32.1.3-jre (from 32.1.2-jre) 186 | - spotbugs-annotations 4.8.0 (from 4.7.3) 187 | - OpenTelemetry 1.31.0 (from 1.30.1) 188 | - OpenTelemetry instrumentation 1.31.0 (from 1.30.0) 189 | 190 | * Plugin updates: 191 | - spotbugs-maven-plugin 4.7.3.6 (from 4.7.3.5) 192 | - license-maven-plugin 4.3 (from 4.2) 193 | - jacoco-maven-plugin 0.8.11 (from 0.8.10) 194 | - surefire-maven-plugin 3.2.1 (from 3.1.2) 195 | - maven-checkstyle-plugin 3.3.1 (from 3.3.0) 196 | - maven-dependency-plugin 3.6.1 (from 3.6.0) 197 | 198 | Airbase 147 199 | 200 | * Automatically sort and verify POM files 201 | 202 | * Dependency downgrades: 203 | - logback 1.4.8 (from 1.4.11) 204 | 205 | Airbase 146 206 | 207 | * Plugin updates: 208 | - errorprone 2.21.1 (from 2.20.0) 209 | - maven-enforcer-plugin 3.4.1 (from 3.3.0) 210 | - restrict-imports-enforcer-rule 2.4.0 (from 2.3.1) 211 | - maven-assembly-plugin 3.6.0 (from 3.5.0) 212 | - maven-clean-plugin 3.3.1 (from 3.2.0) 213 | - maven-javadoc-plugin 3.6.0 (from 3.5.0) 214 | - spotbugs-maven-plugin 4.7.3.5 (from 4.7.3.4) 215 | - build-helper-maven-plugin 3.4.0 (from 3.3.0) 216 | - maven-pmd-plugin 3.21.0 (from 3.20.0) 217 | - maven-shade-plugin 3.5.1 (from 3.5.0) 218 | - maven-modernizer-plugin 2.7.0 (from 2.6.0) 219 | 220 | * Dependency updates: 221 | - Guava 32.1.2-jre (from 32.1.1-jre) 222 | - jmh 1.37 (from 1.36) 223 | - slf4j 2.0.9 (from 2.0.7) 224 | - slice 2.2 (from 0.45) 225 | - logback 1.4.11 (from 1.4.8) 226 | - junit 5.10.0 (from 5.9.3) 227 | - opentelemetry to 1.30.1 (from 1.26.0) 228 | - opentelemetry-instrumentation to 1.30.0 (from 1.25.1) 229 | - checkstyle 10.12.3 (from 10.12.1) 230 | - hibernate-validator 8.0.1 (from 8.0.0) 231 | - jakarta.xml.bind-api 4.0.1 (from 4.0.0) 232 | 233 | Airbase 145 234 | 235 | * Dependecy updates: 236 | - jmxutils 1.24 (from 1.23) 237 | 238 | Airbase 144 239 | 240 | * Plugin updates: 241 | - maven-surefire-plugin 3.1.2 (from 3.1.0) 242 | - restrict-imports-enforcer-rule 2.3.1 (from 2.2.0) 243 | - errorprone 2.20.0 (from 2.19.1) 244 | 245 | * Dependency updates: 246 | - Checkstyle 10.12.1 (from 10.12.0) 247 | - Guava 32.1.1-jre (from 32.0.0-jre) 248 | - kotlin 1.9.0 (from 1.8.21) 249 | - logback 1.4.8 (from 1.4.7) 250 | 251 | Airbase 143 252 | 253 | * Relax restricted imports for Jersey 254 | * Dependency updates: 255 | - jackson 2.15.2 (from 2.15.0) 256 | * Plugin updates: 257 | - maven-gpg-plugin 3.1.0 (from 1.4.0) 258 | - maven-shade-plugin 3.5.0 (from 3.4.1) 259 | - maven-dependency-plugin 3.6.0 (from 3.5.0) 260 | - maven-dependency-scope-plugin 1.0.1 (from 0.10) 261 | - maven-deploy-plugin 3.1.1 (from 2.8.2) 262 | 263 | Airbase 142 264 | 265 | * Add jakarta validation dependencies 266 | * Add Error Prone annotations dependency 267 | 268 | Airbase 141 269 | 270 | * Add jakarta dependencies 271 | * Dependency updates: 272 | - Guice 7.0.0 (from 6.0.0) 273 | 274 | Airbase 140 275 | 276 | * Pass `user.timezone` in tests as a system property, not as a JVM argument 277 | - It restores the ability to run some timezone-sensitive tests 278 | from within IntelliJ IDEA 279 | * Update ASM to 9.5 in maven plugins 280 | * Dependency updates: 281 | - Guava 32.0.0-jre (from 31.1-jre) 282 | - Checkstyle 10.12.0 (from 10.11.0) 283 | * Plugin updates: 284 | - maven-checkstyle-plugin 3.3.0 (from 3.2.2) 285 | - maven-source-plugin 3.3.0 (from 3.2.1) 286 | - extra-enforcer-rules 1.6.2 (from 1.6.1) 287 | - duplicate-finder-maven-plugin 2.0.1 (from 1.5.1) 288 | - maven-scm-plugin 2.0.1 (from 2.0.0) 289 | - git-commit-id-maven-plugin 6.0.0 (from 5.0.0) 290 | - extra-enforcer-rules 1.7.0 (from 1.6.2) 291 | 292 | Airbase 139 293 | 294 | * Replace checkstyle illegal imports with `RestrictImports` enforcer rules 295 | * Checkstyle updates: 296 | - Require throws keyword to be on a new line. 297 | * Dependency updates: 298 | - JUnit 5.9.3 (from 5.9.2) 299 | - Kotlin 1.8.21 (from 1.8.20) 300 | - Opentelemetry 1.26.0 (from 1.25.0) 301 | - Opentelemetry Instrumentation 1.25.1 (from 1.24.0) 302 | - Logback 1.4.7 (from 1.4.6) 303 | - Checkstyle 10.11.0 (from 10.9.3) 304 | - Guice 6.0.0 (from 5.1.0) 305 | * Plugin updates: 306 | - Surefire 3.1.0 (from 3.0.0) 307 | - maven-clean-plugin 3.2.0 (from 3.0.0) 308 | - maven-install-plugin 3.1.1 (from 2.5.2) 309 | - maven-enforcer-plugin 3.3.0 (from 3.2.1) 310 | - maven-resources-plugin 3.3.1 (from 3.2.0) 311 | - maven-assembly-plugin 3.5.0 (from 3.3.0) 312 | - maven-javadoc-plugin 3.5.0 (from 3.2.0) 313 | - maven-jar-plugin 3.3.0 (from 3.2.0) 314 | - migrate to git-commit-id-maven-plugin 5.0.0 (from git-commit-id-plugin 4.0.5) 315 | - maven-source-plugin 3.2.1 (from 3.2.0) 316 | - license-maven-plugin 4.2 (from 3.0) 317 | - jacoco-maven-plugin 0.8.10 (from 0.8.9) 318 | - maven-checkstyle-plugin 3.2.2 (from 3.2.1) 319 | - maven-site-plugin 3.12.1 (from 3.2) 320 | - maven-scm-plugin 2.0.0 (from 1.8.1) 321 | 322 | Airbase 138 323 | 324 | * Dependency updates: 325 | - jackson 2.15.0 (from 2.14.2) 326 | 327 | Airbase 137 328 | 329 | * Dependency updates: 330 | - jmxutils 1.23 (from 1.22) 331 | 332 | Airbase 136 333 | 334 | * Add `air.compiler.enable-preview` property 335 | * Plugin updates: 336 | - JaCoCo 0.8.9 (from 0.8.8) 337 | - Surefire 3.0.0 (from 3.0.0-M5) 338 | - PMD runtime 6.55.0 (from 6.53.0) 339 | - SpotBugs 4.7.3.4 (from 4.7.3.2) 340 | - Build Helper 3.3.0 (from 1.7) 341 | 342 | Airbase 135 343 | 344 | * Run compiler in same process by default 345 | * Allow dependency plugin to work with Java 21 bytecode 346 | * Checkstyle updates: 347 | - Version 10.9.3 (from 10.8.0) 348 | * Add dependencies: 349 | - OpenTelemetry 350 | - Kotlin 351 | * Dependency updates: 352 | - Pinned versions some more Jackson modules 353 | - SLF4J 2.0.7 (from 2.0.6) 354 | - Logback 1.4.6 (from 1.4.5) 355 | - joda-time 2.12.5 (from 2.11.2) 356 | * Plugin updates: 357 | - Modernizer 2.6.0 (from 2.5.0) 358 | 359 | Airbase 134 360 | 361 | * Always show where deprecated APIs are used 362 | * Enforcer updates: 363 | - Enable `requirePluginVersions` check 364 | * Checkstyle updates: 365 | - Version 10.8.0 (from 10.3.3) 366 | - Deny static import for `builder` 367 | * Dependency updates: 368 | - Apache BVal 2.0.6 (from 2.0.5) 369 | - AssertJ Core 3.24.2 (from 3.18.1) 370 | - JMH 1.36 (from 1.35) 371 | - JUnit 5.8.2 (from 5.8.1) 372 | - Jackson 2.14.2 (from 2.14.1) 373 | - Logback 1.4.5 (from 1.2.11) 374 | - Slice 0.45 (from 0.44) 375 | - SpotBugs annotations 4.7.3 (from 4.7.2) 376 | - joda-time 2.12.2 (from 2.11.1) 377 | * Plugin updates: 378 | - Checkstyle 3.2.1 (from 3.2.0) 379 | - Compiler 3.11.0 (from 3.9.0) 380 | - Dependency 3.5.0 (from 3.3.0) 381 | - Enforcer 3.2.1 (from 3.1.0) 382 | - PMD 3.20.0 (from 3.19.0) 383 | - Shade 3.4.1 (from 3.2.1) 384 | - SpotBugs 4.7.3.2 (from 4.2.3) 385 | 386 | Airbase 133 387 | 388 | * Checkstyle updates: 389 | - Disallow empty javadoc tags 390 | - Require empty line before javadoc tags 391 | * Dependency updates: 392 | - jmxutils 1.22 (from 1.21) 393 | 394 | Airbase 132 395 | 396 | * Checkstyle updates: 397 | - Allow redundant modifiers within records 398 | - Require newline after opening brace for records 399 | * Plugin updates: 400 | - Enforcer 3.1.0 (from 3.0.0) 401 | - Extra Enforcer Rules 1.6.1 (from 1.4) 402 | 403 | Airbase 131 404 | 405 | * Replace `javax.servlet-api` with `jetty-servlet-api` 406 | * Dependency updates: 407 | - slf4j 2.0.6 (from 1.7.36) 408 | * Checkstyle updates: 409 | - Disallow redundant modifiers on interface elements 410 | * Dependency updates: 411 | - Jackson 2.14.1 (from 2.13.4) 412 | * Plugin updates: 413 | - duplicate-finder-maven-plugin 1.5.1 (from 1.5.0) 414 | - modernizer 2.5.0 (from 2.4.0) 415 | - PMD 3.19.0 (from 3.12.0) 416 | 417 | Airbase 130 418 | 419 | * Dependency updates: 420 | - Slice 0.44 (from 0.42) 421 | 422 | Airbase 129 423 | 424 | * Checkstyle updates: 425 | - Require package name to match the source directory 426 | * Dependency updates: 427 | - spotbugs-annotations 4.7.2 (from 4.3.0) 428 | - modernizer 2.4.0 (from 2.3.0) 429 | - joda-time 2.11.1 (from 2.10.13) 430 | - slf4j 1.7.36 (from 1.7.32) 431 | - checkstyle 10.3.3 (from 9.2) 432 | - Jackson 2.13.4 (from 2.13.3) 433 | - JMH 1.35 (from 1.32) 434 | * Plugin updates: 435 | - checkstyle 3.2.0 (from 3.1.2) 436 | 437 | Airbase 128 438 | 439 | * Plugin updates: 440 | - JaCoCo 0.8.8 (from 0.8.7) 441 | * Always define ``argLine`` property even if Jacoco is disabled, to ensure 442 | that Surefire configuration does not confuse IntelliJ IDEA 443 | 444 | Airbase 127 445 | 446 | * Checkstyle updates: 447 | - Forbid imports of shaded Apache code 448 | * Dependency updates: 449 | - Logback 1.2.11 (from 1.2.3) 450 | 451 | Airbase 126 452 | 453 | * Fix the way locale information is passed to maven-surefire-plugin 454 | * Plugin downgrades: 455 | - Surefire 3.0.0-M5 (from 3.0.0-M6) 456 | 457 | Airbase 125 458 | 459 | * Checkstyle updates: 460 | - Allow using "extends" and "implements" in a Java comment. 461 | * Dependency update: 462 | - Jackson 2.13.3 (from 2.13.1) 463 | 464 | Airbase 124 465 | 466 | * Dependency updates: 467 | - Slice 0.42 (from 0.41) 468 | * Plugin updates: 469 | - Surefire 3.0.0-M6 (from 3.0.0-M5) 470 | 471 | Airbase 123 472 | 473 | * Add `air.license.skip-existing-headers` property 474 | * Dependency update: 475 | - Guava 31.1-jre (from 31.0.1-jre) 476 | * Plugin updates: 477 | - maven-dependency-plugin 3.3.0 (from 3.1.2) 478 | 479 | Airbase 122 480 | 481 | * Fix enabling check plugins unless `air.check.skip-all` is set. 482 | 483 | Airbase 121 484 | 485 | * Fix Surefire setup when JaCoCo is disabled 486 | 487 | Airbase 120 488 | 489 | * Add dependencies: 490 | - Modernizer annotations 2.3.0 491 | * Checkstyle updates: 492 | - Add `LCURLY` to `WhitespaceAround` to catch more whitespace issues 493 | * Dependency updates: 494 | - Guice 5.1.0 (from 5.0.1) 495 | - Joda-Time 2.10.13 (from 2.10.10) 496 | * Plugin updates: 497 | - update maven-compiler-plugin 3.9.0 (from 3.8.1) 498 | 499 | Airbase 119 500 | 501 | * Remove `air.test.skip` property. Use `skipTests` instead. 502 | 503 | Airbase 117 504 | 505 | * Add `air.test.skip` property for modules without tests 506 | * Remove test providers from Surefire plugin. If a module needs both 507 | JUnit 5 and TestNG, it will need to add both providers to Surefire. 508 | Otherwise, the TestNG tests will be silently skipped. 509 | * Dependency updates: 510 | - Jackson 2.13.1 (from 2.13.0) 511 | * Plugin updates: 512 | - JaCoCo 0.8.7 (from 0.8.6) 513 | 514 | Airbase 116 515 | 516 | * Plugin updates: 517 | - Checkstyle 9.2 (from 9.1) 518 | 519 | Airbase 114 520 | 521 | * Dependency updates: 522 | - Guava 31.0.1-jre (from 30.1.1-jre) 523 | - Jackson 2.13.0 (from 2.12.3) 524 | - SpotBugs annotations 4.3.0 (from 4.2.3) 525 | - javax.ws.rs-api 2.1.1 (from 2.1) 526 | - slf4j 1.7.32 (from 1.7.30) 527 | - Slice 0.41 (from 0.39) 528 | * Plugin updates: 529 | - Modernizer 2.3.0 (from 2.2.0) 530 | - git-commit-id-plugin 4.0.5 (from 4.0.3) 531 | - JUnit 5.8.1 (from 5.8.0-M1) 532 | - Checkstyle 9.1 (from 8.41.1) 533 | 534 | Airbase 113 535 | 536 | * Dependency updates: 537 | - JMH 1.32 (from 1.20) 538 | * Plugin updates: 539 | - Enforcer 3.0.0 (from 3.0.0.M3) 540 | 541 | Airbase 112 542 | 543 | * Remove cglib 544 | * Allow using commas in air.javadoc.lint 545 | * Add JUnit 5.8.0-M1 546 | * Fix build failure when module does not contain JUnit tests 547 | * Fail build if no tests are executed 548 | * Dependency updates: 549 | - Jackson 2.12.3 (from 2.12.2) 550 | - Joda-Time 2.10.10 (from 2.10.9) 551 | - SpotBugs annotations 4.2.3 (from 4.2.2) 552 | * Plugin updates: 553 | - SpotBugs 4.2.3 (from 4.2.2) 554 | 555 | Airbase 111 556 | 557 | * Plugin updates: 558 | - Surefire 3.0.0-M5 (from 2.22.0) 559 | * Checkstyle updates: 560 | - Enforce method naming 561 | 562 | Airbase 110 563 | 564 | * Dependency updates: 565 | - Jackson 2.12.2 (from 2.11.4) 566 | - SpotBugs annotations 4.2.2 (from 3.1.12) 567 | * Plugin updates: 568 | - Checkstyle 3.1.2 (from 3.1.1) 569 | * Checkstyle updates: 570 | - Version 8.41.1 (from 8.32) 571 | 572 | Airbase 109 573 | 574 | * Plugin updates: 575 | - Modernizer 2.2.0 (from 2.1.0) 576 | 577 | Airbase 108 578 | 579 | * Plugin updates: 580 | - Guava 30.1.1-jre (from 30.1-jre) 581 | - Guice 5.0.1 (from 4.2.3) 582 | - JaCoCo 0.8.6 (from 0.8.5) 583 | - SpotBugs 4.2.2 (from 3.1.12.2) 584 | 585 | Airbase 107 586 | 587 | * Configure maven-assembly-plugin to use posix tar mode 588 | 589 | Airbase 106 590 | 591 | * Remove `errorprone-compiler` profile. 592 | * Dependency updates: 593 | - Apache BVal 2.0.5 (from 2.0.0) 594 | - Guava 30.1-jre (from 29.0-jre) 595 | - AssertJ core 3.18.1 (from 3.14.0) 596 | - Joda-Time 2.10.9 (from 2.10.6) 597 | * Plugin updates: 598 | - maven-compiler-plugin 3.8.1 (from 3.8.0) 599 | - maven-resources-plugin 3.2.0 (from 2.6) 600 | - maven-assembly-plugin 3.3.0 (from 2.4) 601 | - maven-jar-plugin 3.2.0 (from 2.4) 602 | - license-maven-plugin 3.0 (from 2.3) 603 | - duplicate-finder-maven-plugin 1.5.0 (from 1.4.0) 604 | 605 | Airbase 105 606 | 607 | * Dependency updates: 608 | - Jackson 2.11.4 (from 2.10.5) 609 | * Checkstyle updates: 610 | - Allow numbers in first part of package name 611 | 612 | Airbase 104 613 | 614 | * Speed up build by including only relevant properties in git-commit-id-plugin configuration 615 | 616 | * Plugin updates: 617 | - git-commit-id-plugin 4.0.3 (from 4.0.2) 618 | 619 | Airbase 103 620 | 621 | * Dependency updates: 622 | - Jackson 2.10.5 (from 2.10.4) 623 | - Joda-Time 2.10.6 (from 2.10.5) 624 | * Plugin updates: 625 | - git-commit-id-plugin 4.0.2 (from 4.0.0) 626 | - Javadoc 3.2.0 (from 3.0.1) 627 | - Extra Enforcer Rules 1.3 (from 1.2) 628 | - Modernizer 2.1.0 (from 1.7.1) 629 | * Checkstyle updates: 630 | - Forbid imports of shaded Guava and OkHttp classes 631 | - Require static imports for methods from Preconditions and Verify 632 | - Require static imports for ImmutableList.toImmutableList method 633 | - Require static imports for ImmutableMap.toImmutableMap method 634 | - Require static imports for ImmutableSet.toImmutableSet method 635 | 636 | Airbase 102 637 | 638 | * Add dependencies: 639 | - jackson-dataformat-cbor 640 | - jackson-dataformat-ion 641 | * Dependency updates: 642 | - Slice 0.39 (from 0.38) 643 | - Jackson 2.10.4 (from 2.10.3) 644 | * Plugin updates: 645 | - dependency 3.1.2 (from 3.1.1) 646 | - Checkstyle 3.1.1 (from 3.1.0) 647 | * Checkstyle updates: 648 | - Version 8.32 (from 8.25) 649 | 650 | Airbase 101 651 | 652 | * Set minimum Java version to 11 653 | * Set minimum Maven version to 3.6.3 654 | * Use `--release` option for compiler 655 | * Add `air.compiler.fail-warnings` property 656 | 657 | Airbase 100 658 | 659 | * Add hook for altering surefire JVM argLine 660 | * Add additional properties for release plugin 661 | * Dependency updates: 662 | - Guava 29.0 (from 26.0) 663 | * Checkstyle updates: 664 | - Allow camel case type parameter names 665 | 666 | Airbase 99 667 | 668 | * Dependency updates: 669 | - Slf4j 1.7.30 (from 1.7.29) 670 | - Jackson 2.10.3 (from 2.10.0) 671 | - Guice 4.2.3 (from 4.2.2) 672 | 673 | Airbase 98 674 | 675 | * Parameterize distributionManagement 676 | * Plugin updates: 677 | - git commit id 4.0.0 (from 3.0.1) 678 | 679 | Airbase 97 680 | 681 | * Plugin updates: 682 | - Dependency Scope 0.10 (from 0.8) 683 | 684 | Airbase 96 685 | 686 | * Remove dependency:analyze-dep-mgt check 687 | * Plugin updates: 688 | - Duplicate Finder 1.4.0 (from 1.2.1) 689 | 690 | Airbase 95 691 | 692 | * Dependency updates: 693 | - Joda-Time 2.10.5 (from 2.9.9) 694 | - Slice 0.38 (from 0.37) 695 | 696 | Airbase 94 697 | 698 | * Remove all AssertJ dependencies except Core 699 | * Remove Hamcrest 700 | * Remove Mockito 701 | * Remove Objenesis 702 | * Add shade plugin 703 | * Allow specifying README location and type for launcher 704 | * Dependency updates: 705 | - Slice 0.37 (from 0.34) 706 | - jmxutils 1.21 (from 1.19) 707 | - cglib 3.3.0 (from 3.2.5) 708 | - javax.annotation-api 1.3.2 (from 1.3.1) 709 | - javax.servlet-api 4.0.1 (from 3.1.0) 710 | - SLF4J 1.7.29 (from 1.7.28) 711 | - TestNG 6.10 (from 6.9.6) 712 | - AssertJ Core 3.14.0 (from 3.5.2) 713 | * Plugin updates: 714 | - Enforcer 3.0.0-M3 (from 3.0.0-M2) 715 | - Extra Enforcer Rules 1.2 (from 1.1) 716 | 717 | Airbase 93 718 | 719 | * Require Maven version 3.3.9 720 | * Dependency updates: 721 | - SpotBugs annotations 3.1.12 (from 3.1.10) 722 | * Plugin updates: 723 | - JaCoCo 0.8.5 (from 0.8.2) 724 | - SpotBugs 3.1.12.2 (from 3.1.10) 725 | - PMD 3.12.0 (from 3.11.0) 726 | - git commit id 3.0.1 (from 2.1.13) 727 | * Checkstyle updates: 728 | - Enforce placement of lambda's opening brace 729 | 730 | Airbase 92 731 | 732 | * Dependency updates: 733 | - Jackson 2.10.0 (from 2.9.8) 734 | * Plugin updates: 735 | - Checkstyle 3.1.0 (from 3.0.0) 736 | * Checkstyle updates: 737 | - Version 8.25 (from 8.16) 738 | - Allow multi character type variable names 739 | 740 | Airbase 91 741 | 742 | * Dependency updates: 743 | - Jackson 2.9.8 (from 2.9.7) 744 | - Add jackson-dataformat-yaml 2.9.8 745 | * Plugin updates: 746 | - Sources 3.0.1 (from 2.2.1) 747 | * Checkstyle updates: 748 | - Only allow numbers or lowercase letters in package names 749 | 750 | Airbase 90 751 | 752 | * Add property to configure Modernizer Java version 753 | * Enforce maximum bytecode version for dependencies 754 | * Allow dependency plugin to work with Java 11 bytecode 755 | * Dependency updates: 756 | - Guava 26.0 (from 24.1) 757 | - Guice 4.2.2 (from 4.2.0) 758 | - SpotBugs annotations 3.1.10 (from 3.1.6) 759 | * Plugin updates: 760 | - JaCoCo 0.8.2 (from 0.8.1) 761 | - Javadoc 3.0.1 (from 3.0.0) 762 | - Modernizer 1.7.1 (from 1.5.0) 763 | - PMD 3.11.0 (from 3.10.0) 764 | - SpotBugs 3.1.10 (from 3.1.6) 765 | 766 | Airbase 89 767 | 768 | * Set the default JVM local for Surefire tests to `en-US` 769 | * Dependency updates: 770 | - validation-api 2.0.1 (from 1.1.0) 771 | - BVal 2.0.0 (from 1.1.1) 772 | * Plugin updates: 773 | - Checkstyle 3.0.0 (from 2.17) 774 | - compiler 3.8.0 (from 3.7.0) 775 | - dependency 3.1.1 (from 2.10) 776 | * Checkstyle updates: 777 | - Version 8.16 (from 8.7) 778 | - Enforce empty lines around program elements 779 | 780 | Airbase 88 781 | 782 | * Replace dependency-versions-check with Enforcer requireUpperBoundDeps 783 | * Dependency updates: 784 | - Jackson 2.9.7 (from 2.8.1) 785 | 786 | Airbase 87 787 | 788 | * Generate parameters names also when compiling in IntelliJ 789 | 790 | Airbase 86 791 | 792 | * Checkstyle updates: 793 | - Do not enforce whitespace before array initializers 794 | 795 | Airbase 85 796 | 797 | * Do not allow duplicate dependencies in POMs 798 | 799 | Airbase 84 800 | 801 | * Do not trim stack traces for Surefire test failures 802 | * Prevent JVM from omitting stack traces for Surefire 803 | * Checkstyle updates: 804 | - Forbid static import of Optional's members 805 | - Enforce whitespace around additional tokens 806 | 807 | Airbase 83 808 | 809 | * Dependency updates: 810 | - SpotBugs annotations 3.1.6 (from 3.1.2) 811 | * Plugin updates: 812 | - SpotBugs 3.1.6 (from 3.1.3) 813 | - PMD 3.10.0 (from 3.7) 814 | - JaCoCo 0.8.1 (from 0.7.9) 815 | * Checkstyle updates: 816 | - Require simplified usages of annotations 817 | 818 | Airbase 82 819 | 820 | * Plugin updates: 821 | - Surefire 2.22.0 (from 2.20.1) 822 | - Enforcer 3.0.0-M2 (from 3.0.0-M1) 823 | 824 | Airbase 81 825 | 826 | * Guarantee termination of JVM on OOM when running Surefire 827 | * Dependency updates: 828 | - Slice 0.34 (from 0.10) 829 | 830 | Airbase 80 831 | 832 | * Add milliseconds and time zone to log format for tests 833 | * Dependency updates: 834 | - Guava 24.1 (from 21.0) 835 | - Guice 4.2 (from 4.0) 836 | - JMH 1.20 (from 1.15) 837 | - packaging 0.163 (from 0.91) 838 | - SpotBugs annotations 3.1.2 (from 3.1.0) 839 | * Plugin updates: 840 | - compiler 3.7.0 (from 3.6.2) 841 | - Eclipse compiler 2.8.3 (from 2.8.2) 842 | - Error Prone compiler 2.8.3 (from 2.8.2) 843 | - SpotBugs 3.1.3 (from 3.1.0-RC8) 844 | * Checkstyle updates: 845 | - Forbid import of format methods other than String.format 846 | 847 | Airbase 79 848 | 849 | * Use Apache license header from policy JAR 850 | * Add Checkstyle as an extended checker 851 | 852 | Airbase 78 853 | 854 | * Prevent Surefire from adding java.se.ee module on Java 9 855 | * Remove Eclipse m2e settings 856 | * Dependency updates: 857 | - javax.annotation-api 1.3.1 (from 1.2) 858 | 859 | Airbase 77 860 | 861 | * Fix air.javadoc.lint property for Javadoc 3.0.0 plugin 862 | 863 | Airbase 76 864 | 865 | * Exclude Java 9 module-info.class from duplicate finder 866 | * Dependency updates: 867 | - SpotBugs annotations 3.1.0 (from 3.1.0-RC5) 868 | - cglib 3.2.5 (from 2.2.2) 869 | * Plugin updates: 870 | - SpotBugs 3.1.0-RC8 (from 3.1.0-RC4) 871 | - Javadoc 3.0.0 (from 2.9) 872 | - duplicate-finder 1.2.1 (from 1.0.6) 873 | 874 | Airbase 75 875 | 876 | * Enable compiled metadata for reflection on method parameters 877 | 878 | Airbase 74 879 | 880 | * Dependency updates: 881 | - Logback 1.2.3 (from 1.0.13) 882 | 883 | Airbase 73 884 | 885 | * Remove support for JUnit 5 886 | 887 | Airbase 72 888 | 889 | * Revert using Nexus Staging plugin 890 | 891 | Airbase 71 892 | 893 | * Use Nexus Staging plugin instead maven-deploy-plugin 894 | * Dependency updates: 895 | - javax.ws.rs-api 2.1 (from 2.0.1) 896 | 897 | Airbase 70 898 | 899 | * Plugin updates: 900 | - maven-deploy-plugin 2.8.2 (from 2.7) 901 | - maven-clean-plugin 3.0.0 (from 2.5) 902 | - maven-install-plugin 2.5.2 (from 2.4) 903 | 904 | Airbase 69 905 | 906 | * Plugin updates: 907 | - Surefire 2.20.1 (from 2.20) 908 | - JUnit Jupiter Engine 5.0.0 (from 5.0.0-RC2) 909 | - JUnit Platform Surefire Provider (from 1.0.0-RC2) 910 | 911 | Airbase 68 912 | 913 | * Add support for JUnit 5 914 | * Add dependency-scope as a basic checker 915 | * Dependency updates: 916 | - SLF4J 1.7.25 (from 1.7.12) 917 | * Plugin updates: 918 | - Surefire 2.20 (from 2.19.1) 919 | 920 | Airbase 67 921 | 922 | * Ban `com.google.code.findbugs:annotations` dependency 923 | * Add dependencies: 924 | - FindBugs / SpotBugs annotations 3.1.0-RC5 925 | - JSR-305 annotations 3.0.2 926 | 927 | Airbase 66 928 | 929 | * Remove deprecated oss-parent POM 930 | * Use `ossrh` as the ID for both deployment repositories 931 | * Migrate from FindBugs to SpotBugs 932 | * Plugin updates: 933 | - Enforcer 3.0.0-M1 (from 1.2) 934 | 935 | Airbase 65 936 | 937 | * Add `eclipse-compiler` profile for building with Eclipse compiler 938 | * Add `errorprone-compiler` profile for building with Error Prone compiler 939 | * Plugin updates: 940 | - compiler 3.6.2 (from 3.0) 941 | 942 | Airbase 64 943 | 944 | * Dependency updates: 945 | - Joda-Time 2.9.9 (from 2.8.2) 946 | 947 | Airbase 63 948 | 949 | * Plugin updates: 950 | - FindBugs 3.0.4 (from 2.5.2) 951 | - PMD 3.7 (from 3.0.1) 952 | - JaCoCo 0.7.9 (from 0.7.5.201505241946) 953 | 954 | Airbase 62 955 | 956 | * Dependency updates: 957 | - Guava 21.0 (from 20.0) 958 | 959 | Airbase 61 960 | 961 | * Add Modernizer as an extended checker 962 | 963 | Airbase 60 964 | 965 | * Add dependencies: 966 | - AssertJ Core 3.5.2 967 | - AssertJ Guava 3.1.0 968 | - AssertJ Joda-Time 2.0.0 969 | - AssertJ DB 1.1.1 970 | * Dependency updates: 971 | - Guava 20.0 (from 18.0) 972 | 973 | Airbase 59 974 | 975 | * Remove air.test.fork-mode property 976 | * Dependency updates: 977 | - JMH 1.15 (from 1.13) 978 | * Plugin updates: 979 | - Surefire 2.19.1 (from 2.14) 980 | 981 | Airbase 58 982 | 983 | * Plugin updates: 984 | - dependency-versions-check 2.0.4 (from 2.0.2) 985 | 986 | Airbase 57 987 | 988 | * Remove dependency for jackson-datatype-jdk7 989 | * Dependency updates: 990 | - Jackson 2.8.1 (from 2.4.4) 991 | 992 | Airbase 56 993 | 994 | * Dependency updates: 995 | - JMH 1.13 (from 1.9.3) 996 | - BVal 1.1.1 (from 0.5) 997 | 998 | Airbase 55 999 | 1000 | * Remove Jetty dependencies 1001 | * Remove Jersey dependencies 1002 | 1003 | Airbase 54 1004 | 1005 | * Dependency updates: 1006 | - Jetty 9.3.9.M1 (from 9.3.9.M0) 1007 | 1008 | Airbase 53 1009 | 1010 | * Add Jetty http2-server dependency 1011 | 1012 | Airbase 52 1013 | 1014 | * Add dependencies: 1015 | - Jetty http2-client 1016 | - Jetty http2-http-client-transport 1017 | * Dependency updates: 1018 | - Jetty 9.3.9.M0 (from 9.3.8.v20160314) 1019 | 1020 | Airbase 51 1021 | 1022 | * Add jersey-container-servlet dependency 1023 | * Dependency updates: 1024 | - Jersey 2.22.2 (from 2.12) 1025 | 1026 | Airbase 50 1027 | 1028 | * Dependency updates: 1029 | - Jetty 9.3.8.v20160314 (from 9.3.8.RC0) 1030 | 1031 | Airbase 49 1032 | 1033 | * Dependency updates: 1034 | - Jetty 9.3.8.RC0 (from 9.3.7.RC0) 1035 | 1036 | Airbase 48 1037 | 1038 | * Dependency updates: 1039 | - jmxutils 1.19 (from 1.18) 1040 | 1041 | Airbase 47 1042 | 1043 | * Dependency updates: 1044 | - Jetty 9.3.7.RC0 (from Jetty 9.2.11.v20150529) 1045 | 1046 | Airbase 46 1047 | 1048 | * Dependency updates: 1049 | - TestNG, exclude transitive guice dependency 1050 | 1051 | Airbase 45 1052 | 1053 | * Dependency updates: 1054 | - Jacoco 0.7.5.201505241946 (from 0.6.2.201302030002). Fixes a compatibility issue with Java 8 1055 | 1056 | Airbase 44 1057 | 1058 | * Dependency updates: 1059 | - TestNG 6.9.6 (from 6.8.7) 1060 | - Guice 4.0 (from 4.0-beta5) 1061 | 1062 | Airbase 43 1063 | 1064 | * Dependency updates: 1065 | - Joda 2.8.2 (from 2.8). Fixes a compatibility issue with Java 8u60 1066 | 1067 | Airbase 42 1068 | 1069 | * Allow configuring minimum Java version with air.java.version 1070 | 1071 | Airbase 41 1072 | 1073 | * Add dependency for jackson-datatype-jdk7 1074 | * Dependency updates: 1075 | - slf4j 1.7.12 (from 1.7.5) 1076 | 1077 | Airbase 40 1078 | 1079 | * Dependency updates: 1080 | - Jetty 9.2.11.v20150529 (from Jetty 9.2.11.M0) 1081 | * Add jmh 1.9.3 dependency 1082 | 1083 | Airbase 39 1084 | 1085 | * Dependency updates: 1086 | - Joda 2.8 (from 2.4) 1087 | 1088 | Airbase 38 1089 | 1090 | * JVM size can be configured running tests. 1091 | * Configure lint mode for Javadoc. 1092 | * Add CI profile that builds Javadoc. 1093 | 1094 | Airbase 37 1095 | 1096 | * Capture Git versioning information in jar manifest. 1097 | * Time zone, parallel and thread count can be configured for Surefire. 1098 | * Improve JDK logging format used when running tests. 1099 | 1100 | Airbase 36 1101 | 1102 | * Dependency updates: 1103 | - Jetty 9.2.11.M0 (from 9.2.10.v20150310) 1104 | 1105 | Airbase 35 1106 | 1107 | * Dependency updates: 1108 | - Jetty 9.2.10.v20150310 (from 9.2.8.v20150217) 1109 | 1110 | Airbase 34 1111 | 1112 | * Dependency updates: 1113 | - Guice 4.0-beta5 (from 3.0) 1114 | 1115 | Airbase 33 1116 | 1117 | * Dependency updates: 1118 | - Jetty 9.2.8.v20150217 (from 9.2.2.v20140723) 1119 | 1120 | Airbase 32 1121 | 1122 | * Dependency updates: 1123 | - Slice 0.10 (from 0.6) 1124 | - maven-dependency-plugin 2.10 (from 2.9). 1125 | 1126 | Airbase 31 1127 | 1128 | * Fix dependency jackson-module-parameter-names 1129 | * Add ANTLR files to license checker 1130 | 1131 | Airbase 30 1132 | 1133 | * Use Java 8 by default 1134 | * Add dependencies: 1135 | - jackson-datatype-jdk8 1136 | - jackson-datatype-jsr310 1137 | - jackson-module-parameter-names 1138 | * Dependency updates: 1139 | - Jackson 2.4.4 (from 2.4.2) 1140 | 1141 | Airbase 29 1142 | 1143 | * Dependency updates: 1144 | - maven-dependency-plugin 2.9 (from 2.8). This version is compatible with Java 8 1145 | 1146 | Airbase 28 1147 | 1148 | * Dependency updates: 1149 | - Guava 18.0 (from 16.0.1) 1150 | 1151 | Airbase 27 1152 | 1153 | * Set minimum Maven version to 3.2.3 1154 | * Exclude .sql files from license checker 1155 | 1156 | Airbase 26 1157 | 1158 | * Dependency updates: 1159 | - Jetty 9.2.2.v20140723 (from 9.1.4.v20140401) 1160 | - Jersey 2.12 (from 2.9.1) 1161 | - Jackson 2.4.2 (from 2.1.4 and 2.1.2) 1162 | 1163 | Airbase 25 1164 | 1165 | * Dependency updates: 1166 | - joda-time 2.4 (from 2.1) 1167 | 1168 | Airbase 24 1169 | 1170 | * Add dependencies for javax.annotation-api and javax.ws.rs-api 1171 | * Dependency updates: 1172 | - Jersey 2.9.1 (from 1.17.1) 1173 | 1174 | Airbase 23 1175 | 1176 | * Dependency updates: 1177 | - findbugs-annotations 2.0.3 (from 2.0.2) 1178 | 1179 | Airbase 22 1180 | 1181 | * Dependency updates: 1182 | - jmxutils 1.18 (from 1.16) 1183 | - slice 0.6 (from 0.5) 1184 | - packaging 0.91 (from 0.82) 1185 | 1186 | Airbase 21 1187 | 1188 | * Ignore conflicting THIRD-PARTY in resources 1189 | 1190 | Airbase 20 1191 | 1192 | * Add dependencies for jetty-client and jetty-io 1193 | 1194 | Airbase 19 1195 | 1196 | * Dependency updates: 1197 | - Jetty 9.1.4.v20140401 (from Jetty 9.1.3.v20140225) 1198 | 1199 | Airbase 18 1200 | 1201 | * Add dependency for io.airlift:slice:0.5 1202 | * Dependency updates: 1203 | - jmxutils 1.16 (from 1.14) 1204 | - Jetty 9.1.3.v20140225 (from 9.1.2.v20140210) 1205 | 1206 | Airbase 17 1207 | 1208 | * Update release plugin to 2.5 1209 | 1210 | Airbase 16 1211 | 1212 | * Fix dependency checker for Airlift HTTP libraries 1213 | * Add OSS snapshots as a plugin repository 1214 | * Update OSS base POM to 9 1215 | * Dependency updates: 1216 | - javax.servlet 3.1.0 (from 3.0.1) 1217 | - Jetty 9.1.2.v20140210 (from 8.1.9.v20130131) 1218 | * Plugin updates: 1219 | - dependency 2.8 (from 2.7) 1220 | - duplicate-finder 1.0.6 (from 1.0.4) 1221 | 1222 | Airbase 15 1223 | 1224 | * Set minimum Maven version to 3.1.1 1225 | 1226 | Airbase 14 1227 | 1228 | * Set memory size for compiler by enabling fork mode 1229 | * Remove dependency ban for junit 4.11+ 1230 | * Dependency updates: 1231 | - findbugs-annotations 2.0.2 (from 2.0.1) 1232 | - jmxutils 1.14 (from 1.13) 1233 | - testng 6.8.7 (from 6.8) 1234 | - guava 16.0.1 (from 15.0) 1235 | 1236 | Airbase 13 1237 | 1238 | * Update airlift version to 0.82 to avoid launcher bug 1239 | * Remove parameters from SCM configuration 1240 | * Dependency updates: 1241 | - Guava 15.0 (from 14.0.1) 1242 | - slf4j 1.7.5 (from 1.7.2) 1243 | - logback 1.0.13 (from 1.0.8) 1244 | - validation-api 1.1.0.Final (from 1.0.0.GA) 1245 | 1246 | Airbase 12 1247 | 1248 | * Fix building in Eclipse 1249 | 1250 | Airbase 11 1251 | 1252 | * Run checks in the earliest possible phase 1253 | 1254 | Airbase 10 1255 | 1256 | * Update license plugin to 2.3 1257 | 1258 | Airbase 9 1259 | 1260 | * Update airlift version to 0.80 to avoid launcher bug 1261 | 1262 | Airbase 8 1263 | 1264 | * Update build-airlift for launcher rewrite 1265 | 1266 | Airbase 7 1267 | 1268 | * Remove erroneous git commit info from jar versions 1269 | * Remove mavanagaiata plugin 1270 | 1271 | Airbase 6 1272 | 1273 | * Dependency updates: 1274 | - Guava 14.0.1 (from 14.0) 1275 | * Ban former experimental airlift modules 1276 | * Updated release plugin from 2.2.2 to 2.3.2 1277 | * Updated surefire plugin from 2.13 to 2.14 1278 | * set goal and arguments for release plugin 1279 | 1280 | Airbase 5 1281 | 1282 | * Updated pmd plugin to 3.0.1 from 3.0 1283 | * Updated dependency plugin to 2.7 from 2.6 1284 | * Added rule to enforce main class property being present when building airlift package. 1285 | * Added slf4j-jdk14 to the list of managed dependencies. 1286 | 1287 | Airbase 4 1288 | 1289 | * [BUGFIX] build-airlift profile puts main class and classpath into the main jar. 1290 | 1291 | Airbase 3 1292 | 1293 | * Fork mode can be configured with air.test.fork-mode. 1294 | * Re-enable mavanagaiata plugin to add git information to built jars 1295 | * Add profile to build a tarball using airlift packaging. 1296 | 1297 | * Dependency updates: 1298 | - Jersey 1.17.1 (from 1.17) 1299 | - Guava 14.0 (from 13.0.1) 1300 | - Jackson core, databind, dataformat-smile 2.1.4 (from 2.1.3) 1301 | - Jackson annotations 2.1.4 (from 2.1.2) 1302 | 1303 | * Plugin updates: 1304 | - dependency plugin 2.7 (from 2.6) 1305 | 1306 | Airbase 2 1307 | 1308 | * Bug fix: air.check.skip-jacoco did not work 1309 | 1310 | Airbase 1 1311 | 1312 | * Initial release 1313 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Airbase 2 | [![Maven Central](https://img.shields.io/maven-central/v/io.airlift/airbase.svg?label=Maven%20Central)](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.airlift%22%20AND%20a%3A%22airbase%22) 3 | [![Build Status](https://github.com/airlift/airbase/actions/workflows/ci.yml/badge.svg)](https://github.com/airlift/airbase/actions/workflows/ci.yml?query=event%3Apush+branch%3Amaster) 4 | 5 | ## Usage 6 | 7 | Add Airbase as the parent to a project: 8 | 9 | ```xml 10 | 11 | io.airlift 12 | airbase 13 | ... current pom release version ... 14 | 15 | ``` 16 | 17 | ## Project pom structure 18 | 19 | The following elements should be present in a pom using Airbase as parent: 20 | 21 | * `groupId`, `artifactId`, `version`, `packaging`, `name`, `description` and `inceptionYear` 22 | 23 | Define the new project. These elements should always be present. If any of those fields are missing from the project, 24 | the values from Airbase are picked up instead. 25 | 26 | * `scm` 27 | 28 | Defines the SCM location and URL for the project. This is required to use the `release:prepare` and `release:perform` targets 29 | to deploy artifacts to Maven Central. 30 | 31 | * `organization`, `developers`, `distributionManagement` 32 | 33 | Empty elements override the values inherited from Airbase. 34 | 35 | This is a sample skeleton pom using Airbase: 36 | 37 | ```xml 38 | 39 | 42 | 43 | 4.0.0 44 | 45 | 46 | io.airlift 47 | airbase 48 | ... current version ... 49 | 50 | 51 | ... group id of the new project ... 52 | ... artifact id of the new project ... 53 | ... version of the new project ... 54 | ... jar|pom ... 55 | ... description of the new project ... 56 | ${project.artifactId} 57 | 2013 58 | 59 | 60 | ... scm read only connection ... 61 | ... scm read write connection ... 62 | ... project url ... 63 | 64 | 65 | 66 | 67 | 68 | ... 69 | 70 | ``` 71 | 72 | ## Project POM conventions 73 | 74 | In large maven projects, especially with multi-module builds, the pom files can become quite large. In many places, properties defined in the `` section of the pom are used. 75 | 76 | To avoid confusion with properties, the following conventions are used in Airbase: 77 | 78 | * Properties defined in the POM that influence the build configuration are prefixed with `air`. 79 | * Properties that factor out plugin versions (because the plugin is used in multiple places in the POM and the versions should be uniform) start with `dep.plugin` and end with `version`. 80 | * Properties that factor out dependency versions (to enforce uniform dependency versions across multiple, related dependencies) start with `dep` and end with `version`. 81 | 82 | Examples: 83 | 84 | ```xml 85 | 86 | 87 | 3.0.4 88 | 89 | 90 | 2.13 91 | 92 | 93 | 3.0 94 | 95 | ``` 96 | 97 | 98 | ## Deploy to Maven Central (oss.sonatype.org) 99 | 100 | Airbase is intended for open source projects that should be deployed to Maven Central. 101 | 102 | As described in the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html), the `ossrh` repository must be configured: 103 | 104 | ```xml 105 | 106 | ... 107 | 108 | ossrh 109 | user 110 | password 111 | 112 | ... 113 | 114 | ``` 115 | 116 | 117 | ## Project Build and Checkers 118 | 119 | Airbase hooks various checkers into the build lifecycle and executes them on each build. 120 | 121 | Generally speaking, running a set of checks at each build is a good way to catch problems early and any problem reported by a checker should be treated as something that needs to be fixed before releasing. 122 | 123 | Checkers are organized in two groups, basic and extended. 124 | 125 | ### Basic checkers 126 | * Maven Enforcer (http://maven.apache.org/enforcer/maven-enforcer-plugin/) 127 | * Maven Dependencies (http://maven.apache.org/plugins/maven-dependency-plugin/) 128 | * Maven Duplicate finder (https://github.com/basepom/duplicate-finder-maven-plugin) 129 | * Maven Dependency scope (https://github.com/basepom/maven-plugins) 130 | 131 | ### Extended checkers 132 | * SpotBugs (https://spotbugs.github.io/) 133 | * PMD (http://maven.apache.org/plugins/maven-pmd-plugin/) 134 | * License check (http://code.mycila.com/license-maven-plugin/) 135 | * Code coverage (http://www.eclemma.org/jacoco/trunk/doc/maven.html) 136 | * Modernizer (https://github.com/andrewgaul/modernizer-maven-plugin) 137 | * Checkstyle (https://maven.apache.org/plugins/maven-checkstyle-plugin/) 138 | 139 | All checkers are enabled by default and will fail the build if a problem is encountered. 140 | 141 | Each checker has a switch to turn it on or off and also whether a problem will be a warning or fatal to the build. 142 | 143 | ```xml 144 | ... 145 | 146 | 147 | true 148 | 149 | ... 150 | ``` 151 | 152 | The following switches exist: 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 |
GroupCheckSkip check (Setting to true skips the check)Fail build (Setting to false only reports a warning)
BasicMaven Enforcerair.check.skip-enforcerair.check.fail-enforcer
BasicMaven Dependenciesair.check.skip-dependencyair.check.fail-dependency
BasicMaven Duplicate finderair.check.skip-duplicate-finderair.check.fail-duplicate-finder
BasicMaven Dependency scopeair.check.skip-dependency-scopeair.check.fail-dependency-scope
ExtendedSpotBugsair.check.skip-spotbugsair.check.fail-spotbugs
ExtendedPMDair.check.skip-pmdair.check.fail-pmd
ExtendedLicense checkair.check.skip-licenseair.check.fail-license
ExtendedCode coverageair.check.skip-jacocoair.check.fail-jacoco
ExtendedModernizerair.check.skip-modernizerair.check.fail-modernizer
ExtendedCheckstyleair.check.skip-checkstyleair.check.fail-checkstyle
222 | 223 | Checks can be turned on and off in groups: 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 |
GroupSkip checksFail build
All Checksair.check.skip-allair.check.fail-all
All Basic checksair.check.skip-basicair.check.fail-basic
All Extended Checksair.check.skip-extendedair.check.fail-extended
247 | 248 | A more specific setting (checker specific, then group, then all) overrides a more general setting: 249 | 250 | ```xml 251 | ... 252 | 253 | true 254 | false 255 | 256 | ... 257 | ``` 258 | will skip *all* checks except the duplicate finder. 259 | 260 | 261 | ### Checker notes 262 | 263 | #### License checker 264 | 265 | To ensure that a project has an uniform license header in all source files, the Maven license plugin can be used to check and format license headers. 266 | 267 | The plugin expects the license header file as `src/license/LICENSE-HEADER.txt` in the root folder of a project. 268 | 269 | For a multi-module project, this file should exist only once, in the root pom of the project. In all other sub-modules, add 270 | 271 | ```xml 272 | 273 | ${project.parent.basedir} 274 | 275 | ``` 276 | 277 | to each pom. This is a limitation of the Maven multi-module build process (see http://stackoverflow.com/questions/1012402/maven2-property-that-indicates-the-parent-directory for details). 278 | 279 | #### Enforcer checker 280 | 281 | The Enforcer plugin outlaws a number of dependencies that project might use for various reasons: 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 |
Outlawed dependencyRationaleWhat to use
commons-logging:commons-logging-apiIll-fated attempt to split commons-logging implementation and commons-logging API.commons-logging:commons-logging
junit:junitHas all its dependencies packed inside, therefore leads to duplicate classes.junit:junit-dep
com.google.collections:google-collectionsSuperseded by Guava, duplicate classes with Guava.com.google.guava:guava
com.google.code.findbugs:annotationsContains FindBugs annotations, JSR-305 and JCIP annotations.com.github.spotbugs:spotbugs-annotations

com.google.code.findbugs:jsr305

org.eclipse.jetty.orbit:javax.servlet
javax.servlet:javax.servlet-api
Unsupported variants of Servlet API jar.org.eclipse.jetty.toolchain:jetty-jakarta-servlet-api
315 | 316 | 317 | ## Well known dependencies 318 | 319 | Airbase provides a number of dependencies to projects. These dependencies are considered "well known and stable". When a project wants to use any of these dependencies, it can declare them in the project `` section without a version and automatically pick it up from Airbase. 320 | 321 | Airbase provides versions for the following well-known dependencies: 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 |
Dependency nameGroup/Artifact Ids
Google Guicecom.google.inject:guice

com.google.inject.extensions:guice-servlet

com.google.inject.extensions:guice-assistedinject

com.google.inject.extensions:guice-throwingproviders

Google Guavacom.google.guava:guava
Joda Timejoda-time:joda-time
Jakarta EE Inject APIjakarta.inject:jakarta.inject-api
Jakarta EE Servlet APIorg.eclipse.jetty.toolchain:jetty-jakarta-servlet-api
Java Validation APIjavax.validation:validation-api
slf4j (Simple Logging Facade for Java)org.slf4j:slf4j-api

org.slf4j:slf4j-nop

org.slf4j:slf4j-simple

org.slf4j:slf4j-ext

org.slf4j:jcl-over-slf4j

org.slf4j:jul-to-slf4j

org.slf4j:log4j-over-slf4j

org.slf4j:slf4j-jdk14

Logbackch.qos.logback:logback-core

ch.qos.logback:logback-classic

Jacksoncom.fasterxml.jackson.core:jackson-annotations

com.fasterxml.jackson.core:jackson-core

com.fasterxml.jackson.core:jackson-databind

com.fasterxml.jackson.datatype:jackson-datatype-guava

com.fasterxml.jackson.datatype:jackson-datatype-joda

com.fasterxml.jackson.dataformat:jackson-dataformat-smile

Bean Validation Frameworkorg.apache.bval:bval-jsr
JmxUtilsorg.weakref:jmxutils
Joda Timejoda-time:joda-time
FindBugs / SpotBugs Annotationscom.github.spotbugs:spotbugs-annotations
JSR-305 Annotationscom.google.code.findbugs:jsr305
TestNG testingorg.testng:testng
AssertJorg.assertj:assertj-core
Airlift Sliceio.airlift:slice
394 | 395 | 396 | 397 | ## Other properties 398 | 399 | These are default properties that affect some aspects of the build. All of them can be overriden in the `` section of the project pom. 400 | 401 | ## project.build.targetJdk 402 | 403 | By default, Airbase enforces JDK 1.8. To use another version, add 404 | 405 | ```xml 406 | 407 | 1.6 408 | ... 409 | 410 | ``` 411 | 412 | 413 | ### air.build.jvmsize 414 | 415 | Sets the default heap size for the compiler, javadoc generation and other plugins. Default is 1024M. 416 | 417 | ### air.release.push-changes 418 | 419 | When a project creates a release using the maven-release-plugin and `mvn release:prepare`, this switch controls whether the generated tags, modified POM files etc. are pushed automatically to the upstream repository or not. Default is `false` (do not push the changes). 420 | 421 | ### air.maven.version 422 | 423 | The minimum version of Maven to build a project. Default is "3.0". 424 | 425 | ### air.main.basedir 426 | 427 | The 'root' directory of a project. For a simple project, this is identical to `project.basedir`. In a multi-module build, it should point at the root project. 428 | 429 | For a multi-module project, all other sub-modules must have this explicitly set to the root directory and therefore the following code 430 | 431 | ```xml 432 | 433 | ${project.parent.basedir} 434 | 435 | ``` 436 | 437 | must be added to each pom. This is a limitation of the Maven multi-module build process (see http://stackoverflow.com/questions/1012402/maven2-property-that-indicates-the-parent-directory for details). 438 | 439 | 440 | 441 | ## Deploy profiles 442 | 443 | ### airlift packaging build 444 | 445 | A module or sub-module can produce a tarball using the airlift packaging. This profile is activated by creating a file `.build-airlift` in the root of the module or submodule. This file 446 | can be empty. The tarball is attached as an additional artifact. 447 | 448 | The necessary launchers from the airlift launcher package are included. The version of the launcher included is controlled by the `dep.packaging.version` property. 449 | 450 | 451 | -------------------------------------------------------------------------------- /airbase-policy/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.airlift 7 | airbase-root 8 | 266-SNAPSHOT 9 | 10 | 11 | airbase-policy 12 | 13 | Policy files for Airbase 14 | 15 | 16 | UTF-8 17 | 2025-06-04T11:33:43Z 18 | 19 | 20 | -------------------------------------------------------------------------------- /airbase-policy/src/main/resources/checkstyle/airbase-checks.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | -------------------------------------------------------------------------------- /airbase-policy/src/main/resources/license/apache-copyright-header.txt: -------------------------------------------------------------------------------- 1 | COPYRIGHT_SECTION 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /airbase-policy/src/main/resources/license/apache-header.txt: -------------------------------------------------------------------------------- 1 | Licensed under the Apache License, Version 2.0 (the "License"); 2 | you may not use this file except in compliance with the License. 3 | You may obtain a copy of the License at 4 | 5 | http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | -------------------------------------------------------------------------------- /airbase/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | io.airlift 6 | airbase 7 | 266-SNAPSHOT 8 | pom 9 | 10 | airbase 11 | Base POM for Airlift 12 | https://github.com/airlift/airbase 13 | 14 | 2013 15 | 16 | 17 | 18 | Apache License 2.0 19 | http://www.apache.org/licenses/LICENSE-2.0 20 | repo 21 | 22 | 23 | 24 | 25 | 26 | 27 | Airlift 28 | 29 | 30 | 31 | 32 | scm:git:git@github.com/airlift/airbase.git 33 | scm:git:git@github.com:airlift/airbase.git 34 | HEAD 35 | https://github.com/airlift/airbase 36 | 37 | 38 | 39 | 40 | ${air.repository.release.id} 41 | ${air.repository.release.name} 42 | ${air.repository.release.url} 43 | 44 | 45 | ${air.repository.snapshot.id} 46 | ${air.repository.snapshot.name} 47 | ${air.repository.snapshot.url} 48 | 49 | 50 | 51 | 52 | 53 | UTF-8 54 | 8 55 | UTF-8 56 | UTF-8 57 | 2025-06-04T11:33:43Z 58 | 59 | 60 | 61 | 62 | 1024m 63 | 64 | 65 | 66 | false 67 | true 68 | oss-release 69 | clean install 70 | @{project.version} 71 | 72 | 73 | 1 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | UTC 82 | 83 | 84 | en 85 | 86 | 87 | US 88 | 89 | 90 | ${air.build.jvmsize} 91 | 92 | 93 | 94 | 95 | 96 | all 97 | 98 | 99 | ${project.build.targetJdk} 100 | 101 | 102 | false 103 | 104 | 105 | false 106 | 107 | 108 | false 109 | 110 | 111 | 112 | false 113 | 114 | ${air.check.skip-all} 115 | 116 | ${air.check.skip-all} 117 | 118 | 119 | ${air.check.skip-basic} 120 | ${air.check.skip-basic} 121 | ${air.check.skip-basic} 122 | ${air.check.skip-basic} 123 | 124 | 125 | ${air.check.skip-extended} 126 | ${air.check.skip-extended} 127 | ${air.check.skip-extended} 128 | ${air.check.skip-extended} 129 | ${air.check.skip-extended} 130 | ${air.check.skip-extended} 131 | 132 | 133 | true 134 | ${air.check.fail-all} 135 | ${air.check.fail-all} 136 | 137 | 138 | ${air.check.fail-basic} 139 | ${air.check.fail-basic} 140 | ${air.check.fail-basic} 141 | ${air.check.fail-basic} 142 | 143 | 144 | ${air.check.fail-extended} 145 | ${air.check.fail-extended} 146 | ${air.check.fail-extended} 147 | ${air.check.fail-extended} 148 | ${air.check.fail-basic} 149 | 150 | 151 | 3.9.8 152 | 153 | 154 | 17 155 | 156 | 157 | 158 | ${project.basedir} 159 | 160 | 162 | 163 | 164 | 165 | 3.7.1 166 | 3.6.0 167 | 3.6.0 168 | 3.5.0 169 | 9.0.2 170 | 3.14.0 171 | 3.8.1 172 | 1.0.3 173 | 3.1.4 174 | 2.0.1 175 | 3.5.0 176 | 1.10.0 177 | 3.2.7 178 | 3.1.4 179 | 0.8.13 180 | 3.4.2 181 | 3.11.2 182 | 5.0.0 183 | 3.1.0 184 | 7.14.0 185 | 3.26.0 186 | 3.1.1 187 | 3.3.1 188 | 2.6.1 189 | 2.1.0 190 | 3.6.0 191 | 3.21.0 192 | 4.0.0 193 | 3.3.1 194 | 4.9.3.0 195 | 3.5.3 196 | 197 | 198 | 335 199 | 200 | 201 | 9.8 202 | 3.27.3 203 | 1.17.5 204 | 10.25.0 205 | 2.38.0 206 | 33.4.8-jre 207 | 7.0.0 208 | 9.0.0.Final 209 | 2.19.0 210 | 3.0.0 211 | 2.0.1 212 | 3.1.0 213 | 6.0.0 214 | 3.1.1 215 | 4.0.2 216 | 12.0.22 217 | 1.37 218 | 1.26 219 | 2.14.0 220 | 3.0.2 221 | 222 | 5.13.0 223 | 1.13.0 224 | 2.1.21 225 | 304 226 | 1.5.18 227 | 2.16.0 228 | 2.16.0-alpha 229 | 1.32.0 230 | 1.32.0-alpha 231 | 1.50.0 232 | 1.50.0-alpha 233 | 2.0.17 234 | 2.3 235 | 4.9.3 236 | 6.10 237 | 238 | 239 | ${project.organization.name} 240 | Copyright (C) ${project.inceptionYear} ${air.license.owner} 241 | Copyright \(C\) \d{4} .+ 242 | license/apache-header.txt 243 | false 244 | 245 | 246 | checkstyle/airbase-checks.xml 247 | 248 | 249 | README.txt 250 | txt 251 | 252 | 253 | ossrh 254 | Sonatype Nexus Snapshots 255 | https://oss.sonatype.org/content/repositories/snapshots 256 | ossrh 257 | Sonatype Release Snapshots 258 | https://oss.sonatype.org/service/local/staging/deploy/maven2/ 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | com.fasterxml.jackson 268 | jackson-bom 269 | ${dep.jackson.version} 270 | pom 271 | import 272 | 273 | 274 | 275 | 276 | io.opentelemetry 277 | opentelemetry-bom 278 | ${dep.opentelemetry.version} 279 | pom 280 | import 281 | 282 | 283 | 284 | io.opentelemetry 285 | opentelemetry-bom-alpha 286 | ${dep.opentelemetry-alpha.version} 287 | pom 288 | import 289 | 290 | 291 | 292 | io.opentelemetry.instrumentation 293 | opentelemetry-instrumentation-bom 294 | ${dep.opentelemetry-instrumentation.version} 295 | pom 296 | import 297 | 298 | 299 | 300 | io.opentelemetry.instrumentation 301 | opentelemetry-instrumentation-bom-alpha 302 | ${dep.opentelemetry-instrumentation-alpha.version} 303 | pom 304 | import 305 | 306 | 307 | 308 | org.assertj 309 | assertj-bom 310 | ${dep.assertj-core.version} 311 | pom 312 | import 313 | 314 | 315 | 316 | org.eclipse.jetty 317 | jetty-bom 318 | ${dep.jetty.version} 319 | pom 320 | import 321 | 322 | 323 | 324 | org.eclipse.jetty.ee10 325 | jetty-ee10-bom 326 | ${dep.jetty.version} 327 | pom 328 | import 329 | 330 | 331 | 332 | 333 | org.jetbrains.kotlin 334 | kotlin-bom 335 | ${dep.kotlin.version} 336 | pom 337 | import 338 | 339 | 340 | 341 | org.junit 342 | junit-bom 343 | ${dep.junit.version} 344 | pom 345 | import 346 | 347 | 348 | 349 | ch.qos.logback 350 | logback-classic 351 | ${dep.logback.version} 352 | 353 | 354 | 355 | ch.qos.logback 356 | logback-core 357 | ${dep.logback.version} 358 | 359 | 360 | 361 | 362 | com.github.spotbugs 363 | spotbugs-annotations 364 | ${dep.spotbugs-annotations.version} 365 | 366 | 367 | 368 | 369 | com.google.code.findbugs 370 | jsr305 371 | ${dep.jsr305.version} 372 | 373 | 374 | 375 | 376 | com.google.errorprone 377 | error_prone_annotations 378 | ${dep.errorprone.version} 379 | 380 | 381 | 382 | 383 | com.google.guava 384 | guava 385 | ${dep.guava.version} 386 | 387 | 388 | 389 | com.google.guava 390 | listenablefuture 391 | 392 | 393 | 394 | 395 | 396 | com.google.inject 397 | guice 398 | ${dep.guice.version} 399 | 400 | 401 | com.google.inject.extensions 402 | guice-assistedinject 403 | ${dep.guice.version} 404 | 405 | 406 | com.google.inject.extensions 407 | guice-servlet 408 | ${dep.guice.version} 409 | 410 | 411 | com.google.inject.extensions 412 | guice-throwingproviders 413 | ${dep.guice.version} 414 | 415 | 416 | 417 | io.airlift 418 | slice 419 | ${dep.slice.version} 420 | 421 | 422 | 423 | io.opentelemetry.semconv 424 | opentelemetry-semconv 425 | ${dep.opentelemetry-semconv.version} 426 | 427 | 428 | 429 | io.opentelemetry.semconv 430 | opentelemetry-semconv-incubating 431 | ${dep.opentelemetry-semconv-incubating.version} 432 | 433 | 434 | 435 | jakarta.annotation 436 | jakarta.annotation-api 437 | ${dep.jakarta.annotation-api.version} 438 | 439 | 440 | 441 | jakarta.inject 442 | jakarta.inject-api 443 | ${dep.jakarta.inject-api.version} 444 | 445 | 446 | 447 | 448 | jakarta.servlet 449 | jakarta.servlet-api 450 | ${dep.jakarta.servlet-api.version} 451 | 452 | 453 | 454 | jakarta.validation 455 | jakarta.validation-api 456 | ${dep.jakarta.validation-api.version} 457 | 458 | 459 | 460 | jakarta.ws.rs 461 | jakarta.ws.rs-api 462 | ${dep.jakarta.rs-ws-api.version} 463 | 464 | 465 | 466 | 467 | jakarta.xml.bind 468 | jakarta.xml.bind-api 469 | ${dep.jakarta.xml-bind-api.version} 470 | 471 | 472 | 473 | joda-time 474 | joda-time 475 | ${dep.joda.version} 476 | 477 | 478 | 479 | net.bytebuddy 480 | byte-buddy 481 | ${dep.byte-buddy.version} 482 | 483 | 484 | 485 | 486 | org.gaul 487 | modernizer-maven-annotations 488 | ${dep.plugin.modernizer.version} 489 | 490 | 491 | 492 | org.hibernate.validator 493 | hibernate-validator 494 | ${dep.hibernate-validator.version} 495 | 496 | 497 | 498 | 499 | org.openjdk.jmh 500 | jmh-core 501 | ${dep.jmh.version} 502 | 503 | 504 | 505 | org.openjdk.jmh 506 | jmh-generator-annprocess 507 | ${dep.jmh.version} 508 | 509 | 510 | org.slf4j 511 | jcl-over-slf4j 512 | ${dep.slf4j.version} 513 | 514 | 515 | org.slf4j 516 | jul-to-slf4j 517 | ${dep.slf4j.version} 518 | 519 | 520 | org.slf4j 521 | log4j-over-slf4j 522 | ${dep.slf4j.version} 523 | 524 | 525 | 526 | 527 | org.slf4j 528 | slf4j-api 529 | ${dep.slf4j.version} 530 | 531 | 532 | org.slf4j 533 | slf4j-ext 534 | ${dep.slf4j.version} 535 | 536 | 537 | org.slf4j 538 | slf4j-jdk14 539 | ${dep.slf4j.version} 540 | 541 | 542 | org.slf4j 543 | slf4j-nop 544 | ${dep.slf4j.version} 545 | 546 | 547 | org.slf4j 548 | slf4j-simple 549 | ${dep.slf4j.version} 550 | 551 | 552 | 553 | 554 | org.testng 555 | testng 556 | ${dep.testng.version} 557 | 558 | 559 | com.google.inject 560 | guice 561 | 562 | 563 | junit 564 | junit 565 | 566 | 567 | 568 | 569 | 570 | org.weakref 571 | jmxutils 572 | ${dep.jmxutils.version} 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | false 581 | 582 | 583 | true 584 | 585 | sonatype-nexus-snapshots 586 | Sonatype Nexus Snapshots 587 | https://oss.sonatype.org/content/repositories/snapshots 588 | 589 | 590 | 591 | 592 | 593 | 594 | false 595 | 596 | 597 | true 598 | 599 | sonatype-nexus-snapshots 600 | Sonatype Nexus Snapshots 601 | https://oss.sonatype.org/content/repositories/snapshots 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | com.github.ekryd.sortpom 611 | sortpom-maven-plugin 612 | ${dep.plugin.sortpom.version} 613 | 614 | false 615 | 4 616 | true 617 | scope,groupId,artifactId 618 | groupId,artifactId 619 | true 620 | false 621 | Strict 622 | Stop 623 | 624 | 625 | 626 | 627 | verify 628 | 629 | validate 630 | 631 | 632 | 633 | 634 | org.apache.maven.plugins 635 | maven-scm-plugin 636 | ${dep.plugin.scm.version} 637 | 638 | developerConnection 639 | 640 | 641 | 642 | 643 | org.apache.maven.plugins 644 | maven-deploy-plugin 645 | ${dep.plugin.deploy.version} 646 | 647 | 648 | 649 | org.apache.maven.plugins 650 | maven-clean-plugin 651 | ${dep.plugin.clean.version} 652 | 653 | 654 | 655 | org.apache.maven.plugins 656 | maven-install-plugin 657 | ${dep.plugin.install.version} 658 | 659 | 660 | 661 | org.codehaus.mojo 662 | build-helper-maven-plugin 663 | ${dep.plugin.build-helper.version} 664 | 665 | 666 | 667 | org.apache.maven.plugins 668 | maven-enforcer-plugin 669 | ${dep.plugin.enforcer.version} 670 | 671 | ${air.check.skip-enforcer} 672 | ${air.check.fail-enforcer} 673 | false 674 | 675 | 676 | 677 | 678 | 679 | commons-logging:commons-logging-api 680 | 681 | junit:junit 682 | 683 | com.google.collections:google-collections 684 | 685 | com.google.guava:guava 686 | 687 | com.google.guava:listenablefuture 688 | 689 | com.google.code.findbugs:annotations 690 | 691 | javax.servlet:javax.servlet-api 692 | org.eclipse.jetty.orbit:javax.servlet 693 | 694 | io.airlift:discovery-experimental 695 | io.airlift:event-experimental 696 | io.airlift:http-client-experimental 697 | io.airlift:jmx-http-experimental 698 | io.airlift:jmx-http-rpc-experimental 699 | io.airlift:rack-experimental 700 | io.airlift:rack-launcher-experimental 701 | io.airlift:rack-packaging-experimental 702 | io.airlift:rack-server-base-experimental 703 | 704 | org.apache.logging.log4j:log4j-core:(,2.15.0) 705 | 706 | 707 | 708 | com.google.guava:guava:[10.0.1,) 709 | 710 | junit:junit:[4.11,) 711 | 712 | 713 | 714 | 715 | 716 | ${air.maven.version} 717 | 718 | 719 | ${air.java.version} 720 | 721 | 722 | ${project.build.targetJdk} 723 | test 724 | 725 | org.eclipse.jetty:jetty-alpn-java-client 726 | org.eclipse.jetty:jetty-alpn-java-server 727 | 728 | 729 | 730 | Providing the plugin version explicitly makes the builds reproducible 731 | 732 | 733 | Importing internal classes is not allowed 734 | 735 | jdk.internal.** 736 | jdk.nashorn.internal.** 737 | 738 | org.glassfish.jersey.internal.guava.** 739 | org.glassfish.jersey.internal.util.** 740 | jersey.repackaged.** 741 | 742 | org.weakref.jmx.internal.** 743 | **.$internal.** 744 | 745 | 746 | 747 | Importing shaded classes is not allowed 748 | 749 | **.shaded.com.google.** 750 | **.shaded.okhttp3.** 751 | **.shaded.org.apache.** 752 | org.testcontainers.shaded.** 753 | 754 | 755 | 756 | Use javax.annotation.Nullable instead of org.jetbrains.annotations.Nullable 757 | 758 | org.jetbrains.annotations.Nullable 759 | 760 | 761 | 762 | Not null is the default for the codebase and should not be annotated 763 | 764 | org.jetbrains.annotations.NotNull 765 | 766 | 767 | 768 | Use org.testng.Assert instead of org.testng.AssertJUnit 769 | 770 | org.testng.AssertJUnit 771 | org.testng.AssertJUnit.* 772 | 773 | 774 | 775 | These classes were introduced to overcome type inference issues in Java 8, but the regular org.assertj.core.api.Assertions works just fine and has a richer API 776 | 777 | org.assertj.core.api.AssertionsForClassTypes 778 | org.assertj.core.api.AssertionsForClassTypes.* 779 | org.assertj.core.api.AssertionsForInterfaceTypes 780 | org.assertj.core.api.AssertionsForInterfaceTypes.* 781 | 782 | 783 | 784 | 785 | project.description 786 | PARENT 787 | 788 | 789 | 790 | 791 | 792 | de.skuzzle.enforcer 793 | restrict-imports-enforcer-rule 794 | ${dep.plugin.restrict-imports.version} 795 | 796 | 797 | org.codehaus.mojo 798 | extra-enforcer-rules 799 | ${dep.plugin.enforcer-extra.version} 800 | 801 | 802 | 803 | 804 | default 805 | 806 | enforce 807 | 808 | validate 809 | 810 | 811 | 812 | 813 | 814 | org.apache.maven.plugins 815 | maven-dependency-plugin 816 | ${dep.plugin.dependency.version} 817 | 818 | ${air.check.skip-dependency} 819 | ${air.check.fail-dependency} 820 | true 821 | 822 | 823 | 824 | org.ow2.asm 825 | asm 826 | ${dep.asm.version} 827 | 828 | 829 | 830 | 831 | default 832 | 833 | analyze-only 834 | analyze-duplicate 835 | 836 | process-test-classes 837 | 838 | 839 | 840 | 841 | 842 | 843 | org.apache.maven.plugins 844 | maven-compiler-plugin 845 | ${dep.plugin.compiler.version} 846 | 847 | ${project.build.targetJdk} 848 | ${project.build.targetJdk} 849 | ${project.build.sourceEncoding} 850 | ${air.compiler.fork} 851 | ${air.build.jvmsize} 852 | ${air.compiler.fail-warnings} 853 | true 854 | true 855 | true 856 | ${air.compiler.enable-preview} 857 | 858 | 859 | 860 | org.ow2.asm 861 | asm 862 | ${dep.asm.version} 863 | 864 | 865 | 866 | 867 | 868 | 869 | org.apache.maven.plugins 870 | maven-resources-plugin 871 | ${dep.plugin.resources.version} 872 | 873 | ${project.build.sourceEncoding} 874 | 875 | 876 | 877 | 878 | org.apache.maven.plugins 879 | maven-assembly-plugin 880 | ${dep.plugin.assembly.version} 881 | 882 | 883 | true 884 | 885 | posix 886 | 887 | 888 | 889 | 890 | org.apache.maven.plugins 891 | maven-surefire-plugin 892 | ${dep.plugin.surefire.version} 893 | 894 | 895 | ${project.build.sourceEncoding} 896 | ${air.test.timezone} 897 | true 898 | %1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS.%1$tL%1$tz %4$s %5$s%6$s%n 899 | 900 | false 901 | random 902 | true 903 | ${air.test.parallel} 904 | ${air.test.thread-count} 905 | 906 | 907 | @{argLine} 908 | 909 | -Duser.language=${air.test.language} 910 | -Duser.region=${air.test.region} 911 | -Dfile.encoding=${project.build.sourceEncoding} 912 | -Xmx${air.test.jvmsize} 913 | -Xms${air.test.jvmsize} 914 | -XX:+ExitOnOutOfMemoryError 915 | -XX:+HeapDumpOnOutOfMemoryError 916 | -XX:-OmitStackTraceInFastThrow 917 | ${surefireEnablePreview} 918 | ${air.test.jvm.additional-arguments} 919 | 920 | 921 | 922 | 923 | org.junit.platform 924 | junit-platform-engine 925 | ${dep.junit-platform.version} 926 | 927 | 928 | org.junit.platform 929 | junit-platform-launcher 930 | ${dep.junit-platform.version} 931 | 932 | 933 | 934 | 935 | 936 | org.apache.maven.plugins 937 | maven-release-plugin 938 | ${dep.plugin.release.version} 939 | 940 | ${air.release.release-profiles} 941 | ${air.release.auto-version-submodules} 942 | forked-path 943 | ${air.release.push-changes} 944 | true 945 | ${air.release.preparation-goals} 946 | ${air.release.tag-name-format} 947 | false 948 | deploy 949 | 950 | 951 | 952 | 953 | org.apache.maven.plugins 954 | maven-javadoc-plugin 955 | ${dep.plugin.javadoc.version} 956 | 957 | true 958 | ${project.build.targetJdk} 959 | ${project.build.sourceEncoding} 960 | ${air.build.jvmsize} 961 | ${air.javadoc.lint} 962 | true 963 | ${surefireEnablePreview} 964 | 965 | 966 | 967 | attach-javadocs 968 | 969 | jar 970 | 971 | verify 972 | 973 | 974 | 975 | 976 | 977 | 978 | org.apache.maven.plugins 979 | maven-jar-plugin 980 | ${dep.plugin.jar.version} 981 | 982 | 984 | true 985 | 986 | 987 | true 988 | true 989 | false 990 | 991 | 992 | 993 | ${git.commit.time} 994 | ${git.commit.id} 995 | ${git.commit.id.describe} 996 | 997 | 998 | 999 | 1000 | 1001 | attach-tests 1002 | 1003 | test-jar 1004 | 1005 | package 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | io.github.git-commit-id 1012 | git-commit-id-maven-plugin 1013 | ${dep.plugin.commit-id.version} 1014 | 1015 | 1016 | 1017 | \Qgit.commit.id 1018 | \Qgit.commit.id.describe 1019 | \Qgit.commit.time 1020 | 1021 | yyyy-MM-dd'T'HH:mm:ssXXX 1022 | UTC 1023 | 1024 | true 1025 | 1026 | true 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | org.apache.maven.plugins 1033 | maven-source-plugin 1034 | ${dep.plugin.source.version} 1035 | 1036 | 1037 | attach-sources 1038 | 1039 | jar-no-fork 1040 | test-jar-no-fork 1041 | 1042 | package 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | org.basepom.maven 1049 | duplicate-finder-maven-plugin 1050 | ${dep.plugin.duplicate-finder.version} 1051 | 1052 | ${air.check.skip-duplicate-finder} 1053 | ${air.check.fail-duplicate-finder} 1054 | 1055 | 1056 | 1057 | 1058 | 1059 | commons-beanutils 1060 | commons-beanutils 1061 | 1062 | 1063 | commons-beanutils 1064 | commons-beanutils-core 1065 | 1066 | 1067 | commons-collections 1068 | commons-collections 1069 | 1070 | 1071 | 1072 | org.apache.commons.collections.ArrayStack 1073 | org.apache.commons.collections.Buffer 1074 | org.apache.commons.collections.BufferUnderflowException 1075 | org.apache.commons.collections.FastHashMap 1076 | 1077 | 1078 | 1079 | 1080 | 1081 | commons-beanutils 1082 | commons-beanutils 1083 | 1084 | 1085 | commons-beanutils 1086 | commons-beanutils-core 1087 | 1088 | 1089 | 1090 | org.apache.commons.beanutils 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | org.jruby 1098 | jruby-complete 1099 | 1100 | 1101 | 1102 | .*\.html 1103 | META-INF/.* 1104 | about_files/.* 1105 | plugin\.properties 1106 | .*\.java 1107 | THIRD-PARTY 1108 | 1109 | 1110 | 1111 | 1112 | default 1113 | 1114 | check 1115 | 1116 | process-test-classes 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | org.basepom.maven 1123 | dependency-scope-maven-plugin 1124 | ${dep.plugin.dependency-scope.version} 1125 | 1126 | 1127 | 1128 | check 1129 | 1130 | 1131 | ${air.check.skip-dependency-scope} 1132 | ${air.check.fail-dependency-scope} 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | com.github.spotbugs 1140 | spotbugs-maven-plugin 1141 | ${dep.plugin.spotbugs.version} 1142 | 1143 | ${air.check.skip-spotbugs} 1144 | -Xmx${air.build.jvmsize} 1145 | ${air.check.fail-spotbugs} 1146 | 1147 | 1148 | 1149 | default 1150 | 1151 | check 1152 | 1153 | verify 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | org.apache.maven.plugins 1160 | maven-pmd-plugin 1161 | ${dep.plugin.pmd.version} 1162 | 1163 | ${air.check.skip-pmd} 1164 | ${air.check.fail-pmd} 1165 | ${project.build.targetJdk} 1166 | 100 1167 | 1168 | **/*Bean.java 1169 | **/generated/*.java 1170 | 1171 | 1172 | target/generated-sources/stubs 1173 | 1174 | 1175 | /rulesets/java/basic.xml 1176 | /rulesets/java/clone.xml 1177 | /rulesets/java/finalizers.xml 1178 | 1179 | 1180 | 1181 | 1182 | net.sourceforge.pmd 1183 | pmd-core 1184 | ${dep.plugin.pmd-runtime.version} 1185 | 1186 | 1187 | net.sourceforge.pmd 1188 | pmd-java 1189 | ${dep.plugin.pmd-runtime.version} 1190 | 1191 | 1192 | net.sourceforge.pmd 1193 | pmd-javascript 1194 | ${dep.plugin.pmd-runtime.version} 1195 | 1196 | 1197 | net.sourceforge.pmd 1198 | pmd-jsp 1199 | ${dep.plugin.pmd-runtime.version} 1200 | 1201 | 1202 | 1203 | 1204 | default 1205 | 1206 | check 1207 | 1208 | verify 1209 | 1210 | 1211 | 1212 | 1213 | 1214 | com.mycila 1215 | license-maven-plugin 1216 | ${dep.plugin.license.version} 1217 | 1218 | ${air.check.skip-license} 1219 | ${air.license.skip-existing-headers} 1220 | ${air.check.fail-license} 1221 | 1222 | 1223 |
${air.license.header-file}
1224 | 1225 | 1226 | COPYRIGHT_SECTION 1227 | ${air.license.default-value} 1228 | ${air.license.ensure-match} 1229 | false 1230 | 1231 | 1232 | 1233 | .*/** 1234 | **/*.md 1235 | **/*.sh 1236 | **/*.txt 1237 | **/*.thrift 1238 | **/*.sql 1239 | **/*.releaseBackup 1240 | **/*.st 1241 | **/*.raw 1242 | **/*.ser 1243 | **/*.html 1244 | **/*.rst 1245 | **/*.xml 1246 | **/*.csv 1247 | **/*.tsv 1248 | **/*.properties 1249 | **/src/license/** 1250 | **/src/*/resources/** 1251 | 1252 | 1253 | src/** 1254 | 1255 |
1256 |
1257 | 1258 | 1259 | SLASHSTAR_STYLE 1260 | SLASHSTAR_STYLE 1261 | SLASHSTAR_STYLE 1262 | 1263 | 1264 | ${project.inceptionYear} 1265 | 1266 | 1267 | true 1268 | true 1269 | true 1270 | ${project.build.sourceEncoding} 1271 |
1272 | 1273 | 1274 | 1275 | 1276 | 1277 | io.airlift 1278 | airbase-policy 1279 | 266-SNAPSHOT 1280 | 1281 | 1282 | 1283 | 1284 | default 1285 | 1286 | check 1287 | 1288 | validate 1289 | 1290 | 1291 |
1292 | 1293 | 1294 | org.jacoco 1295 | jacoco-maven-plugin 1296 | ${dep.plugin.jacoco.version} 1297 | 1298 | ${air.check.skip-jacoco} 1299 | 1300 | 1301 | 1302 | default 1303 | 1304 | prepare-agent 1305 | 1306 | 1307 | 1308 | report 1309 | 1310 | report 1311 | 1312 | prepare-package 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | org.gaul 1319 | modernizer-maven-plugin 1320 | ${dep.plugin.modernizer.version} 1321 | 1322 | ${air.check.skip-modernizer} 1323 | ${air.check.fail-modernizer} 1324 | ${air.modernizer.java-version} 1325 | 1326 | 1327 | 1328 | org.ow2.asm 1329 | asm 1330 | ${dep.asm.version} 1331 | 1332 | 1333 | 1334 | 1335 | modernizer 1336 | 1337 | modernizer 1338 | 1339 | 1340 | 1341 | 1342 | 1343 | 1344 | org.apache.maven.plugins 1345 | maven-checkstyle-plugin 1346 | ${dep.plugin.checkstyle.version} 1347 | 1348 | ${air.check.skip-checkstyle} 1349 | ${air.check.fail-checkstyle} 1350 | true 1351 | ${air.checkstyle.config-file} 1352 | **/module-info.java 1353 | 1354 | 1355 | 1356 | com.puppycrawl.tools 1357 | checkstyle 1358 | ${dep.checkstyle.version} 1359 | 1360 | 1361 | 1362 | 1363 | 1364 | io.airlift 1365 | airbase-policy 1366 | 266-SNAPSHOT 1367 | 1368 | 1369 | 1370 | 1371 | checkstyle 1372 | 1373 | check 1374 | 1375 | validate 1376 | 1377 | 1378 | 1379 | 1380 | 1381 | org.apache.maven.plugins 1382 | maven-gpg-plugin 1383 | ${dep.plugin.gpg.version} 1384 | 1385 | true 1386 | 1387 | 1388 | 1389 | sign-artifacts 1390 | 1391 | sign 1392 | 1393 | verify 1394 | 1395 | 1396 | 1397 | 1398 | 1399 | org.apache.maven.plugins 1400 | maven-site-plugin 1401 | ${dep.plugin.site.version} 1402 | 1403 | 1404 | 1405 | org.apache.maven.plugins 1406 | maven-shade-plugin 1407 | ${dep.plugin.shade.version} 1408 | 1409 | 1410 | org.ow2.asm 1411 | asm 1412 | ${dep.asm.version} 1413 | 1414 | 1415 | 1416 |
1417 |
1418 | 1419 | 1420 | 1421 | 1422 | 1423 | org.apache.maven.plugins 1424 | maven-compiler-plugin 1425 | 1426 | 1427 | 1428 | org.apache.maven.plugins 1429 | maven-resources-plugin 1430 | 1431 | 1432 | 1433 | org.apache.maven.plugins 1434 | maven-jar-plugin 1435 | 1436 | 1437 | 1438 | org.apache.maven.plugins 1439 | maven-source-plugin 1440 | 1441 | 1442 | 1443 | org.apache.maven.plugins 1444 | maven-assembly-plugin 1445 | 1446 | 1447 | 1448 | org.apache.maven.plugins 1449 | maven-surefire-plugin 1450 | 1451 | 1452 | 1453 | org.apache.maven.plugins 1454 | maven-release-plugin 1455 | 1456 | 1457 | 1458 | org.apache.maven.plugins 1459 | maven-dependency-plugin 1460 | 1461 | 1462 | 1463 | io.github.git-commit-id 1464 | git-commit-id-maven-plugin 1465 | 1466 | 1467 | default 1468 | 1469 | revision 1470 | 1471 | initialize 1472 | 1473 | 1474 | 1475 | 1476 | 1477 | org.codehaus.mojo 1478 | build-helper-maven-plugin 1479 | 1480 | 1481 | surefire-enable-preview 1482 | 1483 | bsh-property 1484 | 1485 | initialize 1486 | 1487 | 1488 | surefireEnablePreview 1489 | 1490 | value = project.getProperties().getProperty("air.compiler.enable-preview"); 1491 | surefireEnablePreview = Boolean.parseBoolean(value) ? "--enable-preview" : ""; 1492 | 1493 | 1494 | 1495 | 1496 | 1497 | 1498 | 1499 | org.apache.maven.scm 1500 | maven-scm-provider-gitexe 1501 | ${dep.plugin.scm.version} 1502 | 1503 | 1504 | org.apache.maven.scm 1505 | maven-scm-manager-plexus 1506 | ${dep.plugin.scm.version} 1507 | 1508 | 1509 |
1510 | 1511 | 1512 | 1516 | 1517 | enforcer-check 1518 | 1519 | 1520 | air.check.skip-all 1521 | !true 1522 | 1523 | 1524 | 1525 | 1526 | 1527 | org.apache.maven.plugins 1528 | maven-enforcer-plugin 1529 | 1530 | 1531 | 1532 | 1533 | 1534 | duplicate-finder-check 1535 | 1536 | 1537 | air.check.skip-all 1538 | !true 1539 | 1540 | 1541 | 1542 | 1543 | 1544 | org.basepom.maven 1545 | duplicate-finder-maven-plugin 1546 | 1547 | 1548 | 1549 | 1550 | 1551 | sort-pom-check 1552 | 1553 | 1554 | air.check.skip-all 1555 | !true 1556 | 1557 | 1558 | 1559 | 1560 | 1561 | com.github.ekryd.sortpom 1562 | sortpom-maven-plugin 1563 | 1564 | 1565 | 1566 | 1567 | 1568 | dependency-scope-check 1569 | 1570 | 1571 | air.check.skip-all 1572 | !true 1573 | 1574 | 1575 | 1576 | 1577 | 1578 | org.basepom.maven 1579 | dependency-scope-maven-plugin 1580 | 1581 | 1582 | 1583 | 1584 | 1585 | spotbugs-check 1586 | 1587 | 1588 | air.check.skip-all 1589 | !true 1590 | 1591 | 1592 | 1593 | 1594 | 1595 | com.github.spotbugs 1596 | spotbugs-maven-plugin 1597 | 1598 | 1599 | 1600 | 1601 | 1602 | pmd-check 1603 | 1604 | 1605 | air.check.skip-all 1606 | !true 1607 | 1608 | 1609 | 1610 | 1611 | 1612 | org.apache.maven.plugins 1613 | maven-pmd-plugin 1614 | 1615 | 1616 | 1617 | 1618 | 1619 | license-check 1620 | 1621 | 1622 | air.check.skip-all 1623 | !true 1624 | 1625 | 1626 | 1627 | 1628 | 1629 | com.mycila 1630 | license-maven-plugin 1631 | 1632 | 1633 | 1634 | 1635 | 1636 | jacoco-check 1637 | 1638 | 1639 | air.check.skip-all 1640 | !true 1641 | 1642 | 1643 | 1644 | 1645 | 1646 | org.jacoco 1647 | jacoco-maven-plugin 1648 | 1649 | 1650 | 1651 | 1652 | 1653 | modernizer-check 1654 | 1655 | 1656 | air.check.skip-all 1657 | !true 1658 | 1659 | 1660 | 1661 | 1662 | 1663 | org.gaul 1664 | modernizer-maven-plugin 1665 | 1666 | 1667 | 1668 | 1669 | 1670 | checkstyle-check 1671 | 1672 | 1673 | air.check.skip-all 1674 | !true 1675 | 1676 | 1677 | 1678 | 1679 | 1680 | org.apache.maven.plugins 1681 | maven-checkstyle-plugin 1682 | 1683 | 1684 | 1685 | 1686 | 1687 | oss-release 1688 | 1689 | 1690 | true 1691 | 1692 | 1693 | 1694 | 1695 | 1696 | org.apache.maven.plugins 1697 | maven-javadoc-plugin 1698 | 1699 | 1700 | 1701 | org.apache.maven.plugins 1702 | maven-gpg-plugin 1703 | 1704 | 1705 | 1706 | 1707 | 1708 | 1709 | 1710 | oss-stage 1711 | 1712 | 1713 | local::file:./target/staging-deploy 1714 | 1715 | 1716 | 1717 | 1718 | org.apache.maven.plugins 1719 | maven-release-plugin 1720 | 1721 | 1722 | false 1723 | 1724 | 1725 | 1726 | 1727 | 1728 | 1729 | 1730 | ci 1731 | 1732 | 1733 | 1734 | org.apache.maven.plugins 1735 | maven-javadoc-plugin 1736 | 1737 | 1738 | 1739 | 1740 | 1741 | 1742 | 1743 | 1744 | 1745 | 1746 | 1747 | 1748 | 1749 | build-airlift 1750 | 1751 | 1752 | .build-airlift 1753 | 1754 | 1755 | 1756 | 1757 | ${project.artifactId} 1758 | 1759 | 1760 | 1761 | 1762 | io.airlift 1763 | launcher 1764 | ${dep.launcher.version} 1765 | bin 1766 | tar.gz 1767 | runtime 1768 | 1769 | 1770 | 1771 | io.airlift 1772 | launcher 1773 | ${dep.launcher.version} 1774 | properties 1775 | tar.gz 1776 | runtime 1777 | 1778 | 1779 | 1780 | 1781 | 1782 | 1783 | org.apache.maven.plugins 1784 | maven-enforcer-plugin 1785 | 1786 | 1787 | 1788 | main-class 1789 | The main-class property must be specified when building an airlift tarball. 1790 | .+ 1791 | The main-class property can not be empty. 1792 | 1793 | 1794 | 1795 | 1796 | 1797 | 1798 | maven-assembly-plugin 1799 | 1800 | false 1801 | true 1802 | 1803 | distribution 1804 | 1805 | 1806 | 1807 | 1808 | io.airlift 1809 | packaging 1810 | ${dep.packaging.version} 1811 | 1812 | 1813 | 1814 | 1815 | package 1816 | 1817 | single 1818 | 1819 | package 1820 | 1821 | 1822 | 1823 | 1824 | 1825 | org.codehaus.mojo 1826 | build-helper-maven-plugin 1827 | 1828 | 1829 | attach-readme 1830 | 1831 | attach-artifact 1832 | 1833 | package 1834 | 1835 | 1836 | 1837 | ${air.readme.file} 1838 | ${air.readme.type} 1839 | readme 1840 | 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | 1847 | 1848 | 1849 | 1850 |
1851 | -------------------------------------------------------------------------------- /jreleaser.yml: -------------------------------------------------------------------------------- 1 | # Hooks that will run on the CI to generate the summary of the steps 2 | hooks: 3 | condition: '"{{ Env.CI }}" == true' 4 | script: 5 | before: 6 | - filter: 7 | includes: ['session'] 8 | run: | 9 | echo "### {{command}}" >> $GITHUB_STEP_SUMMARY 10 | echo "| Step | Outcome |" >> $GITHUB_STEP_SUMMARY 11 | echo "| ---- | ------- |" >> $GITHUB_STEP_SUMMARY 12 | success: 13 | - filter: 14 | excludes: ['session'] 15 | run: 'echo "| {{event.name}} | :white_check_mark: |" >> $GITHUB_STEP_SUMMARY' 16 | - filter: 17 | includes: ['session'] 18 | run: echo "" >> $GITHUB_STEP_SUMMARY 19 | failure: 20 | - filter: 21 | excludes: ['session'] 22 | run: 'echo "| {{event.name}} | :x: |" >> $GITHUB_STEP_SUMMARY' 23 | - filter: 24 | includes: ['session'] 25 | run: | 26 | echo "" >> $GITHUB_STEP_SUMMARY 27 | echo "### Failure" >> $GITHUB_STEP_SUMMARY 28 | echo "\`\`\`" >> $GITHUB_STEP_SUMMARY 29 | echo "{{event.stacktrace}}\`\`\`" >> $GITHUB_STEP_SUMMARY 30 | echo "" >> $GITHUB_STEP_SUMMARY 31 | 32 | # Project configuration 33 | project: 34 | name: airbase 35 | description: Base POM for Airlift 36 | license: Apache-2 37 | java: 38 | groupId: io.airlift 39 | multiProject: true 40 | 41 | # Ordered as defined in the https://jreleaser.org/guide/latest/concepts/workflow.html#_full_release 42 | signing: 43 | active: ALWAYS 44 | armored: true 45 | 46 | # Deploy to OSSRH 47 | deploy: 48 | maven: 49 | pomchecker: 50 | failOnWarning: false # We don't want to fail the build on warnings 51 | failOnError: false # We don't want to fail the build on errors 52 | nexus2: 53 | maven-central: 54 | active: ALWAYS 55 | url: https://oss.sonatype.org/service/local 56 | snapshotUrl: https://oss.sonatype.org/content/repositories/snapshots/ 57 | javadocJar: false # Not every module has javadoc (packaging) 58 | closeRepository: true 59 | releaseRepository: true 60 | stagingRepositories: 61 | - target/checkout/target/staging-deploy 62 | artifactOverrides: 63 | - groupId: io.airlift 64 | artifactId: airbase-policy 65 | sourceJar: false 66 | javadocJar: false 67 | 68 | # Release to Github 69 | release: 70 | github: 71 | owner: airlift 72 | overwrite: true # if tag already exists, overwrite it 73 | skipTag: true # created by the release plugin 74 | branch: master 75 | uploadAssets: NEVER 76 | tagName: '{{projectVersion}}' 77 | files: false 78 | draft: false 79 | releaseNotes: 80 | enabled: true 81 | configurationFile: .github/release.yml 82 | -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # ---------------------------------------------------------------------------- 20 | 21 | # ---------------------------------------------------------------------------- 22 | # Apache Maven Wrapper startup batch script, version 3.3.2 23 | # 24 | # Optional ENV vars 25 | # ----------------- 26 | # JAVA_HOME - location of a JDK home dir, required when download maven via java source 27 | # MVNW_REPOURL - repo url base for downloading maven distribution 28 | # MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven 29 | # MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output 30 | # ---------------------------------------------------------------------------- 31 | 32 | set -euf 33 | [ "${MVNW_VERBOSE-}" != debug ] || set -x 34 | 35 | # OS specific support. 36 | native_path() { printf %s\\n "$1"; } 37 | case "$(uname)" in 38 | CYGWIN* | MINGW*) 39 | [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" 40 | native_path() { cygpath --path --windows "$1"; } 41 | ;; 42 | esac 43 | 44 | # set JAVACMD and JAVACCMD 45 | set_java_home() { 46 | # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched 47 | if [ -n "${JAVA_HOME-}" ]; then 48 | if [ -x "$JAVA_HOME/jre/sh/java" ]; then 49 | # IBM's JDK on AIX uses strange locations for the executables 50 | JAVACMD="$JAVA_HOME/jre/sh/java" 51 | JAVACCMD="$JAVA_HOME/jre/sh/javac" 52 | else 53 | JAVACMD="$JAVA_HOME/bin/java" 54 | JAVACCMD="$JAVA_HOME/bin/javac" 55 | 56 | if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then 57 | echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 58 | echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 59 | return 1 60 | fi 61 | fi 62 | else 63 | JAVACMD="$( 64 | 'set' +e 65 | 'unset' -f command 2>/dev/null 66 | 'command' -v java 67 | )" || : 68 | JAVACCMD="$( 69 | 'set' +e 70 | 'unset' -f command 2>/dev/null 71 | 'command' -v javac 72 | )" || : 73 | 74 | if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then 75 | echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 76 | return 1 77 | fi 78 | fi 79 | } 80 | 81 | # hash string like Java String::hashCode 82 | hash_string() { 83 | str="${1:-}" h=0 84 | while [ -n "$str" ]; do 85 | char="${str%"${str#?}"}" 86 | h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) 87 | str="${str#?}" 88 | done 89 | printf %x\\n $h 90 | } 91 | 92 | verbose() { :; } 93 | [ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } 94 | 95 | die() { 96 | printf %s\\n "$1" >&2 97 | exit 1 98 | } 99 | 100 | trim() { 101 | # MWRAPPER-139: 102 | # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. 103 | # Needed for removing poorly interpreted newline sequences when running in more 104 | # exotic environments such as mingw bash on Windows. 105 | printf "%s" "${1}" | tr -d '[:space:]' 106 | } 107 | 108 | # parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties 109 | while IFS="=" read -r key value; do 110 | case "${key-}" in 111 | distributionUrl) distributionUrl=$(trim "${value-}") ;; 112 | distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; 113 | esac 114 | done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" 115 | [ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" 116 | 117 | case "${distributionUrl##*/}" in 118 | maven-mvnd-*bin.*) 119 | MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ 120 | case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in 121 | *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; 122 | :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; 123 | :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; 124 | :Linux*x86_64*) distributionPlatform=linux-amd64 ;; 125 | *) 126 | echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 127 | distributionPlatform=linux-amd64 128 | ;; 129 | esac 130 | distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" 131 | ;; 132 | maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; 133 | *) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; 134 | esac 135 | 136 | # apply MVNW_REPOURL and calculate MAVEN_HOME 137 | # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ 138 | [ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" 139 | distributionUrlName="${distributionUrl##*/}" 140 | distributionUrlNameMain="${distributionUrlName%.*}" 141 | distributionUrlNameMain="${distributionUrlNameMain%-bin}" 142 | MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" 143 | MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" 144 | 145 | exec_maven() { 146 | unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : 147 | exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" 148 | } 149 | 150 | if [ -d "$MAVEN_HOME" ]; then 151 | verbose "found existing MAVEN_HOME at $MAVEN_HOME" 152 | exec_maven "$@" 153 | fi 154 | 155 | case "${distributionUrl-}" in 156 | *?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; 157 | *) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; 158 | esac 159 | 160 | # prepare tmp dir 161 | if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then 162 | clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } 163 | trap clean HUP INT TERM EXIT 164 | else 165 | die "cannot create temp dir" 166 | fi 167 | 168 | mkdir -p -- "${MAVEN_HOME%/*}" 169 | 170 | # Download and Install Apache Maven 171 | verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." 172 | verbose "Downloading from: $distributionUrl" 173 | verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" 174 | 175 | # select .zip or .tar.gz 176 | if ! command -v unzip >/dev/null; then 177 | distributionUrl="${distributionUrl%.zip}.tar.gz" 178 | distributionUrlName="${distributionUrl##*/}" 179 | fi 180 | 181 | # verbose opt 182 | __MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' 183 | [ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v 184 | 185 | # normalize http auth 186 | case "${MVNW_PASSWORD:+has-password}" in 187 | '') MVNW_USERNAME='' MVNW_PASSWORD='' ;; 188 | has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; 189 | esac 190 | 191 | if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then 192 | verbose "Found wget ... using wget" 193 | wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" 194 | elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then 195 | verbose "Found curl ... using curl" 196 | curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" 197 | elif set_java_home; then 198 | verbose "Falling back to use Java to download" 199 | javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" 200 | targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" 201 | cat >"$javaSource" <<-END 202 | public class Downloader extends java.net.Authenticator 203 | { 204 | protected java.net.PasswordAuthentication getPasswordAuthentication() 205 | { 206 | return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); 207 | } 208 | public static void main( String[] args ) throws Exception 209 | { 210 | setDefault( new Downloader() ); 211 | java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); 212 | } 213 | } 214 | END 215 | # For Cygwin/MinGW, switch paths to Windows format before running javac and java 216 | verbose " - Compiling Downloader.java ..." 217 | "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" 218 | verbose " - Running Downloader.java ..." 219 | "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" 220 | fi 221 | 222 | # If specified, validate the SHA-256 sum of the Maven distribution zip file 223 | if [ -n "${distributionSha256Sum-}" ]; then 224 | distributionSha256Result=false 225 | if [ "$MVN_CMD" = mvnd.sh ]; then 226 | echo "Checksum validation is not supported for maven-mvnd." >&2 227 | echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 228 | exit 1 229 | elif command -v sha256sum >/dev/null; then 230 | if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then 231 | distributionSha256Result=true 232 | fi 233 | elif command -v shasum >/dev/null; then 234 | if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then 235 | distributionSha256Result=true 236 | fi 237 | else 238 | echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 239 | echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 240 | exit 1 241 | fi 242 | if [ $distributionSha256Result = false ]; then 243 | echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 244 | echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 245 | exit 1 246 | fi 247 | fi 248 | 249 | # unzip and move 250 | if command -v unzip >/dev/null; then 251 | unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" 252 | else 253 | tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" 254 | fi 255 | printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" 256 | mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" 257 | 258 | clean || : 259 | exec_maven "$@" 260 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | io.airlift 5 | airbase-root 6 | 266-SNAPSHOT 7 | pom 8 | 9 | airbase-root 10 | Aggregator POM for Airbase 11 | https://github.com/airlift/airbase 12 | 13 | 2013 14 | 15 | 16 | 17 | Apache-2.0 18 | http://www.apache.org/licenses/LICENSE-2.0.txt 19 | repo 20 | 21 | 22 | 23 | 24 | scm:git:git@github.com/airlift/airbase.git 25 | scm:git:git@github.com:airlift/airbase.git 26 | https://github.com/airlift/airbase 27 | HEAD 28 | 29 | 30 | 31 | 32 | 33 | Numerous contributors, see scm log 34 | ${project.scm.url} 35 | 36 | 37 | 38 | 39 | 40 | ossrh 41 | Sonatype Nexus Snapshots 42 | https://oss.sonatype.org/content/repositories/snapshots 43 | 44 | 45 | ossrh 46 | Nexus Release Repository 47 | https://oss.sonatype.org/service/local/staging/deploy/maven2/ 48 | 49 | 50 | 51 | 52 | airbase 53 | airbase-policy 54 | 55 | 56 | 57 | 58 | 59 | 60 | org.apache.maven.plugins 61 | maven-release-plugin 62 | 3.1.1 63 | 64 | oss-release 65 | forked-path 66 | true 67 | false 68 | true 69 | false 70 | clean install 71 | @{project.version} 72 | 73 | 74 | 75 | 76 | org.apache.maven.plugins 77 | maven-wrapper-plugin 78 | 3.3.2 79 | 80 | 3.9.8 81 | only-script 82 | 83 | 84 | 85 | 86 | org.apache.maven.plugins 87 | maven-javadoc-plugin 88 | 3.11.2 89 | 90 | 91 | attach-javadocs 92 | 93 | jar 94 | 95 | 96 | 97 | 98 | 99 | 100 | org.apache.maven.plugins 101 | maven-source-plugin 102 | 3.3.1 103 | 104 | 105 | attach-sources 106 | 107 | jar-no-fork 108 | 109 | 110 | 111 | 112 | 113 | 114 | org.apache.maven.plugins 115 | maven-gpg-plugin 116 | 3.2.7 117 | 118 | true 119 | 120 | 121 | 122 | sign-artifacts 123 | 124 | sign 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | oss-release 136 | 137 | 138 | 139 | org.apache.maven.plugins 140 | maven-javadoc-plugin 141 | 142 | 143 | org.apache.maven.plugins 144 | maven-gpg-plugin 145 | 146 | 147 | 148 | 149 | 150 | oss-stage 151 | 152 | 153 | local::file:./target/staging-deploy 154 | 155 | 156 | 157 | 158 | org.apache.maven.plugins 159 | maven-release-plugin 160 | 161 | 162 | false 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | --------------------------------------------------------------------------------