{"id":19292197,"url":"https://github.com/nasa-pds/transform","last_synced_at":"2025-04-22T06:32:08.971Z","repository":{"id":44676103,"uuid":"198517222","full_name":"NASA-PDS/transform","owner":"NASA-PDS","description":"Transforms PDS3 and PDS4 product labels and data into various formats.","archived":false,"fork":false,"pushed_at":"2024-12-16T17:23:05.000Z","size":51245,"stargazers_count":14,"open_issues_count":18,"forks_count":1,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-01T20:31:41.862Z","etag":null,"topics":["pds3","pds4","transformations"],"latest_commit_sha":null,"homepage":"https://nasa-pds.github.io/transform/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NASA-PDS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-23T22:25:25.000Z","updated_at":"2024-12-16T17:23:33.000Z","dependencies_parsed_at":"2023-10-03T03:16:05.645Z","dependency_job_id":"8b0c64e1-6ab1-462c-a99e-969ee33a36f7","html_url":"https://github.com/NASA-PDS/transform","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Ftransform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Ftransform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Ftransform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Ftransform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASA-PDS","download_url":"https://codeload.github.com/NASA-PDS/transform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250183292,"owners_count":21388688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pds3","pds4","transformations"],"created_at":"2024-11-09T22:29:36.988Z","updated_at":"2025-04-22T06:32:03.961Z","avatar_url":"https://github.com/NASA-PDS.png","language":"Java","readme":"# Transform Tool\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5756418.svg)](https://doi.org/10.5281/zenodo.5756418) [![🤪 Unstable integration \u0026 delivery](https://github.com/NASA-PDS/transform/actions/workflows/unstable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/transform/actions/workflows/unstable-cicd.yaml) [![😌 Stable integration \u0026 delivery](https://github.com/NASA-PDS/transform/actions/workflows/stable-cicd.yaml/badge.svg)](https://github.com/NASA-PDS/transform/actions/workflows/stable-cicd.yaml)\n\nProject containing software for transforming PDS3 and PDS4 labels and data products into various formats.\n\n# Documentation\nThe documentation for the latest release of the Transform Tool, including release notes, installation and operation of the software are online at https://nasa-pds.github.io/transform/.\n\nIf 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.\n\n# Build\nThe software can be compiled and built with the \"mvn compile\" command but in order \nto create the JAR file, you must execute the \"mvn compile jar:jar\" command. \n\nIn order to create a complete distribution package, execute the \nfollowing commands: \n\n```\n% mvn site\n% mvn package\n```\n\n# Operational Release\n\nA 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.\n\n## Clone fresh repo\n```\ngit clone git@github.com:NASA-PDS/transform.git\n```\n\n## Update Version Numbers\n\nUpdate pom.xml for the release version or use the Maven Versions Plugin, e.g.:\n\n```\n# Skip this step if this is a RELEASE CANDIDATE, we will deploy as SNAPSHOT version for testing\nVERSION=1.10.0\nmvn versions:set -DnewVersion=$VERSION\ngit add pom.xml\n```\n\n## Update Changelog\nUpdate Changelog using [Github Changelog Generator](https://github.com/github-changelog-generator/github-changelog-generator). Note: Make sure you set `$CHANGELOG_GITHUB_TOKEN` in your `.bash_profile` or use the `--token` flag.\n```\n# For RELEASE CANDIDATE, set VERSION to future release version.\ngithub_changelog_generator --future-release v$VERSION\n\n# Only git add for OPERATIONAL release, but will be used later on for Github Release\ngit add CHANGELOG.md\n```\n\n## Commit Changes\nCommit changes using following template commit message:\n```\n# For operational release\ngit commit -m \"[RELEASE] Validate v$VERSION\"\n\n# For release candidate\nCANDIDATE_NUM=1\ngit commit -m \"[RELEASE] Validate v${VERSION}-rc${CANDIDATE_NUM}\"\n\n# Push changes to main\ngit push -u origin main\n```\n\n## Build and Deploy Software to [Sonatype Maven Repo](https://repo.maven.apache.org/maven2/gov/nasa/pds/).\n\n```\n# For operational release\nmvn clean site deploy -P release\n\n# For release candidate\nmvn clean site deploy\n```\n\nNote: 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`:\n```\n\u003cprofiles\u003e\n  \u003cprofile\u003e\n    \u003cactivation\u003e\n      \u003cactiveByDefault\u003etrue\u003c/activeByDefault\u003e\n    \u003c/activation\u003e\n    \u003cproperties\u003e\n      \u003cgpg.executable\u003egpg\u003c/gpg.executable\u003e\n      \u003cgpg.keyname\u003eKEY_NAME\u003c/gpg.keyname\u003e\n      \u003cgpg.passphrase\u003eKEY_PASSPHRASE\u003c/gpg.passphrase\u003e\n    \u003c/properties\u003e\n  \u003c/profile\u003e\n\u003c/profiles\u003e\n\n```\n\n## Push Tagged Release\n```\n# For operational release\ngit tag v${VERSION}\ngit push --tags\n\n# For RELEASE CANDIDATE\ngit tag v${VERSION}-SNAPSHOT\ngit push --tags\n```\n\n## Deploy Site to Github Pages\n\nFrom cloned repo:\n```\ngit checkout gh-pages\n\n# Create specific version site\nmkdir -p $VERSION\n\n# Copy the over to version-specific and default sites\nrsync -av target/site/ $VERSION\nrsync -av $VERSION/* .\n\ngit add .\n\n# For operational release\ngit commit -m \"Deploy v$VERSION docs\"\n\n# For release candidate\ngit commit -m \"Deploy ${VERSION}-rc${CANDIDATE_NUM} docs\"\n\ngit push origin gh-pages\n```\n\n## Update Versions For Development\n\nUpdate `pom.xml` with the next SNAPSHOT version either manually or using Github Versions Plugin.\n\nFor RELEASE CANDIDATE, ignore this step.\n\n```\ngit checkout main\n\n# For release candidates, skip to push changes to main\nVERSION=1.16.0-SNAPSHOT\nmvn versions:set -DnewVersion=$VERSION\ngit add pom.xml\ngit commit -m \"Update version for $VERSION development\"\n\n# Push changes to main\ngit push -u origin main\n```\n\n## Complete Release in Github\nCurrently the process to create more formal release notes and attach Assets is done manually through the [Github UI](https://github.com/NASA-PDS/validate/releases/new) but should eventually be automated via script.\n\n*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.*\n\n# Snapshot Release\n\nDeploy software to Sonatype SNAPSHOTS Maven repo:\n\n```\n# Operational release\nmvn clean site deploy\n```\n\n# Maven JAR Dependency Reference\n\n## Operational Releases\nhttps://search.maven.org/search?q=g:gov.nasa.pds%20AND%20a:validate\u0026core=gav\n\n## Snapshots\nhttps://oss.sonatype.org/content/repositories/snapshots/gov/nasa/pds/validate/\n\nIf you want to access snapshots, add the following to your `~/.m2/settings.xml`:\n```\n\u003cprofiles\u003e\n  \u003cprofile\u003e\n     \u003cid\u003eallow-snapshots\u003c/id\u003e\n     \u003cactivation\u003e\u003cactiveByDefault\u003etrue\u003c/activeByDefault\u003e\u003c/activation\u003e\n     \u003crepositories\u003e\n       \u003crepository\u003e\n         \u003cid\u003esnapshots-repo\u003c/id\u003e\n         \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots\u003c/url\u003e\n         \u003creleases\u003e\u003cenabled\u003efalse\u003c/enabled\u003e\u003c/releases\u003e\n         \u003csnapshots\u003e\u003cenabled\u003etrue\u003c/enabled\u003e\u003c/snapshots\u003e\n       \u003c/repository\u003e\n     \u003c/repositories\u003e\n   \u003c/profile\u003e\n\u003c/profiles\u003e\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Ftransform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-pds%2Ftransform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Ftransform/lists"}