Apache Cayenne Website > Index > Developer Guide > Publishing Maven Artifacts
Note that this page is of use for committers only. It describes a procedure of publishing intermediate snapshots of Cayenne.
Publishing SNAPSHOTS
Prerequisites
- You must be a committer
- You should be able to build Cayenne with Maven.
- As publishing a snapshot affects other users and peer developers, it is a good idea to announce that snapshot is to be published in advance on the dev list. No need for a formal vote, but it is implied that any objections must be discussed and addressed in some form.
- Set the right snapshot permissions in your "~/.m2/settings.xml", for more details see /www/people.apache.org/repo/m2-snapshot-repository/README.txt
on people.apache.org:
<servers>
<server>
<id>apache-snapshots</id>
<username>aadamchik</username>
<directoryPermissions>775</directoryPermissions>
<filePermissions>644</filePermissions>
</server>
</servers>
Publishing Maven Snapshots
Deploy all modules from "cayenne/framework" that do not have "-unpublished" suffix in the name (TODO - script this in the POM) E.g.:
# cd cayenne && mvn -N deploy # cd cayenne/framework/cayenne-agent && mvn deploy # cd cayenne/framework/cayenne-client && mvn deploy # cd cayenne/framework/cayenne-server && mvn deploy # cd cayenne/framework/cayenne-modeler && mvn deploy # cd cayenne/framework/maven-cayenne-plugin && mvn deploy
Publishing a Release
Prerequisites
- The release must be approved by the PMC.
- make sure the Maven build is done with checksum option:
mvn install -DcreateChecksum=true
- Set the right snapshot permissions in your "~/.m2/settings.xml", for more details see /www/people.apache.org/repo/m2-snapshot-repository/README.txt
on people.apache.org:
<servers>
<server>
<id>apache-releases</id>
<username>aadamchik</username>
<directoryPermissions>775</directoryPermissions>
<filePermissions>644</filePermissions>
</server>
</servers>
Publishing Release Artifacts
TODO: signing
Deploy all modules from "cayenne/framework" that do not have "-unpublished" suffix in the name:
# cd cayenne && mvn -N deploy # cd cayenne/framework/cayenne-agent && mvn deploy # cd cayenne/framework/cayenne-client && mvn deploy # cd cayenne/framework/cayenne-server && mvn deploy # cd cayenne/framework/cayenne-modeler && mvn deploy # cd cayenne/framework/maven-cayenne-plugin && mvn deploy