Development

nostneji edited this page Dec 13, 2017 · 5 revisions

How to start digidoc4j development

Since release 1.0.6 the building system for digidoc4j is Maven.

git clone https://github.com/open-eid/digidoc4j.git

cd digidoc4j
mvn clean package

User stories are described in Pivotal tracker.

API is available via JavaDoc.

To run tests:

mvn test

To build and run tests inside IDEA

There are no special concerns for building and running tests under IDEA when using Maven.

Finally setup CheckStyle rules like so:

  1. Open CheckStyle tool window
  2. Change rules to: RIA (define and activate ruleset with checkstyle.xml)
  3. Now press run and check that CheckStyle did not find any problems

Releasing in Github

  1. Update the release notes
  2. Update the project.version number in the pom.xml file
  3. Add a tag to the last commit (public-*) you want to release
  4. Run mvn clean package -P delivery to build the artifacts to the target directory
  5. Push the changes
  6. Draft a new release in Github
  7. Choose the correct tag for the release, write something useful and upload the built artifacts
  8. Publish the release

Releasing in Maven Central Repository

  1. Make sure that you have account for Sonatype OSSRH (OSS Repository Hosting)
  2. Make sure that you have GPG installed and keys generated
  3. Make sure that your public key is published in MIT PGP Public Key Server (it is one option)
  4. For deployment there are two possibilities:
    • Create and upload release bundle OR
    • run mvn clean deploy -P delivery -P ossrh with ossrh profile defined in your .m2/settings.xml; usually the structure of settings.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>
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.