Git Product home page Git Product logo

ndip007 / spdx-build-tool Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 605 KB

Support a continuous integration (CI) generation of SPDX files by creating a plugins or extensions to build tools. These plugins or extensions will generate valid SPDX documents based on the build file metadata and source files.

Home Page: https://github.com/spdx/

License: Other

Python 100.00%
spdx gsoc-2018 build-tool build-tool-integration

spdx-build-tool's Introduction

SPDX Build tool

Build Status

Project synopsis / summary:

Support a continuous integration (CI) generation of SPDX files by creating a plugins or extensions to build tools. These plugins or extensions will generate valid SPDX documents based on the build file metadata and source files. The Yocto build environment currently has some SPDX file generation capabilities, but there is a need for some additional work to integrate some of the existing tools into a more complete integrated toolset. The SPDX Maven Plugin is an example of an existing build tool SPDX generator.

What is the project about? Why is it important?

This project is about the inclusion of high quality license information (for license compliance) to allow its use by downstream users of the code. This is very important because many build environments do not always include license information in their metadata, and do not produce sufficient information for good license compliance. THis project is generally about implementing a build tool spdx file generator plugin for build environments such as the following:

  • MSBuild
  • PIP
  • NPM (Note: NPM does include SPDX compliance license information and tools)
  • DEB

How to test the project.

0. Requirements.

Install python3 venv sudo apt-get install python3-venv Install python 3 sudo apt-get update sudo apt-get install python3 sudo apt-get install python3=3.5.1*

1. Pull the project.

Pull the project into a folder say "spdx"

2. Create a virtual environment for the project.

In the folder "spdx", run the command python3 -m venv .. This will create a virtual environment for the project.

3. Activate the virtual environment.

In the "spdx" folder, run source bin/activate. This will activate the virtual environment for the project.

4. Install the project requirements.

Now run the command pip install -r spdx-build-tool/requirements.txt.

5. Install the project.

cd into the directory "build-tool", ie cd spdx-build-tool. Run pip install -e .

6. The entry points.

There are several entry points, but the one that does the analysis, parsing and download is spdx-build. So, Run spdx-build '~/Desktop/(some-project)/'.

spdx-build-tool's People

Contributors

ndip007 avatar

Watchers

 avatar  avatar

spdx-build-tool's Issues

Make spdx files generation as part of the software build process

Overview

Make the corresponding build tool execute an spdx file as part of the build process, based on the license info gathered.

Deliverable/User story

Should be able to launch a project’s build process and have a full spdx file automatically generated.

Project/Build-Tool Inspector

Write a python tool that inspect the project/build tool (and the declared dependencies) from the outside, and outputs build-tool-agnostic YAML or JSON for all meta-data declared by the build tool (incl. the license, dependencies etc)

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.