Skip to content

Latest commit

 

History

History
149 lines (100 loc) · 3.43 KB

CONTRIBUTING.md

File metadata and controls

149 lines (100 loc) · 3.43 KB

Contributing

Develop

  1. Fork this repo

  2. Build the project

# java >=8 required
export JAVA_HOME=/path/to/java8/home

mvn build
  1. Make a change

Fix a bug, add a feature, update the doc, etc

  1. Run the Tests
mvn test
  1. Create a Pull Request (PR)

Add yourself as a contributor

Once your PR has been merged, add the following comment to your PR:

@all-contributors please add @username for code and test!

Replace code and test with doc or test or infra or some combination depending on your contribution.

Package

Run the following to ensure the package step succeeds.

mvn clean test jacoco:report package 

Release Process

Build

Build sources and javadoc

mvn clean test jacoco:report package 

Publish to Maven Central

Deploy

mvn clean test jacoco:report package deploy -DperformRelease=true

When first publishing to staging repos, you most close and release from OSS Sonatype. To do this

Artifacts upload

  • Generate signed artifacts locally

    mvn verify -P release-sign-artifacts -DperformRelease=true
  • Upload change log

    gh release create v3.0.2 -F CHANGELOG.md
  • Attach 'signed' artifacts (needed for OpenSSF Security Score)

    gh release upload v3.0.2 target/*.jar.asc --clobber       

Publish to Github Packages

Note: This step can only be run by maintainers.

Add distributionManagement to pom.xml

  <distributionManagement>
    <repository>
      <id>github</id>
      <name>Carmine M DiMascio</name>
      <url>https://maven.pkg.github.com/cdimascio/dotenv-java</url>
    </repository>
  </distributionManagement>
# deploy to github packages
mvn deploy -Dregistry=https://maven.pkg.github.com/cdimascio -Dtoken=XXXX
# or
mvn clean test jacoco:report package deploy  -Dregistry=https://maven.pkg.github.com/cdimascio -Dtoken=XXXX

Notes

Publish to MavenCentral

Contributors are not responsible for deploying to mavencentral.

Maven Central

To publish a gpg key:

gpg --send-keys 5BE1414D5EAF81B48F2E77E1999F818C080AF9C1

where 5BE1414D5EAF81B48F2E77E1999F818C080AF9C1 is the public key

mvn clean test jacoco:report package deploy -DperformRelease=true

Generate signed artifacts locally without deploying

mvn verify -P release-sign-artifacts -DperformRelease=true

Navigate to https://oss.sonatype.org/#stagingRepositories, select repository, then press the close button, then release

https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages

OpenSSF Security Scorecard