Skip to content

Installing QUDT for Contributors

steveraysteveray edited this page Nov 19, 2024 · 3 revisions

This page describes how a developer can install the QUDT in ways that support contributing new Units, QuantityKinds, or even community extensions. If you just want to use QUDT but not contribute additions, see Installing QUDT for Consumers.

As a contributor, you will need to submit changes and additions via a GitHub Pull Request from your fork to the QUDT repository. Most of the details of the steps to do this are described in our Good Git Practices wiki page. In addition, there are conventions on naming Units, QuantityKinds, etc. that are available on the main wiki page, listed as Submission Guides.

Building

Note that the QUDT files stored on GitHub are the source files (in the src folder), which are different from the files to be used in your application. The distribution files (i.e. the release files) are built both locally using Maven (stored in the dist folder), and in GitHub as part of the Release publication process.

The project uses maven, interpreting the file pom.xml to generate the QUDT release files in target/dist and the release zip in target/qudt-public-repo-[VERSION].zip

To start the build use

mvn clean install

(leave 'clean' out if you are not concerned about files from a previous build)

To build the release zip file, run

mvn -Pzip install

(This activates the maven profile called 'zip', which you find in the pom.xml near the end).

To set the next/latest VAEM link properties (which otherwise default to a bogus value) - only relevant if you build for a qudt release:

mvn -DqudtPrevReleaseYear=2024 -DqudtPrevReleaseMonth=10 install 

Build Errors

If you make changes to the project before building, you can expect these problems:

Formatting and formatting problems

If the spotless plugin complains about file formatting, run

mvn spotless:apply 
mvn install 

SHACL validation and validation failures

If the shacl-maven-plugin complains about a SHACL validation failure, have a look at target/validation/validationReport.ttl to see why validation failed and fix the respective problems in the TTL files, then run mvn clean install.

To run the shacl validation (and any build steps required to do so), run

mvn test