Giter VIP home page Giter VIP logo

swiftbom's Issues

Backslash not allowed

Microsoft file locations have a backslash.

However backslashes are not allowed in Json.

SPDX Relationship support

Current implementation expects exactly one relationship with identifier not starting with "NO" and assumes that this describes how another component CONTAINS itself.
Drawbacks

  • A component can only be included once
  • Any generator defining the inclusion otherwise will result in wrong association

Add support for loading bom sets

Implementation assumes that first item is primary. When loading sets of boms then IDs may occur multiple times as reference in parent as well as primary in dependent bom.

  • Simplify parser component access by storing components as hash of component IDs.
  • Hash allows easy matching of existing bom entries avoiding duplicates

Component add/remove incorrect

On first load one extra component is shown that needs to be removed before being able to export.

Subsequent loads add numerous additional empty components without possibility to remove.

Remove NOASSERTION on package relationship

Current implementation adds to each component the following line
Relationship: $SPDXID CONTAINS NOASSERTION

However we expect that all dependent components are fully declared. So why add this line?

Child BOM handling broken

Child BOM should support two modes:

  1. read primary component into BOM
  2. include full recursive content

Implementation looks very incomplete and does not even read primary component information but locks controls.

Support optional tags

Original implementation assumes that for each package the same tags are present. If not the association between tags and components gets messed up.

Propose to require PackageName as first tag of a component.

Verify license IDS

Any license ID provided shall be either taken from the license list in Annex A of the SPDX specification or it must be defined within the SBOM.

Check that valid only license IDs are used.

Check Nuget external reference

An external nuget reference must consist of a name followed by a slash and followed by a version number.

Add verification regex.

Primary component shouldn't be removed from khash

After assigning primary component it is removed from list. Not sure why this is needed. There was a glitch that the removal tested for equal list length which is not guaranteed for optional items resulting in wrong association.

Support for RDF

Some tools output RDF and it would be nice to be able to import.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.