-
Notifications
You must be signed in to change notification settings - Fork 39
Development
Since release 1.0.6 the building system for DigiDoc4j is Maven.
git clone https://github.com/open-eid/digidoc4j.git
cd digidoc4j
./mvnw clean package
API is available via JavaDoc.
To run tests:
./mvnw test
There are no special concerns for building and running tests under IDEA when using Maven.
Finally setup CheckStyle rules like so:
- Open CheckStyle tool window
- Change rules to: RIA (define and activate ruleset with
checkstyle.xml
) - Now press run and check that CheckStyle did not find any problems
- Update the release notes
- Update the
project.version
number in the pom.xml file - Add a tag to the last commit (
public-*
) you want to release - Make sure your
JAVA_HOME
environment variable points to Java 8 JDK installation - Run
./mvnw clean package -P delivery
to build the artifacts to thetarget
directory - Push the changes
- Draft a new release in GitHub
- Choose the correct tag for the release, write something useful and upload the built artifacts as assets of the current release
- Publish the release
Javadoc for DigiDoc4j is available in GitHub Pages. In order to update it, follow these instructions:
- Make sure your
JAVA_HOME
environment variable points to the latest Java LTS JDK installation (currently Java 21). As each Java version generates a bit different Javadoc, we don't want any unnecessary "version hopping", which would introduce excessive changes. Java 8 and older versions would generate broken Javadoc for this project. - In DigiDoc4j's Git root directory, run the following commands to update Javadoc in
gh-pages
branch:git checkout master # Build the project and documentation ./mvnw clean package -Dgpg.skip -DskipTests git checkout gh-pages # Back up the generated Javadoc before emptying the directory (destination does not matter # - just make sure to use the same directory for restoring the backup later) mv digidoc4j/target/reports/apidocs ../ # Delete all the files and directories from Git repository except the hidden ones rm -rf * # Restore the previously backed up Javadoc mv ../apidocs/* ./ rmdir ../apidocs
- Check Git diff to ensure the modifications are correct
- Create a new Git feature branch, commit the modifications and create a pull request into
gh-pages
branch
- Make sure that you have account for Sonatype OSSRH (OSS Repository Hosting)
- If not, then
- read http://central.sonatype.org/pages/ossrh-guide.html
- create Jira account - the same account is used to access Nexus Repository Manager
- create Jira ticket and ask for permissions to upload artifacts
- If not, then
- Make sure that you have GPG installed and keys generated
- Make sure that your public key is published in MIT PGP Public Key Server (it is one option)
- For deployment there are two possibilities:
- Create and upload release bundle OR
- Make sure your
JAVA_HOME
environment variable points to Java 8 JDK installation and run./mvnw clean deploy -P delivery -P ossrh
with ossrh profile defined in your.m2/settings.xml
; usually the structure ofsettings.xml
is following:
<settings>
<servers>
<server>
<id>ossrh</id>
<username>your_user_name</username>
<password>your_password_for_ossrh</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>your_gpg_password</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
Official builds are provided through releases. If you want support, you need to be using official builds. For assistance, contact us by email [email protected]. Additional information can be found in wiki Q&A and on ID.ee portal.
For staying up to date with news impacting services and applications that use the DigiDoc4j library, join DigiDoc4j library newsletter.
Source code is provided on "as is" terms with no warranty (see license for more information). Do not file GitHub issues with generic support requests.