Skip to content

Commit

Permalink
Merge pull request #92 from specter25/jsonparser1
Browse files Browse the repository at this point in the history
[GSoC'21] Pr:5 . Complete the JSON saver
  • Loading branch information
swinslow committed Jul 16, 2021
2 parents 85902a1 + 7aab873 commit 668152c
Show file tree
Hide file tree
Showing 66 changed files with 3,026 additions and 172 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Expand Up @@ -22,7 +22,7 @@ New **code files** should include a [short-form SPDX ID](https://spdx.org/ids) a
// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
```

New **documentation files** should include a [short-form SPDX ID](https://spdx.org/ids) at the top, indicating the project license for code, which is CC-BY-4.0. This should look like the following:
New **documentation files** should include a [short-form SPDX ID](https://spdx.org/ids) at the top, indicating the project license for documentation, which is CC-BY-4.0. This should look like the following:

```
SPDX-License-Identifier: CC-BY-4.0
Expand Down
36 changes: 23 additions & 13 deletions README.md
@@ -1,42 +1,39 @@
[![Build Status](https://github.com/spdx/tools-golang/workflows/build/badge.svg)](https://github.com/spdx/tools-golang/actions)
[![Coverage Status](https://coveralls.io/repos/github/spdx/tools-golang/badge.svg)](https://coveralls.io/github/spdx/tools-golang)

# tools-golang
# SPDX tools-golang

tools-golang is a collection of Go packages intended to make it easier for
Go programs to work with [SPDX®](https://spdx.org/) files.

This software is in an early state, and its API may change significantly.

## Recent news

2021-03-20: **v0.1.0**: initial pre-v1 release tagged, prior to making more
extensive API changes in some pending PRs.
2021-07-04: **v0.2.0**: added support for parsing SPDX JSON files as well as
other improvements and bugfixes. See [RELEASE-NOTES.md](./RELEASE-NOTES.md)
for full details.

## What it does

tools-golang currently works with files conformant to versions 2.1 and 2.2
of the SPDX specification, available at: https://spdx.org/specifications
of the SPDX specification, available at: https://spdx.dev/specifications

tools-golang provides the following packages:

* *spdx* - in-memory data model for the sections of an SPDX document
* *tvloader* - tag-value file loader
* *tvsaver* - tag-value file saver
* *rdfloader* - RDF file loader
* *tvloader* - tag-value document loader
* *tvsaver* - tag-value document saver
* *rdfloader* - RDF document loader
* *jsonloader* - JSON document loader
* *builder* - builds "empty" SPDX document (with hashes) for directory contents
* *idsearcher* - searches for [SPDX short-form IDs](https://spdx.org/ids/) and builds SPDX document
* *licensediff* - compares concluded licenses between files in two packages
* *reporter* - generates basic license count report from SPDX document
* *spdxlib* - various utility functions for manipulating SPDX documents in memory
* *utils* - various utility functions that support the other tools-golang packages

Examples for how to use these packages can be found in the `examples/`
directory.

RDF support was added by @RishabhBhatnagar as part of his Google Summer of
Code 2020 project, and is in the process of being merged into the main
tools-golang code.

## What it doesn't do

tools-golang doesn't currently do any of the following:
Expand All @@ -56,6 +53,19 @@ tools-golang uses https://github.com/spdx/gordf to manage RDF input and output.
Other than that, tools-golang does not require anything outside the Go standard
library.

## Contributors

Thank you to all of the contributors to spdx/tools-golang. A full list can be
found in the GitHub repo and in [the release notes](RELEASE-NOTES.md).

In particular, thank you to the following for major contributions:

JSON parsing support was added by @specter25 as part of his Google Summer of
Code 2021 project.

RDF parsing support was added by @RishabhBhatnagar as part of his Google Summer
of Code 2020 project.

## Licenses

As indicated in `LICENSE-code`, tools-golang **source code files** are
Expand Down
43 changes: 43 additions & 0 deletions RELEASE-NOTES.md
@@ -0,0 +1,43 @@
SPDX-License-Identifier: CC-BY-4.0

# Release Notes for spdx/tools-golang

## 0.2.0

Released on: 2021-07-04

### New Features and Enhancements
* Add support for parsing SPDX JSON: #72, #75, #83, #84, #87
* bug fixes in interim versions: #77, #78, #79, #80, #81, #82
* Improve handling of multiple hash checksum types: #41, #49, #60
* Enable filtering relationships by various relationship types: #71, #74
* Improve package license visibility: #65, #66
* Rename primary branch to 'main': #69
* Add release notes and push release: #85, #90

### Bug fixes
* Fix multiline (`<text>`) wrapping for various fields: #31, #53, #58, #89, #76
* Fix special SPDX IDs in right-hand side of Relationships: #59, #63, #68
* Throw error when parsing tag-value elements without SPDX IDs: #26, #64
* Fix missing colon in 'excludes' for Package Verification Code when saving tag-value documents: #86, #88
* Fix incorrect license statement: #70

### Contributors
* @autarch
* @bisakhmondal
* @ianling
* @matthewkmayer
* @RishabhBhatnagar
* @specter25
* @swinslow

## 0.1.0

Released on: 2021-03-20

### Contributors
* @abhishekspeer
* @goneall
* @RishabhBhatnagar
* @rtgdk
* @swinslow

0 comments on commit 668152c

Please sign in to comment.