Ultimate Maven Repository
The Ultimate Maven Repository Template for your GitHub projects!
Purpose
This is a template repository, used for quickly setting up a GitHub repository with the following features:
- Maven Build Workflow
- Maven Publish Workflow
- Publish to Maven Central Repository
- Publish to GitHub Packages
- PR Labelling Audit Workflow
- Auto Generate Release Notes
- Sponsorships
- Dependabot
- GitHub Pages
- Citations
- Code of Conduct
- Contribution Guidelines
- Security Policy
This project also showcases the many features of GitHub, which are not all mandatory. Below, is a summary of all provided files.
Step-by-Step Instructions
Included Files
This is the complete list of files included in this template. Each file may need additional attention, or mandatory changes.
| Legend | Description |
|---|---|
| π§ | MUST be edited. |
| βοΈ | SHOULD be edited. |
| π | SHOULD be reviewed. |
| π§ | MAY be reviewed |
| ποΈ | MAY be deleted |
Files
/.github
/workflows
maven.ymlπ
Defines the GitHub Action check to be run on PRs and merged tomain.maven-publish.ymlπ
Defines the GitHub Action for publishing the Maven Artifact to GitHub Packages & Maven Central Repository.pullRequestAudit.ymlβοΈ/ποΈ
PR Workflow Label checker. Requires:- MAJOR
- MINOR
- PATCH
- bug
- dependencies
- documentation
- feature
- javadocs
- meta
- refactor
- test
CODE_OF_CONDUCT.mdβοΈ/ποΈ
Defines the Code of Conduct of the project.CODEOWNERSβοΈ/ποΈ
Defines owners of files in the repository.CONTRIBUTING.mdβοΈ/ποΈ
Defines the Contributing Guidelines of the project.dependabot.ymlπ
Configures Dependabot.FUNDING.ymlβοΈ/ποΈ
Configuration for GitHub Sponsorships.release.ymlβοΈ/ποΈ
Configuration for Auto-Generated Release Notes based on GitHub Issue Labels.SECURITY.mdβοΈ/ποΈ
Defines the Security Policy of the project.
.mvnjvm.configπ§
Maven JVM Config file.
.gitattributesπ§
Setslfas EOF..gitignoreπ§
Default.gitignoreprovided by GitHub, with.idea._config.ymlπ§
Config for GitHub Pages.CITATION.cffβοΈ/ποΈ
For citing/referencing the repository.LICENSEπ§
Default Apache 2.0 License.pom.xmlπ§
Maven Project file.README.mdπ§
This README file.
[!TIP] Most files will have a βTODOβ comment where attention is needed. It is recommended to use an IDE when resolving these comments, as IDEs will highlight these differently.
Generating GPG keys for Uploading
Follow these instructions.