Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Near production ready README
  • Loading branch information
goneall authored Dec 10, 2020
1 parent 68887dd commit eac9039
Showing 1 changed file with 95 additions and 8 deletions.
103 changes: 95 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

<TO BE FILLED IN>
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 <function> <parameters>

## 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 <TO BE FILLED IN>

## Update for new properties or classes
To update Spdx-Tools-Library, the following is a very brief checklist:
Expand Down

0 comments on commit eac9039

Please sign in to comment.