-
Notifications
You must be signed in to change notification settings - Fork 4
Developer's corner
Various development-related pieces of information
When a new methods are added to the MantisBT SOAP API or when other compatible changes are made the Axis stubs must be regenerated to take advantage of those changes. The steps which must be performed are:
- Update the mantisbt.soap.version property in com.itsolut.mantis.core/pom.xml to the desired version
- In the com.itsolut.mantis.core module, execute {{mvn -Dtycho.mode=maven -Prefresh-soap-stubs dependency:copy}}
- Commit the changes
The project is analysed by Sonar and the results are available publicly at http://nemo.sonarsource.org/dashboard/index/360960 .
You should reserve at least one hour for the below operations.
In the below document, $VERSION refers to the simple version, that is X.Y.Z , not the OSGI one, X.Y.Z.qualifier.
- Build release notes
- Update the
com.itsolut.mantis-feature/src/changes/changes.xmlfile for the latest release - Commit and push the changes
- Update the
- Build update site jars
- The jars should be signed:
mvn clean package -Djarsigner.alias=... -Djarsigner.storepass=... -Djarsigner.keypass=....- For now, the jars should be signed using Java 6 only ; See https://bugs.eclipse.org/bugs/show_bug.cgi?id=380779 and http://jira.codehaus.org/browse/MJARSIGNER-21 for more details.
- If you need code signing certificates, https://www.certum.eu/certum/cert,offer_java_code_signing.xml offers free code signing certificates for Open Source developers. See Installing the code signing certificate for technical details.
- The release notes are saved in multiple formats in
com.itsolut.mantis-feature/target/release-notes
- The jars should be signed:
- Tag projects in git;
- The tag format should be
mylyn-mantis-$VERSION
- The tag format should be
- Upload update site jars to the main update site;
- a lftp script is found in
com.itsolut.mantis-site/upload-to-main-site.lftp. It hardcodes the username, but you can adjust it.
- a lftp script is found in
- Upload
com.itsolut.mantis-site/target/site_assembly.zipon sf.net;- The file name should be
mylyn-mantis-$VERSION.zip - Update the text release notes as README.
- Set the newly archived update site as the default download for all platforms.
- The file name should be
- announce release on forums;
- Remove sticky from previous release announcement;
- Should be a sticky post in the users forum;
- announce release on sf.net;
- Mark the version in Mantis issue tracker as released;
- If the release date is incorrect, set it to today.
- Close all tasks resolved in this version.
- Update Eclipse Marketplace listing
- Post on dzone.com , for noteworthy changes,( blog post ideally );
- Tweet with dzone or blog link, include #mylyn #mantisbt ;
- Increment version locally using
./set-version.sh X.Y.Z-SNASPHOT; - Commit and push incremented version to git;
At one time the first option was successful, but now the second one works. I'm keeping both , for reference.
- download the binary certificate from Certum
- install the certificate :
keytool -trustcacerts -importcert -file $CERTIFICATE -alias mylyn-mantis -keystore keystore.jks
Note: the instructions assume the default keystore at ~/.keystore . To use a different keystore pass the -keystore argument to all commands.
- install the certificate from Certum straight into Firefox
- 'Export all' the certificate and remember your password
- Import the Certum CA certificate from http://www.certum.pl/keys/ca.crt using keytool -importcert -file CA.cer -alias certum_ca
- Import the Certum code signing certificate from http://www.certum.pl/certum/cert,certyfikaty_zaswiadczenia_klucze.xml#codeCa using keytool -importcert -file csca.cer -alias csca
- Import the certificate into a new keystore using keytool -importkeystore -srckeystore $SRC_KEYSTORE_FILE -srcstoretype PKCS12 -deststoretype JKS
- (Optional) Rename the certificate using keytool -changealias -alias $OLD_NAME -destalias mylyn-mantis
To validate the installation use the following commands
mkdir test
cd test
jar cf test.jar .
jarsigner test.jar $KEY_ALIAS
jarsigner -verify test.jar
The output should simply be 'jar verified.'.