From eac9039badd71e85cfe6e26342e191496d74890d Mon Sep 17 00:00:00 2001 From: Gary O'Neall Date: Wed, 9 Dec 2020 20:18:08 -0800 Subject: [PATCH] Update README.md Near production ready README --- README.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 95 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index c3aa85e..5491c95 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,104 @@ -# tools-java -SPDX Command Line Tools using the Spdx-Java-Library +# Overview +The Software Package Data Exchange (SPDX) specification is a standard format for communicating the components, licenses and copyrights associated with a software package. -Note: This tools is in development and is partially implemented. Reviews, suggestions are welcome especially as it relates to the design. Please enter an issue with any suggestions. + * [SPDX License List](http://spdx.org/licenses/) + * [SPDX Vocabulary Specification](http://spdx.org/rdf/terms) -# Commands +These tools are published by the SPDX Workgroup +see [http://spdx.org/](http://spdx.org/) -Following are the commands available: +## Getting Starting - +The SPDX Tool binaries can be downloaded from the [BinTray SPDX Tools Java](https://bintray.com/spdx/spdx-tools/tools-java) repo under the respective release. The package is also available in [Maven Central](https://search.maven.org/artifact/org.spdx/tools-java) (organization org.spdx, artifact tools-java). -# Programmatic Access +See the Syntax section below for the commands available. + +## Contributing +See the file CONTRIBUTING.md for information on making contributions to the SPDX tools. + +## Issues +Report any security related issues by sending an email to [spdx-tools-security@lists.spdx.org](mailto:spdx-tools-security@lists.spdx.org) + +Non-security related issues should be added to the [SPDX tools issues list](https://github.com/spdx/tools-java/issues) + +## Syntax +The command line interface of the spdx tools can be used like this: + + java -jar spdx-tools-jar-with-dependencies.jar + +## SPDX format converters +The following converter tools are provided by the spdx tools: + + * TagToSpreadsheet + * TagToRDF + * RdfToTag + * RdfToHtml + * RdfToSpreadsheet + * SpreadsheetToRDF + * SpreadsheetToTag + +Example to convert a SPDX file from tag to rdf format: + + java -jar spdx-tools-jar-with-dependencies.jar TagToRDF Examples/SPDXTagExample.tag TagToRDF.rdf + +## Compare utilities +The following tools can be used to compare one or more SPDX documents: + + * CompareSpdxDocs + + Example to compare two SPDX files provided in rdf format: + + java -jar spdx-tools-jar-with-dependencies.jar CompareSpdxDocs doc1 doc2 [output] + + * CompareMultipleSpdxDocs + + Example to compare multiple SPDX files provided in rdf format and provide a spreadsheet with the results: + + java -jar spdx-tools-jar-with-dependencies.jar CompareMultipleSpdxDocs output.xls doc1 doc2 ... docN + +## SPDX Viewer +The following tool can be used to "Pretty Print" an SPDX document. + + * SPDXViewer + +Sample usage: + + java -jar spdx-tools-jar-with-dependencies.jar SPDXViewer TestFiles/SPDXRdfExample.rdf + +## Verifier +The following tool can be used to verify an SPDX document: + + * Verify + +Sample usage: + + java -jar spdx-tools-jar-with-dependencies.jar Verify TestFiles/SPDXRdfExample.rdf + +## Generators +The following tool can be used to generate an SPDX verification code from a directory of source files: + + * GenerateVerificationCode sourceDirectory + + Sample usage: + + java -jar spdx-tools-jar-with-dependencies.jar GenerateVerificationCode sourceDirectory [ignoredFilesRegex] + +## SPDX Validation Tool +The SPDX Workgroup provides an online interface to validate, compare, and convert SPDX documents in addition to the command line options above. The [SPDX Validation Tool](http://13.57.134.254/app/) is an all-in-one portal to upload and parse SPDX documents for validation, comparison and conversion and search the SPDX license list. + +# License +A complete SPDX file is available including dependencies is available in the bintray and Maven repos. + + SPDX-License-Identifier: Apache-2.0 + PackageLicenseDeclared: Apache-2.0 + +# Development + +## Build +You need [Apache Maven](http://maven.apache.org/) to build the project: + + mvn clean install -Tools functionality can be accessed programatically by calling ## Update for new properties or classes To update Spdx-Tools-Library, the following is a very brief checklist: