Skip to content

Commit

Permalink
Merge pull request #98 from nexB/74-update-README-to-document-import-…
Browse files Browse the repository at this point in the history
…export-save-open

Update README to document JSON-import process #74
  • Loading branch information
jdaguil authored May 26, 2017
2 parents 8020d16 + 3d9e53c commit 873822c
Showing 1 changed file with 23 additions and 17 deletions.
40 changes: 23 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
AboutCode Manager provides an advanced visual UI to help you quickly evaluate
license and other notices identified by [ScanCode](https://github.com/nexB/scancode-toolkit/) and record your conclusion
about the effective license(s) for a component. AboutCode Manager is based on
Electron and will be the primary desktop/GUI tool for using nexB’s AboutCode
tools. This app works on Windows, OS X and Linux operating systems.
[Electron](https://electron.atom.io/) and will be the primary desktop/GUI tool for using nexB’s [AboutCode
tools](https://github.com/nexB/aboutcode). This app works on Windows, OS X and Linux operating systems.

The ScanCode toolkit detects licenses, copyrights and other interesting
information in your code. The AboutCode Manager allows you take the scan results
from the ScanCode Toolkit and create components. By creating these components
within in your codebase, you are creating a software inventory of your product.
As detailed in the [ScanCode README](https://github.com/nexB/scancode-toolkit/), ScanCode detects licenses, copyrights and other interesting information in your code and enables you to format the scan results as JSON or HTML. AboutCode Manager allows you to take the JSON-formatted scan results (HTML-formatted scans are not supported)
from ScanCode and create components. By creating these components
within your codebase, you are creating a software inventory of your product.
The conclusions (Concluded License, Concluded Owner, etc.) you make when
creating your component can then be exported to a JSON file.

Expand All @@ -19,20 +18,20 @@ creating your component can then be exported to a JSON file.

* You can [download the latest release](https://github.com/nexB/aboutcode-manager/releases) for your operating system or build it yourself (see below).
Once downloaded, you can find `AboutCode-Manager` under `dist/AboutCode-Manager-<os>-x64-<version>`.
* AboutCode Manager v1 is only compatible with scans from [ScanCode Toolkit v2.0.0-RC1](https://github.com/nexB/scancode-toolkit/releases) and above which are run with the ScanCode -i option. You need to run ScanCode with the -c (copyright detection) and -l (license detection) options in order to get copyright and license data. The -p option will detect and report package level metadata if available.
* AboutCode Manager v2 is only compatible with scans from [ScanCode Toolkit v2.0.0-RC1](https://github.com/nexB/scancode-toolkit/releases) and above which are run with the ScanCode -i option. You need to run ScanCode with the -c (copyright detection) and -l (license detection) options in order to get copyright and license data. The -p option will detect and report package-level metadata if available.

```bash
./scancode -clip <input> <output_file>
./scancode -clipeu <input> <output_file>
```

* We have provided a set of sample scans that you can quickly review in AboutCode Manager in order to get a sense of its functionality and the types of information captured by a scan. The samples are located at [https://github.com/nexB/aboutcode-manager/tree/develop/samples](https://github.com/nexB/aboutcode-manager/tree/develop/samples). They currently include the following JSON files:
* batik-1.7.1-scan.json
* busybox-1.26.2-scan.json
* dropbear-2016.74-scan.json
* mysql-connector-java-5.1.40-scan.json
* openssl-1.1.0e-scan.json
* We have provided a set of sample scans that you can quickly review in AboutCode Manager in order to get a sense of its functionality and the types of information captured by a scan. The samples are located at [https://github.com/nexB/aboutcode-manager/tree/develop/samples](https://github.com/nexB/aboutcode-manager/tree/develop/samples).

Download one or more of the samples and open the samples from the File open button in AboutCode Manager.
* To import a ScanCode JSON file:
* Open the `File` menu and select `Import JSON File` (keyboard shortcut: <kbd>Ctrl+I</kbd> or <kbd>&#8984;+I</kbd>).
* In the dialog window that opens, navigate to the JSON file you want to import, select the file and click `Open`.
* You will then be prompted to choose a filename and location to save the JSON file as a SQLite database file. Add a filename, select the folder in which you want to save the SQLite database file, and click `Save`.
* AboutCode Manager will then create a SQLite database file from your JSON file, indicated by the status message "Creating Database ..."
* Once the process has finished, the status message will be replaced by an expandable tree displaying the root node of your SQLite database file and, to the right of the tree, a table displaying the root node attributes generated by ScanCode.

See the [wiki](https://github.com/nexB/aboutcode-manager/wiki) for more documentation on how to use AboutCode Manager.

Expand All @@ -44,12 +43,17 @@ Then, from your command line:
```bash
# Clone this repository
git clone https://github.com/nexB/aboutcode-manager.git

# Go into the repository
cd aboutcode-manager

# Install dependencies and run the app
npm install
# Rebuilds native Node.js modules against the version of Node.js that the app is using
./node_modules/.bin/electron-rebuild

# Rebuild native Node.js modules against the version of Node.js that the app is using
./node_modules/.bin/electron-rebuild (MacOS, Linux and Git Bash on Windows)
.\node_modules\.bin\electron-rebuild.cmd (Windows except for Git Bash)

# Run the app
npm start
```
Expand All @@ -65,6 +69,8 @@ $ ./build.sh
After building is done, you can find `AboutCode-Manager` under `dist/AboutCode-Manager-<os>-x64-<version>`.
Archives (tar.gz and .zip) are also built.

Note: A build for any of the three target platforms (Darwin/MacOS, Linux and Windows) must be executed on the targeted platform.

## Testing

Test functionality using:
Expand Down

0 comments on commit 873822c

Please sign in to comment.