gov.nasa.pds:mi-label

Metadata Injector for PDS Labels (MILabel) provides a command-line interface for generating PDS4 Labels using a user provided PDS4 XML template and input (source) data products.

https://github.com/nasa-pds/mi-label

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

pds
Last synced: 6 months ago · JSON representation

Repository

Metadata Injector for PDS Labels (MILabel) provides a command-line interface for generating PDS4 Labels using a user provided PDS4 XML template and input (source) data products.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 8
  • Forks: 1
  • Open Issues: 13
  • Releases: 26
Topics
pds
Created almost 6 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License Codeowners Security Zenodo

README.md

Metadata Injector for PDS Labels (MILabel)

DOI 🤪 Unstable integration & delivery 😌 Stable integration & delivery

This is a software tool, formerly known as "Generate Tool", that provides a command-line interface for generating PDS4 Labels using a user-provided PDS4 XML template and input (source) data products to parse the metadata from the source and inject into the output PDS4 labels. The XML-like Templates use Apache Velocity variables and logic to enable the programmatic generation of the labels.

Documentation

The documentation for the latest release of MILabel, including release notes, installation and operation of the software are online at https://nasa-pds.github.io/mi-label/.

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.

👥 Contributing

Within the NASA Planetary Data System, we value the health of our community as much as the code. Towards that end, we ask that you read and practice what's described in these documents:

  • Our contributor's guide delineates the kinds of contributions we accept.
  • Our code of conduct outlines the standards of behavior we practice and expect by everyone who participates with our software.

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: console $ mvn site $ mvn package

Operational Release

A release candidate should be created after the community has determined that a release should occur. Thanks to GitHub Actions and the Roundup Action, this can happen automatically. However, manual steps are given below should the need for a hand-made release arise.

Clone a Fresh Repository

Run:

git clone git@github.com:NASA-PDS/mi-label.git

Release with ConMan

For internal JPL use, the ConMan software package can be used for releasing software, otherwise the following sections outline how to complete these steps manually.

Manual Release

Manual release steps are detailed in this subsection.

Update Version Numbers

Update pom.xml for the release version or use the Maven Versions Plugin, e.g.: console $ # Skip this step if this is a RELEASE CANDIDATE, we will deploy as SNAPSHOT version for testing $ VERSION=1.15.0 $ mvn versions:set -DnewVersion=$VERSION $ git add pom.xml

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. console $ # For RELEASE CANDIDATE, set VERSION to future release version. $ github_changelog_generator --future-release v$VERSION $ git add CHANGELOG.md

Commit Changes

Commit changes using following template commit message: console $ # For operational release $ git commit -m "[RELEASE] mi-label v$VERSION" $ $ # For release candidate $ CANDIDATE_NUM=1 $ git commit -m "[RELEASE] mi-label v${VERSION}-rc${CANDIDATE_NUM}" $ $ # Push changes to main $ git push -u origin main

Build and Deploy Software to Sonatype Maven Repo.

console $ # For operational release $ mvn clean site deploy -P release $ $ # For release candidate $ mvn clean site deploy

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: 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

console $ # For Release Candidate, you may need to delete old SNAPSHOT tag $ git push origin :v$VERSION $ $ # Now tag and push $ git tag v${VERSION} $ git push --tags

Deploy Site to Github Pages

From cloned repo: console $ git checkout gh-pages $ $ # Create specific version site $ mkdir -p $VERSION $ $ # Copy the over to version-specific and default sites $ rsync -av target/site/ $VERSION $ rsync -av $VERSION/* . $ $ git add . $ $ # For operational release $ git commit -m "Deploy v$VERSION docs" $ $ # For release candidate $ git commit -m "Deploy ${VERSION}-rc${CANDIDATE_NUM} 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.

For RELEASE CANDIDATE, ignore this step. console $ git checkout main $ $ # For release candidates, skip to push changes to main $ VERSION=1.16.0-SNAPSHOT $ mvn versions:set -DnewVersion=$VERSION $ git add pom.xml $ git commit -m "Update version for $VERSION development" $ $ # Push changes to main $ git push -u origin main

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.

NOTE: Be sure to add the tar.gz and zip from the target/ directory to the release assets, and use the CHANGELOG generated above to create the RELEASE NOTES.

Snapshot Release

Deploy software to Sonatype SNAPSHOTS Maven repo: console $ # Operational release $ mvn clean site deploy

Maven JAR Dependency Reference

This subsection lists reference URLs for the various releases.

Operational Releases

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

Snapshots

https://oss.sonatype.org/content/repositories/snapshots/gov/nasa/pds/mi-label/

If you want to access snapshots, add the following to your ~/.m2/settings.xml: 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>

📃 License

The project is licensed under the Apache version 2 license. Or it isn't. Change this after consulting with your lawyers.

Owner

  • Name: NASA Planetary Data System Software
  • Login: NASA-PDS
  • Kind: organization
  • Email: pds-operator@jpl.nasa.gov

GitHub Events

Total
  • Create event: 10
  • Issues event: 4
  • Release event: 6
  • Delete event: 11
  • Issue comment event: 10
  • Push event: 22
  • Pull request review event: 1
  • Pull request event: 7
Last Year
  • Create event: 10
  • Issues event: 4
  • Release event: 6
  • Delete event: 11
  • Issue comment event: 10
  • Push event: 22
  • Pull request review event: 1
  • Pull request event: 7

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 23
  • Total pull requests: 94
  • Average time to close issues: 7 days
  • Average time to close pull requests: 17 days
  • Total issue authors: 5
  • Total pull request authors: 7
  • Average comments per issue: 1.52
  • Average comments per pull request: 0.45
  • Merged pull requests: 76
  • Bot issues: 0
  • Bot pull requests: 70
Past Year
  • Issues: 2
  • Pull requests: 46
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 1 month
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.24
  • Merged pull requests: 36
  • Bot issues: 0
  • Bot pull requests: 41
Top Authors
Issue Authors
  • jordanpadams (14)
  • danpolitte (2)
  • agicquelb (2)
  • rgdeen (2)
  • plawton-umd (2)
  • nttoole (1)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (66)
  • jordanpadams (9)
  • nutjob4life (4)
  • rgdeen (2)
  • srlevoe (2)
  • cgobat (1)
  • jpl-jengelke (1)
Top Labels
Issue Labels
bug (15) icebox (9) open.1.5.2 (5) open.1.5.1 (5) open.1.5.0 (5) open.v1.4.0 (5) enhancement (4) s.low (4) s.high (4) s.medium (3) needs:triage (3) security (2) p.should-have (2) requirement (2) i&t.skip (2) p.could-have (2) B14.0 (2) B14.1 (2) invalid (1) B12.1 (1) backwards-incompatible (1) task (1) duplicate (1) p.wont-have (1) s.critical (1) dependencies (1) java (1)
Pull Request Labels
dependencies (65) java (48) github_actions (10) B11.1 (1) sprint-backlog (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total docker downloads: 18
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 12
repo1.maven.org: gov.nasa.pds:mi-label

The Metadata Injector for PDS Labels (MILabel) provides a command-line interface for generating PDS4 Labels using a user provided PDS4 XML template and input (source) data products. The PDS4 XML Templates use Apache Velocity variables and logic to generate the PDS4 labels. For inputs, the tool currently supports detached and attached ODL/PDS3 labels with plans to support VICAR attached labels and CSV files.

  • Versions: 12
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Docker Downloads: 18
Rankings
Dependent repos count: 20.8%
Dependent packages count: 33.0%
Average: 39.8%
Forks count: 52.5%
Stargazers count: 52.8%
Last synced: 6 months ago

Dependencies

pom.xml maven
  • commons-cli:commons-cli 1.2 compile
  • com.fasterxml.jackson.core:jackson-databind 2.12.6.1
  • commons-collections:commons-collections 3.2.2
  • commons-io:commons-io 2.7
  • gov.nasa.jpl.ammos.ids.vicario:vicario 48.0.3-SNAPSHOT
  • gov.nasa.pds:pds3-product-tools 4.1.0
  • org.apache.velocity:velocity 1.7
  • org.apache.velocity:velocity-tools 2.0
  • junit:junit 4.13.1 test
.github/workflows/branch-cicd.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-java v2 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/stable-cicd.yaml actions
  • NASA-PDS/roundup-action stable composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
.github/workflows/unstable-cicd.yaml actions
  • NASA-PDS/roundup-action stable composite
  • actions/cache v3 composite
  • actions/checkout v3 composite