Thank you for helping improve campus-auth-java. Contributions should make the project safer, clearer, easier to maintain, or more reliable.
- Follow the Code of Conduct.
- Do not submit code that enables abuse, unauthorized access, privacy violations, or credential misuse.
- Do not add integrations that log into, scrape, or automate real third-party authentication systems. See SECURITY.md.
- Never include real credentials, tokens, cookies, real ids, private endpoints, screenshots, or logs containing personal data. Use the demo values only.
- Keep changes focused; separate unrelated refactors and behavior changes.
git clone https://github.com/UsmanovMahmudkhan/campus-auth-java.git
cd campus-auth-java
mvn -B clean verifyRequires JDK 17 or newer and Maven 3.8 or newer.
- Run
mvn -B clean verifyand confirm it passes. - Add or update tests for the behavior you touch.
- Update
README.mdandCHANGELOG.mdwhen behavior changes. - Confirm no secrets, cookies, real ids, or personal data are included.
- Explain what changed, why, and how you verified it.
Releases are published to Maven Central through the Sonatype Central Publisher
Portal. The release Maven profile enables GPG signing and the
central-publishing-maven-plugin.
One-time setup:
- Create an account at central.sonatype.com.
- Verify the namespace
io.github.usmanovmahmudkhan(GitHub namespaces are verified by proving ownership of the matching GitHub account). - Generate a Central Portal user token (username + password pair).
- Generate a GPG key, publish its public part to a keyserver, and export the private key.
- Add the repository secrets listed below.
Required GitHub Actions secrets:
| Secret | Purpose |
|---|---|
CENTRAL_USERNAME |
Central Portal token username |
CENTRAL_PASSWORD |
Central Portal token password |
GPG_PRIVATE_KEY |
ASCII-armored exported private key |
GPG_PASSPHRASE |
Passphrase for that key |
To publish, run the Release workflow from the Actions tab
(workflow_dispatch). It builds, signs, and uploads 0.1.0 with
mvn -B -Prelease deploy. A local equivalent:
mvn -B -Prelease clean deployDo not open public issues for sensitive vulnerabilities. Use the process in SECURITY.md.