Building

Clone, Install, Build and Run

You’ll need Node.js (which comes with npm) installed on your computer in order to build this app. (See below for a list of platform-specific requirements.) Then, from your command line:

# Clone this repository
git clone https://github.com/nexB/scancode-workbench.git

# Go into the repository
cd scancode-workbench

# Install dependencies and run the app (Native dependencies are handled automatically)
npm install

# Run the app
npm start

Building Requirements

Linux

Note

For CentOS (or linux distros without the new libstdc++), follow these steps:

  • Install the new libstdc++ library:

    yum provides libstdc++
    
  • Update LD_LIBRARY_PATH:

    export LD_LIBRARY_PATH="/usr/local/lib64/:$LD_LIBRARY_PATH"
    
  • Run the application with no-sandbox option:

    ./ScanCode-Workbench-4.0.2-linux-x64/ScanCode-Workbench-4.0.2 --no-sandbox
    

MacOS

  • Python v3.9 or later

  • Node.js 16.x or later

  • npm v8.x or later

  • Command Line Tools for Xcode

    Install using:

    xcode-select --install
    

Windows

  • Python v3.9 or later

    • Make sure your Python path is set. To verify, open a command prompt and see the python version:

    python --version
    
  • Node.js v16.x or later

  • npm v8.x or later

Release Instructions

ScanCode Workbench release is built using electron-forge. You can build the application for your platform using following command:

npm run publish

You can find the executible ScanCode-Workbench-<version> inside out/ScanCode-Workbench-<version>-<os>-<arch> and a distributable archive in dist/ directory.

Archives are built as:
  • tar.gz - Linux / MacOS

  • .zip - Windows

Note

Due to usage of native modules, a build must be done on target platform only. For example, a linux build must be done on linux machine only.

Building Documentation

Create python environment, make docs

# Clone this repository
git clone https://github.com/nexB/scancode-workbench.git

# Go into the docs directory
cd docs/

# Setup virtual environment for python dependencies
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Build Documentation
make html

# Run Documentation server
make docs