gov.nasa.pds:pds3-product-tools

The PDS3 Product Tools Library project supports design/generation, validation and submission of archival products to the PDS. This project consists of a library of software classes to support the development of tools to perform these functions and is designed to be utilized by developers from the Engineering Node, Discipline Nodes and the PDS community.

License

License

GroupId

GroupId

gov.nasa.pds
ArtifactId

ArtifactId

pds3-product-tools
Last Version

Last Version

4.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

gov.nasa.pds:pds3-product-tools
The PDS3 Product Tools Library project supports design/generation, validation and submission of archival products to the PDS. This project consists of a library of software classes to support the development of tools to perform these functions and is designed to be utilized by developers from the Engineering Node, Discipline Nodes and the PDS community.
Project URL

Project URL

https://github.com/NASA-PDS-Incubator/pds3-product-tools
Source Code Management

Source Code Management

https://github.com/NASA-PDS-Incubator/pds3-product-tools/tree/master

Download pds3-product-tools

How to add to project

<!-- https://jarcasting.com/artifacts/gov.nasa.pds/pds3-product-tools/ -->
<dependency>
    <groupId>gov.nasa.pds</groupId>
    <artifactId>pds3-product-tools</artifactId>
    <version>4.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/gov.nasa.pds/pds3-product-tools/
implementation 'gov.nasa.pds:pds3-product-tools:4.1.0'
// https://jarcasting.com/artifacts/gov.nasa.pds/pds3-product-tools/
implementation ("gov.nasa.pds:pds3-product-tools:4.1.0")
'gov.nasa.pds:pds3-product-tools:jar:4.1.0'
<dependency org="gov.nasa.pds" name="pds3-product-tools" rev="4.1.0">
  <artifact name="pds3-product-tools" type="jar" />
</dependency>
@Grapes(
@Grab(group='gov.nasa.pds', module='pds3-product-tools', version='4.1.0')
)
libraryDependencies += "gov.nasa.pds" % "pds3-product-tools" % "4.1.0"
[gov.nasa.pds/pds3-product-tools "4.1.0"]

Dependencies

compile (6)

Group / Artifact Type Version
commons-cli : commons-cli jar 1.2
commons-io : commons-io jar 1.4
commons-lang : commons-lang jar 2.4
log4j : log4j jar 1.2.12
org.antlr : antlr jar 3.2
org.incava : java-diff jar 1.1

test (1)

Group / Artifact Type Version
junit : junit Optional jar 4.0

Project Modules

There are no modules declared in this project.

PDS3 Product Tools Library

Java library of software classes for manipulating PDS product labels. The software is packaged in a JAR file.

Documentation

The documentation for the latest release of the PDS3 Product Tools, including release notes, installation and operation of the software are online at https://nasa-pds-incubator.github.io/pds3-product-tools/.

If you would like to get the latest documentation, including any updates since the last release, you can execute the "mvn site:run" command and view the documentation locally at http://localhost:8080.

Build

The software can be compiled and built with the "mvn compile" command but in order to create the JAR file, you must execute the "mvn compile jar:jar" command.

In order to create a complete distribution package, execute the following commands:

% mvn site
% mvn package

Operational Release

A release candidate should be created after the community has determined that a release should occur. These steps should be followed when generating a release candidate and when completing the release.

Update Version Numbers

Update pom.xml for the release version or use the Maven Versions Plugin, e.g.:

VERSION=4.1.0
mvn versions:set -DnewVersion=$VERSION

Update Changelog

Update Changelog using Github Changelog Generator. Note: Make sure you set $CHANGELOG_GITHUB_TOKEN in your .bash_profile or use the --token flag.

github_changelog_generator --future-release v$VERSION

Commit Changes

Commit changes using following template commit message:

git commit -m "[RELEASE] PDS3 Product Tools v$VERSION"

Build and Deploy Software to Sonatype Maven Repo.

mvn clean site deploy -P release

Note: If you have issues with GPG, be sure to make sure you've created your GPG key, sent to server, and have the following in your ~/.m2/settings.xml:

<profiles>
  <profile>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <gpg.executable>gpg</gpg.executable>
      <gpg.keyname>KEY_NAME</gpg.keyname>
      <gpg.passphrase>KEY_PASSPHRASE</gpg.passphrase>
    </properties>
  </profile>
</profiles>

Push Tagged Release

git tag v$VERSION
git push --tags

Deploy Site to Github Pages

From cloned repo:

git checkout gh-pages

# Create specific version site
mv target/site $VERSION
rm -fr target

# Sync latest version to ops 
rsync -av $VERSION/* .
git add .
git commit -m "Deploy v$VERSION docs"
git push origin gh-pages

Update Versions For Development

Update pom.xml with the next SNAPSHOT version either manually or using Github Versions Plugin, e.g.:

git checkout master
VERSION=4.2.0-SNAPSHOT
mvn versions:set -DnewVersion=$VERSION
git add pom.xml
git commit -m "Update version for $VERSION development"
git push -u origin master

Complete Release in Github

Currently the process to create more formal release notes and attach Assets is done manually through the Github UI but should eventually be automated via script.

Snapshot Release

Deploy software to Sonatype SNAPSHOTS Maven repo:

# Operational release
mvn clean site deploy

Maven JAR Dependency Reference

Operational Releases

https://search.maven.org/search?q=g:gov.nasa.pds%20AND%20a:pds3-product-tools&core=gav

Snapshots

https://oss.sonatype.org/content/repositories/snapshots/gov/nasa/pds/pds3-product-tools/

If you want to access snapshots, add the following to your ~/.m2/settings.xml:

<profiles>
  <profile>
     <id>allow-snapshots</id>
     <activation><activeByDefault>true</activeByDefault></activation>
     <repositories>
       <repository>
         <id>snapshots-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <releases><enabled>false</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
     </repositories>
   </profile>
</profiles>
gov.nasa.pds

NASA PDS Incubator Project (deprecated)

Our software has now moved orgs to https://github.com/NASA-PDS

Versions

Version
4.1.0
4.0.1