diff --git a/.github/workflows/docs-ci.yml b/.github/workflows/docs-ci.yml new file mode 100644 index 00000000..9785e8eb --- /dev/null +++ b/.github/workflows/docs-ci.yml @@ -0,0 +1,36 @@ +name: CI Documentation + +on: [push, pull_request] + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + build: + runs-on: ubuntu-20.04 + + strategy: + max-parallel: 4 + matrix: + python-version: [3.9] + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Dependencies + run: pip install -r docs/requirements.txt + + - name: Check Sphinx Documentation build minimally + working-directory: ./docs + run: sphinx-build -E -W source build + + - name: Check for documentation style errors + working-directory: ./docs + run: ./scripts/doc8_style_check.sh + diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 00000000..7959d74c --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,26 @@ +# .readthedocs.yml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build PDF & ePub +formats: + - epub + - pdf + +# Where the Sphinx conf.py file is located +sphinx: + configuration: docs/source/conf.py + +# specify build OS +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +# Setting the python version and doc build requirements +python: + install: + - requirements: docs/requirements.txt \ No newline at end of file diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst new file mode 100644 index 00000000..cec1075d --- /dev/null +++ b/CODE_OF_CONDUCT.rst @@ -0,0 +1,86 @@ +Contributor Covenant Code of Conduct +==================================== + +Our Pledge +---------- + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our +project and our community a harassment-free experience for everyone, +regardless of age, body size, disability, ethnicity, gender identity and +expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +Our Standards +------------- + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual + attention or advances +- Trolling, insulting/derogatory comments, and personal or political + attacks +- Public or private harassment +- Publishing others’ private information, such as a physical or + electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +Our Responsibilities +-------------------- + +Project maintainers are responsible for clarifying the standards of +acceptable behavior and are expected to take appropriate and fair +corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other +contributions that are not aligned to this Code of Conduct, or to ban +temporarily or permanently any contributor for other behaviors that they +deem inappropriate, threatening, offensive, or harmful. + +Scope +----- + +This Code of Conduct applies both within project spaces and in public +spaces when an individual is representing the project or its community. +Examples of representing a project or community include using an +official project e-mail address, posting via an official social media +account, or acting as an appointed representative at an online or +offline event. Representation of a project may be further defined and +clarified by project maintainers. + +Enforcement +----------- + +Instances of abusive, harassing, or otherwise unacceptable behavior may +be reported by contacting the project team at pombredanne@gmail.com +or on the Gitter chat channel at https://matrix.to/#/#aboutcode-org_discuss:gitter.im +All complaints will be reviewed and investigated and will result in a +response that is deemed necessary and appropriate to the circumstances. +The project team is obligated to maintain confidentiality with regard to +the reporter of an incident. Further details of specific enforcement +policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in +good faith may face temporary or permanent repercussions as determined +by other members of the project’s leadership. + +Attribution +----------- + +This Code of Conduct is adapted from the `Contributor Covenant`_ , +version 1.4, available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +.. _Contributor Covenant: https://www.contributor-covenant.org \ No newline at end of file diff --git a/README.md b/README.md index 1cdbad48..33b072c2 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ license and other notices identified by and other interesting information in your code. ScanCode Workbench is based on -[Electron](https://electron.atom.io/) and will be the primary desktop/GUI tool +[Electron](https://www.electronjs.org/) 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. @@ -23,8 +23,8 @@ works on Windows, OS X and Linux operating systems. * You can [download the latest release](https://github.com/nexB/scancode-workbench/releases) for your operating system or build it yourself (see below). Once downloaded, you can find `ScanCode-Workbench` under `dist/ScanCode-Workbench---` -* ScanCode Workbench >= v2 is only compatible with scans from -[ScanCode v2.0.0](https://github.com/nexB/scancode-toolkit/releases) and +* ScanCode Workbench >= v4 is only compatible with scans from +[ScanCode v32.0.0](https://github.com/nexB/scancode-toolkit/releases) and above which are run with the ScanCode `-i` option. For a list of available ScanCode options see [How To: Set what will be detected in a scan](https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_set_what_will_be_detected_in_a_scan.html) @@ -96,6 +96,6 @@ See the NOTICE file for more details. If you have a question, a suggestion or find a bug, enter an issue. -[![Gitter chat](https://badges.gitter.im/aboutcode-org/gitter.png)](https://gitter.im/aboutcode-org/discuss) +[![Gitter chat](https://badges.gitter.im/aboutcode-org/gitter.png)](https://matrix.to/#/#aboutcode-org_discuss:gitter.im) -For questions and chats, you can join the Gitter channel at https://gitter.im/aboutcode-org/discuss +For questions and chats, you can join the Gitter channel at https://matrix.to/#/#aboutcode-org_discuss:gitter.im diff --git a/LICENSE b/apache-2.0.LICENSE similarity index 100% rename from LICENSE rename to apache-2.0.LICENSE diff --git a/archive_builder.py b/archive_builder.py index 81c1f8ba..6431ee7b 100755 --- a/archive_builder.py +++ b/archive_builder.py @@ -1,6 +1,6 @@ #!/usr/bin/python -# Copyright (c) 2017 - 2019 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. """ Run this script to build ScanCode Workbench. The script detects which OS diff --git a/attribution.html b/attribution.html index 88684608..9200deb4 100644 --- a/attribution.html +++ b/attribution.html @@ -58,13 +58,13 @@

About ScanCode Workbench 4.0.0:

-  Copyright (c) 2016 - 2019 nexB Inc. and others. All rights reserved.
   Software license
   ================
 
-  Copyright (c) 2016 nexB Inc. and others. All rights reserved.
+  Copyright (c) nexB Inc. and others. All rights reserved.
   https://nexb.com and https://github.com/nexB/scancode-workbench/
   The ScanCode Workbench software is licensed under the Apache License version 2.0.
   ScanCode is a trademark of nexB Inc.
diff --git a/docs/.gitignore b/docs/.gitignore
index dc3f9d59..887f56e8 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1,5 +1,5 @@
 # Virtual environment
-.venv/
+venv/
 
 # sphinx build folder
 build/
diff --git a/docs/Makefile b/docs/Makefile
index d0c3cbf1..788b0396 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -5,6 +5,7 @@
 # from the environment for the first two.
 SPHINXOPTS    ?=
 SPHINXBUILD   ?= sphinx-build
+SPHINXAUTOBUILD = sphinx-autobuild
 SOURCEDIR     = source
 BUILDDIR      = build
 
@@ -14,6 +15,13 @@ help:
 
 .PHONY: help Makefile
 
+# Run the development server using sphinx-autobuild
+docs:
+	@echo
+	@echo "Starting up the docs server..."
+	@echo
+	$(SPHINXAUTOBUILD) --port 8000 --watch ${SOURCEDIR} $(SOURCEDIR) "$(BUILDDIR)/html" $(SPHINXOPTS) $(O)
+
 # Catch-all target: route all unknown targets to Sphinx using the new
 # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
 %: Makefile
diff --git a/docs/README.md b/docs/README.md
index 84e20f91..16c53864 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -2,13 +2,17 @@
 The first step you want to do is create the python virtual environment:
 ```
 $ cd docs/
-$ python3 -m venv .venv
-$ source .venv/bin/active
+$ python3 -m venv venv
+$ source venv/bin/activate
 $ pip install -r requirements.txt
 ```
 
-Now, you can run the various Spinx build things:
+Run Sphinx documentation server:
+```
+$ make docs
+```
+
+Build Sphinx documentation
 ```
 $ make html
-$ etc
 ```
diff --git a/docs/make.bat b/docs/make.bat
index 9534b018..4a3c1a48 100644
--- a/docs/make.bat
+++ b/docs/make.bat
@@ -1,35 +1,47 @@
-@ECHO OFF
-
-pushd %~dp0
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
-	set SPHINXBUILD=sphinx-build
-)
-set SOURCEDIR=source
-set BUILDDIR=build
-
-if "%1" == "" goto help
-
-%SPHINXBUILD% >NUL 2>NUL
-if errorlevel 9009 (
-	echo.
-	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
-	echo.installed, then set the SPHINXBUILD environment variable to point
-	echo.to the full path of the 'sphinx-build' executable. Alternatively you
-	echo.may add the Sphinx directory to PATH.
-	echo.
-	echo.If you don't have Sphinx installed, grab it from
-	echo.http://sphinx-doc.org/
-	exit /b 1
-)
-
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-goto end
-
-:help
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
-
-:end
-popd
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+if "%SPHINXAUTOBUILD%" == "" (
+	set SPHINXAUTOBUILD=sphinx-autobuild
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+if "%1" == "" goto help
+
+if "%1" == "docs" goto docs
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.http://sphinx-doc.org/
+	exit /b 1
+)
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:docs
+@echo
+@echo Starting up the docs server...
+@echo
+%SPHINXAUTOBUILD% --port 8000 --watch %SOURCEDIR% %SOURCEDIR% %BUILDDIR%\html %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 90747e5a..f2b6ba73 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,26 +1,9 @@
-alabaster==0.7.12
-Babel==2.9.1
-certifi==2019.11.28
-chardet==3.0.4
-colorama==0.4.3
-docutils==0.16
-idna==2.9
-imagesize==1.2.0
-Jinja2==2.11.3
-MarkupSafe==1.1.1
-packaging==20.3
-Pygments==2.7.4
-pyparsing==2.4.6
-pytz==2019.3
-requests==2.23.0
-six==1.14.0
-snowballstemmer==2.0.0
-Sphinx==2.4.4
-sphinx-rtd-theme==0.4.3
-sphinxcontrib-applehelp==1.0.2
-sphinxcontrib-devhelp==1.0.2
-sphinxcontrib-htmlhelp==1.0.3
-sphinxcontrib-jsmath==1.0.1
-sphinxcontrib-qthelp==1.0.3
-sphinxcontrib-serializinghtml==1.1.4
-urllib3==1.26.5
+Sphinx>=5.0.2
+sphinx-autobuild
+sphinx-reredirects>=0.1.2
+sphinx-rtd-theme>=1.0.0
+sphinx-rtd-dark-mode>=1.3.0
+doc8>=0.11.2
+jinja2
+markupSafe
+sphinx-copybutton
diff --git a/docs/scripts/doc8_style_check.sh b/docs/scripts/doc8_style_check.sh
index 95555f4c..94163239 100755
--- a/docs/scripts/doc8_style_check.sh
+++ b/docs/scripts/doc8_style_check.sh
@@ -2,4 +2,4 @@
 # halt script on error
 set -e
 # Check for Style Code Violations
-doc8 --max-line-length 100 ./docs/source --ignore D000 --quiet
\ No newline at end of file
+doc8 --max-line-length 100 source --ignore D000 --quiet
\ No newline at end of file
diff --git a/docs/scripts/sphinx_build_link_check.sh b/docs/scripts/sphinx_build_link_check.sh
index 2ef65e96..c5426863 100755
--- a/docs/scripts/sphinx_build_link_check.sh
+++ b/docs/scripts/sphinx_build_link_check.sh
@@ -2,4 +2,4 @@
 # halt script on error
 set -e
 # Build locally, and then check links
-sphinx-build -E -W -b linkcheck ./docs/source ./docs/build
\ No newline at end of file
+sphinx-build -E -W -b linkcheck source build
\ No newline at end of file
diff --git a/docs/source/_static/theme_overrides.css b/docs/source/_static/theme_overrides.css
index 3c5c9bc1..9662d63a 100644
--- a/docs/source/_static/theme_overrides.css
+++ b/docs/source/_static/theme_overrides.css
@@ -1,38 +1,166 @@
 body {
     color: #000000;
-    /* this is the font-family used in the SPATS wiki */
-    /* font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji; */
+}
+
+p {
+    margin-bottom: 10px;
+}
+
+.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul {
+    margin-bottom: 10px;
+}
+
+.custom_header_01 {
+    color: #cc0000;
+    font-size: 22px;
+    font-weight: bold;
+    line-height: 50px;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    margin-bottom: 20px;
+    margin-top: 20px;
+}
+
+h5 {
+    font-size: 18px;
+    color: #000000;
+    font-style: italic;
+    margin-bottom: 10px;
+}
+
+h6 {
+    font-size: 15px;
+    color: #000000;
+    font-style: italic;
+    margin-bottom: 10px;
+}
+
+/* custom admonitions */
+/* success */
+.custom-admonition-success  .admonition-title {
+    color: #000000;
+    background: #ccffcc;
+    border-radius: 5px 5px 0px 0px;
+}
+div.custom-admonition-success.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #cccccc;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+/* important */
+.custom-admonition-important  .admonition-title {
+    color: #000000;
+    background: #ccffcc;
+    border-radius: 5px 5px 0px 0px;
+    border-bottom: solid 1px #000000;
+}
+div.custom-admonition-important.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #cccccc;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+/* caution */
+.custom-admonition-caution  .admonition-title {
+    color: #000000;
+    background: #ffff99;
+    border-radius: 5px 5px 0px 0px;
+    border-bottom: solid 1px #e8e8e8;
+}
+div.custom-admonition-caution.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #cccccc;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+/* note */
+.custom-admonition-note  .admonition-title {
+    color: #ffffff;
+    background: #006bb3;
+    border-radius: 5px 5px 0px 0px;
+}
+div.custom-admonition-note.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #cccccc;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+/* todo */
+.custom-admonition-todo  .admonition-title {
+    color: #000000;
+    background: #cce6ff;
+    border-radius: 5px 5px 0px 0px;
+    border-bottom: solid 1px #99ccff;
+}
+div.custom-admonition-todo.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #99ccff;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+/* examples */
+.custom-admonition-examples  .admonition-title {
+    color: #000000;
+    background: #ffe6cc;
+    border-radius: 5px 5px 0px 0px;
+    border-bottom: solid 1px #d8d8d8;
+}
+div.custom-admonition-examples.admonition {
+    color: #000000;
+    background: #ffffff;
+    border: solid 1px #cccccc;
+    border-radius: 5px;
+    box-shadow: 1px 1px 5px 3px #d8d8d8;
+    margin: 20px 0px 30px 0px;
+}
+
+.wy-nav-content {
+    max-width: 100%;
+    padding-right: 100px;
+    padding-left: 100px;
+    background-color: #f2f2f2;
+}
+
+div.rst-content {
+    background-color: #ffffff;
+    border: solid 1px #e5e5e5;
+    padding: 20px 40px 20px 40px;
 }
 
 .rst-content .guilabel {
-    border: 0;
-    background: #e6ffff;
-    font-size: 16px;
+    border: 1px solid #ffff99;
+    background: #ffff99;
+    font-size: 100%;
     font-weight: normal;
     border-radius: 4px;
-    padding: 4px 6px;
+    padding: 2px 0px;
     margin: auto 2px;
-
     vertical-align: middle;
 }
 
 .rst-content kbd {
-    -moz-border-radius:3px;
-    -moz-box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;
-    -webkit-border-radius:3px;
-    -webkit-box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;
-    background-color:#f7f7f7;
-    border:1px solid #ccc;
-    border-radius:3px;
-    box-shadow:0 1px 0 rgba(0,0,0,0.2),0 0 0 2px #fff inset;
-    color:#333;
-    display:inline-block;
-    font-family:Arial,Helvetica,sans-serif;
-    font-size: 13px;
-    line-height:1.4;
-    margin:0 .1em;
-    padding: 2px 3px 0px 3px;
-    text-shadow:0 1px 0 #fff;
+    font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;
+    border: solid 1px #d8d8d8;
+    background-color: #f5f5f5;
+    padding: 0px 3px;
+    border-radius: 3px;
 }
 
 .wy-nav-content-wrap a {
@@ -69,7 +197,10 @@ body {
 }
 
 .colwidths-given th {
-    border: solid 1px #e8e8e8 !important;
+    border: solid 1px #d8d8d8 !important;
+}
+.colwidths-given td {
+    border: solid 1px #d8d8d8 !important;
 }
 
 /*handles single-tick inline code*/
@@ -85,14 +216,14 @@ body {
 .rst-content pre.literal-block, .rst-content div[class^="highlight"] pre, .rst-content .linenodiv pre {
     font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;
     font-size: 13px;
-    line-height: 1.5;
     overflow: visible;
     white-space: pre-wrap;
+    color: #000000;
 }
 
 .rst-content pre.literal-block, .rst-content div[class^='highlight'] {
-    border: 0;
-    background-color: #f5f5f5;
+    background-color: #f8f8f8;
+    border: solid 1px #e8e8e8;
 }
 
 /* This enables inline code to wrap. */
@@ -101,13 +232,24 @@ code, .rst-content tt, .rst-content code {
     padding: 2px 3px 1px;
     border-radius: 3px;
     font-size: 13px;
+    background-color: #ffffff;
+}
+
+/* use this added class for code blocks attached to bulleted list items */
+.highlight-top-margin {
+    margin-top: 20px !important;
+}
+
+/* change color of inline code block */
+span.pre {
+    color: #e01e5a;
 }
 
 .wy-body-for-nav blockquote {
     margin: 1em 0;
     padding-left: 1em;
     border-left: 4px solid #ddd;
-    color: #6a6a6a;
+    color: #000000;
 }
 
 /* Fix the unwanted top and bottom padding inside a nested bulleted/numbered list */
@@ -137,8 +279,10 @@ code, .rst-content tt, .rst-content code {
     line-height: 24px;
 }
 
-.with-border {
-    border: solid 1px #cccccc;
+/* fix extra vertical spacing in page toctree */
+.rst-content .toctree-wrapper ul li ul, article ul li ul {
+    margin-top: 0;
+    margin-bottom: 0;
 }
 
 /* this is used by the genindex added via layout.html (see source/_templates/) to sidebar toc */
@@ -153,9 +297,14 @@ code, .rst-content tt, .rst-content code {
 }
 
 .toc-index-div {
-    border-top: solid 1px #666666;
+    border-top: solid 1px #000000;
     margin-top: 10px;
-    padding-top: 10px;
+    padding-top: 5px;
+}
+
+.indextable ul li {
+    font-size: 14px;
+    margin-bottom: 5px;
 }
 
 /* The next 2 fix the poor vertical spacing in genindex.html (the alphabetized index) */
@@ -164,21 +313,41 @@ code, .rst-content tt, .rst-content code {
 }
 
 div.genindex-jumpbox {
-    margin-bottom: 20px;
+    margin-bottom: 10px;
 }
 
-/* This applies to a 'figure' -- an 'image' with 'caption' and optional 'legend' */
-/* See, e.g., https://docutils.sourceforge.io/docs/ref/rst/directives.html#figure */
-.legend p {
-    font-size: 14px;
-    margin-bottom: 0px;
-    padding-bottom: 0px;
+/* rst image classes */
+
+.clear-both {
+    clear: both;
+  }
+
+.float-left {
+    float: left;
+    margin-right: 20px;
+}
+
+img {
+    border: solid 1px #e8e8e8;
+}
+
+/* These are custom and need to be defined in conf.py to access in all pages, e.g., '.. role:: red' */
+.img-title {
     color: #000000;
+    /* neither padding nor margin works for vertical spacing bc it's a span -- line-height does, sort of */
+    line-height: 3.0;
     font-style: italic;
+    font-weight: 600;
 }
 
-/* inserting figure into bulleted list has 0 margin at top and too much (24px) at bottom */
-.rst-content div.figure {
-    margin-top: 10px;
-    margin-bottom: 5px;
-}
\ No newline at end of file
+.img-title-para {
+    color: #000000;
+    margin-top: 20px;
+    margin-bottom: 0px;
+    font-style: italic;
+    font-weight: 500;
+}
+
+.red {
+    color: red;
+}
diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html
deleted file mode 100644
index 1b258dc4..00000000
--- a/docs/source/_templates/layout.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{% extends "!layout.html" %}
-
-  {% block menu %}
-    {{ super() }}
-    
- Index -
- {% endblock %} \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index 8d5c737b..7d2a160c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,13 +18,11 @@ # -- Project information ----------------------------------------------------- project = 'ScanCode Workbench Documentation' -copyright = '2020 nexB Inc.' -author = 'nexB Inc.' - -version = '0.0.1' -# The full version, including alpha/beta/rc tags -release = version - +copyright = 'nexB Inc. and others' +author = 'nexB Inc. and others' +github_user = "nexB" +github_repo = "scancode-workbench" +github_branch = "update/docs" # -- General configuration --------------------------------------------------- @@ -32,17 +30,32 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.intersphinx' + "sphinx.ext.intersphinx", + 'sphinx_rtd_theme', + "sphinx_rtd_dark_mode", + "sphinx_reredirects", + "sphinx.ext.extlinks", + "sphinx_copybutton", ] -master_doc = 'index' + +# Redirects for olds pages +# See https://documatt.gitlab.io/sphinx-reredirects/usage.html +redirects = {} + +# This points to aboutcode.readthedocs.io +# In case of "undefined label" ERRORS check docs on intersphinx to troubleshoot +# Link was created at commit - https://github.com/nexB/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83 intersphinx_mapping = { + "aboutcode": ("https://aboutcode.readthedocs.io/en/latest/", None), 'scancode-toolkit': ('https://scancode-toolkit.readthedocs.io/en/latest/', None), } +default_dark_mode = False + # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -55,35 +68,55 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] + +master_doc = "index" html_context = { - 'css_files': [ - '_static/theme_overrides.css', # override wide tables in RTD theme - ], "display_github": True, - "github_user": "nexB", - "github_repo": "scancode-workbench", - "github_version": "develop", # branch + "github_user": github_user, + "github_repo": github_repo, + "github_version": github_branch, # branch "conf_py_path": "/docs/source/", # path in the checkout to the docs root - } - -# If false, no index is generated. -# -# html_use_index = True +} -# If true, the index is split into individual pages for each letter. -# -# html_split_index = False +html_css_files = ["_static/theme_overrides.css"] -# If true, links to the reST sources are added to the pages. -# -# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. html_show_sphinx = True + +# Define CSS and HTML abbreviations used in .rst files. These are examples. +# .. role:: is used to refer to styles defined in _static/theme_overrides.css and is used like this: :red:`text` +rst_prolog = """ +.. |psf| replace:: Python Software Foundation + +.. # define a hard line break for HTML +.. |br| raw:: html + +
+ +.. role:: red + +.. role:: img-title + +.. role:: img-title-para + +""" + +# Define reusable URLs using extlinks +extlinks = { + 'github_repo': (f"https://github.com/{github_user}/{github_repo}/%s", '%s'), + 'scan_samples': (f"https://github.com/{github_user}/{github_repo}/blob/{github_branch}/samples/%s", '%s'), +} + +# -- Options for LaTeX output ------------------------------------------------- + +latex_elements = { + 'classoptions': ',openany,oneside' +} diff --git a/docs/source/contribute/building.rst b/docs/source/contribute/building.rst index a6dbe73b..ed9c0b89 100644 --- a/docs/source/contribute/building.rst +++ b/docs/source/contribute/building.rst @@ -7,27 +7,21 @@ 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: +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: -.. code-block:: none +.. code-block:: bash # Clone this repository - $ git clone https://github.com/nexB/scancode-workbench.git + git clone https://github.com/nexB/scancode-workbench.git # Go into the repository - $ cd scancode-workbench - - # Install dependencies and run the app - $ npm install + cd scancode-workbench - # Rebuild native Node.js modules against the app version of Node.js - # MacOS, Linux and Git Bash on Windows - $ $(npm bin)/electron-rebuild - # Windows except for Git Bash - > .\node_modules\.bin\electron-rebuild.cmd + # Install dependencies and run the app (Native dependencies are handled automatically) + npm install # Run the app - $ npm start + npm start Building Requirements ===================== @@ -35,53 +29,82 @@ Building Requirements Linux ----- -- Python 3.7 -- `Node.js version `_ 6.x or later -- npm 3.10.x or later but <= 5.2.0 (run ``npm install npm@5.2.0 -g``) +- `Python `__ v3.7 or later +- `Node.js `__ 14.x or later +- `npm `__ v6.14.4 or later + +.. include:: ../rst_snippets/centos-note.rst MacOS ----- -- Python 3.7 -- `Node.js `_ >=6.x or later but <=8.9.4 -- npm 3.10.x or later but <= 5.2.0 (run ``npm install npm@5.2.0 -g``) -- Command Line Tools for `Xcode `_ - (run ``xcode-select --install`` to install) +- `Python `__ v3.7 or later +- `Node.js `__ 14.x or later +- `npm `__ v6.14.4 or later +- Command Line Tools for `Xcode `_ + Install using: + + .. code-block:: bash + + xcode-select --install Windows ------- -- `Node.js `_ 6.x or later -- npm 3.10.x or later but <= 5.2.0 (``run npm install npm@5.2.0 -g``) -- Python v3.7.x +- `Python `__ v3.7 or later - * Make sure your Python path is set. To verify, open a command prompt and type - ``python --version``. Then, the version of python will be displayed. + * Make sure your Python path is set. To verify, open a command prompt and see the python version: -- Visual C++ Build Environment: + .. code-block:: bash - * Either: + python --version - - Option 1: Install `Visual C++ Build Tools 2015 `_ - (or modify an existing installation) and select Common Tools for Visual C++ during setup. - This also works with the free Community and Express for Desktop editions. - - Option 2: `Visual Studio 2015 `_ (Community Edition or better) +- `Node.js `__ v14.x or later +- `npm `__ v6.14.4 or later - * Note: Windows 7 requires `.NET Framework 4.5.1 `_ - * Launch cmd, ``npm config set msvs_version 2015`` Release Instructions ==================== -You can build a ``dist`` directory containing executables for any one of three target platforms +You can build a ``dist`` directory and a ``tar/zip`` file containing executable for your platform by running: -.. code-block:: none +.. code-block:: bash - $ python build.py + npm run publish After building is done, you can find ScanCode-Workbench under -``dist/ScanCode-Workbench--x64-``. Archives (``tar.gz`` and ``.zip``) -are also built. +``dist/ScanCode-Workbench---``. + +Archives are also built as: + - ``tar.gz`` - Linux / MacOS + - ``.zip`` - Windows .. Note:: A build for any of the three target platforms must be executed on the targeted platform. + +Building Documentation +====================== + +Create python environment, make docs + + +.. code-block:: none + + # 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 + python3 -m venv venv + source venv/bin/activate + + # Install dependencies + pip install -r requirements.txt + + # Build Documentation + make html + + # Run Documentation server + make docs diff --git a/docs/source/contribute/community-channels.rst b/docs/source/contribute/community-channels.rst index 39b8cefc..bd5610b2 100644 --- a/docs/source/contribute/community-channels.rst +++ b/docs/source/contribute/community-channels.rst @@ -4,6 +4,4 @@ If you have a question, a suggestion or find a bug, `enter an issue `__. -For questions and chats, you can join the Gitter channel at https://gitter.im/aboutcode-org/discuss - -:guilabel:`[more to come]` +For questions and chats, you can join the Gitter channel at ``_ diff --git a/docs/source/contribute/contributing-code.rst b/docs/source/contribute/contributing-code.rst index 6a60c46b..5adf4b6f 100644 --- a/docs/source/contribute/contributing-code.rst +++ b/docs/source/contribute/contributing-code.rst @@ -2,4 +2,8 @@ :index:`Contributing Code` ========================== -:guilabel:`[to come]` +- Contributions comes as bugs/questions/issues and as pull requests. +- Source code and runtime data are in the ``src/`` directory. +- Test code and test data are in the ``tests/`` directory. +- We use DCO signoff in commit messages, like Linux does. + diff --git a/docs/source/contribute/index.rst b/docs/source/contribute/index.rst index 5107e9bd..52d242bf 100644 --- a/docs/source/contribute/index.rst +++ b/docs/source/contribute/index.rst @@ -4,8 +4,6 @@ :index:`Contribute` =================== -:guilabel:`[Intro to come.]` - .. toctree:: :maxdepth: 3 diff --git a/docs/source/contribute/reporting-issues.rst b/docs/source/contribute/reporting-issues.rst index 890c407c..15ca81dd 100644 --- a/docs/source/contribute/reporting-issues.rst +++ b/docs/source/contribute/reporting-issues.rst @@ -3,3 +3,5 @@ ========================= If you want to report an issue in case you find a bug or want to suggest a new feature, `report here `__. + +For questions and chats, you can join the Gitter channel at https://gitter.im/aboutcode-org/discuss diff --git a/docs/source/contribute/testing.rst b/docs/source/contribute/testing.rst index 26e0cd0e..0086286f 100644 --- a/docs/source/contribute/testing.rst +++ b/docs/source/contribute/testing.rst @@ -8,4 +8,7 @@ Test ABCM functionality using: $ npm test -:guilabel:`[Maybe add details about location of tests, examples of how to create?]` +Tests are written in folder ``tests/`` utilising the sample scans in ``tests/test-scans`` + +- ``file.test.ts`` - Test assertions +- ``file.test.data.ts`` - Data samples per test file diff --git a/docs/source/definitions.rst b/docs/source/definitions.rst new file mode 100644 index 00000000..8403e1c2 --- /dev/null +++ b/docs/source/definitions.rst @@ -0,0 +1 @@ +.. |purl_description| replace:: A package URL is used to identify and locate a software package in a mostly universal and uniform way across programing languages, package managers, packaging conventions, tools, APIs and databases. diff --git a/docs/source/getting-started/data/initial_load_getting_started.png b/docs/source/getting-started/data/initial_load_getting_started.png index 97e3bbf4..efdb32e8 100644 Binary files a/docs/source/getting-started/data/initial_load_getting_started.png and b/docs/source/getting-started/data/initial_load_getting_started.png differ diff --git a/docs/source/getting-started/index.rst b/docs/source/getting-started/index.rst index 47e20399..c6f8a06b 100644 --- a/docs/source/getting-started/index.rst +++ b/docs/source/getting-started/index.rst @@ -7,12 +7,17 @@ Download and Install ======================= -- You can download the latest ScanCode Workbench release for your Windows, OS X or Linux - operating system from the `ScanCode Workbench releases page `__. - Once downloaded, you'll find the ScanCode Workbench executable in the - ``ScanCode-Workbench--x64-`` folder. +- ScanCode Workbench is available for Windows, macOS and Linux - + `ScanCode Workbench releases `__. + +- + Once downloaded, you'll find the ScanCode Workbench executable inside the + ``ScanCode Workbench--`` folder. + On Windows 10, for example, the executable will be named `ScanCode-Workbench.exe`. +.. include:: ../rst_snippets/centos-note.rst + - If you're interested in digging into the code, you can also use ScanCode Workbench by cloning the GitHub repository and building it yourself -- see the :ref:`Contribute/Building` section for details. @@ -20,15 +25,19 @@ Download and Install ScanCode Workbench-ScanCode Toolkit Compatibility ================================================= -- ScanCode Workbench >= v3.1.1 is only compatible with scans from ScanCode v3.1.1 and above - that have been run with the ScanCode Toolkit ``-i`` option. +- ScanCode Workbench v4.x is only compatible with scans from ScanCode v32.x and above + that have been run with ScanCode Toolkit. + +- You would typically create your scan with the following command:: - - A list of available ScanCode Toolkit options is available in the ScanCode Toolkit - documentation: - :doc:`scancode-toolkit:tutorials/how_to_set_what_will_be_detected_in_a_scan`. + scancode -clipeu --json-pp -- You would typically create your scan with the following command: - ``./scancode -clipeu `` +.. Note:: + A list of available ScanCode Toolkit options is available in the ScanCode Toolkit + documentation: + :doc:`scancode-toolkit:tutorials/how_to_set_what_will_be_detected_in_a_scan`. + Also see :doc:`scancode-toolkit:tutorials/how_to_run_a_scan` for more details + on running a ScanCode Toolkit scan. Open ScanCode Workbench and Load a ScanCode Toolkit Scan ======================================================== @@ -47,7 +56,7 @@ Open ScanCode Workbench and Load a ScanCode Toolkit Scan - Keep or modify the default SQLite filename and click :kbd:`Save`. - You're now looking at your scan data displayed in the Table View -- the Table View itself is on - the right, and the Directory Tree (which is visible in all views) is on the left. + the right, and the Directory Tree (shown in resource level views) is on the left. .. figure:: data/initial_load_getting_started.png :class: with-border diff --git a/docs/source/how-to-guides/explore-your-data/data/chart-summary-attribute.gif b/docs/source/how-to-guides/explore-your-data/data/chart-summary-attribute.gif new file mode 100644 index 00000000..97e6e6a4 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/chart-summary-attribute.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/chart-summary-filetree.gif b/docs/source/how-to-guides/explore-your-data/data/chart-summary-filetree.gif new file mode 100644 index 00000000..390bf70a Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/chart-summary-filetree.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/license-explorer-search.gif b/docs/source/how-to-guides/explore-your-data/data/license-explorer-search.gif new file mode 100644 index 00000000..353b47c5 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/license-explorer-search.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/license-explorer-select.gif b/docs/source/how-to-guides/explore-your-data/data/license-explorer-select.gif new file mode 100644 index 00000000..604024f8 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/license-explorer-select.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/license-explorer-table.gif b/docs/source/how-to-guides/explore-your-data/data/license-explorer-table.gif new file mode 100644 index 00000000..63161976 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/license-explorer-table.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/package-explorer-deps.gif b/docs/source/how-to-guides/explore-your-data/data/package-explorer-deps.gif new file mode 100644 index 00000000..e0cfcfab Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/package-explorer-deps.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/package-explorer-filter.gif b/docs/source/how-to-guides/explore-your-data/data/package-explorer-filter.gif new file mode 100644 index 00000000..96c730d9 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/package-explorer-filter.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/package-explorer-select.gif b/docs/source/how-to-guides/explore-your-data/data/package-explorer-select.gif new file mode 100644 index 00000000..f0c241ab Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/package-explorer-select.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary-filter.gif b/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary-filter.gif deleted file mode 100644 index aad3cc96..00000000 Binary files a/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary-filter.gif and /dev/null differ diff --git a/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary.gif b/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary.gif deleted file mode 100644 index be925711..00000000 Binary files a/docs/source/how-to-guides/explore-your-data/data/scancode-workbench-chart-summary.gif and /dev/null differ diff --git a/docs/source/how-to-guides/explore-your-data/data/tableview-column-groups.gif b/docs/source/how-to-guides/explore-your-data/data/tableview-column-groups.gif new file mode 100644 index 00000000..a9c60bd2 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/tableview-column-groups.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/data/tableview-path.gif b/docs/source/how-to-guides/explore-your-data/data/tableview-path.gif new file mode 100644 index 00000000..a537a826 Binary files /dev/null and b/docs/source/how-to-guides/explore-your-data/data/tableview-path.gif differ diff --git a/docs/source/how-to-guides/explore-your-data/index.rst b/docs/source/how-to-guides/explore-your-data/index.rst index fed6fa7f..889e0cca 100644 --- a/docs/source/how-to-guides/explore-your-data/index.rst +++ b/docs/source/how-to-guides/explore-your-data/index.rst @@ -5,6 +5,7 @@ .. toctree:: :maxdepth: 3 + navigate-tableview + navigate-license-explorer + navigate-package-explorer navigate-chart-summary-view - -:guilabel:`[to come]` diff --git a/docs/source/how-to-guides/explore-your-data/navigate-chart-summary-view.rst b/docs/source/how-to-guides/explore-your-data/navigate-chart-summary-view.rst index 14119ac2..1b0c6b98 100644 --- a/docs/source/how-to-guides/explore-your-data/navigate-chart-summary-view.rst +++ b/docs/source/how-to-guides/explore-your-data/navigate-chart-summary-view.rst @@ -2,24 +2,23 @@ :index:`How-To: Navigate the Chart Summary View` ================================================ -Display the view -================ +Display the Chart Summary view +==================================== Once you have a SQLite file loaded into ScanCode Workbench, displaying the Chart Summary View is easy: -#. Select a file or directory in the Tree View on the left. -#. Click the chart icon in the sidebar or open the :kbd:`View` menu and select - :kbd:`Chart Summary View` (keyboard shortcut: :kbd:`Ctrl+Shift+D` or - :kbd:`⌘+Shift+D`). +* Select a file or directory in the Tree View on the left. +* + Click on `Chart Summary View` in the sidebar or open the + :kbd:`View` menu and select :kbd:`Chart Summary View` + (keyboard shortcut: :kbd:`Ctrl+Shift+D` or :kbd:`⌘+Shift+D`). Select an attribute =================== -.. figure:: data/scancode-workbench-chart-summary.gif - Use the dropdown at the top of the view to select the attribute you want to -examine (e.g., ``Copyright Statements``, ``License Key``). These attribute values +examine (e.g., ``Copyright Statements``, ``Detected License expression``). These attribute values are detected from ScanCode, and can also be viewed in the Table View. When you select an attribute, the Chart Summary View will automatically refresh @@ -29,11 +28,17 @@ number of times it occurs in the codebase. You can also see the value for a particular entry in the bar chart in a tooltip that appears when you move your cursor over the text on the left or the bar on the right. +.. figure:: data/chart-summary-attribute.gif + Filter Chart Summary ==================== -.. figure:: data/scancode-workbench-chart-summary-filter.gif - You can further filter the summary results by choosing a specific directory or file in the Tree View. The chart will then only show results for that selected directory or file. + +.. figure:: data/chart-summary-filetree.gif + +For entire UI reference, Read :ref:`chart-summary-view` + +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/explore-your-data/navigate-license-explorer.rst b/docs/source/how-to-guides/explore-your-data/navigate-license-explorer.rst new file mode 100644 index 00000000..a9bb2c13 --- /dev/null +++ b/docs/source/how-to-guides/explore-your-data/navigate-license-explorer.rst @@ -0,0 +1,41 @@ +==================================================== +:index:`How-To: Navigate the License Explorer View` +==================================================== + +Display the License Explorer view +=================================== + +Once you have a SQLite file loaded into ScanCode Workbench, + +Click on `License Explorer` in the sidebar or open the :kbd:`View` menu +and select :kbd:`License Explorer` + + +Select a License +========================= + +On the left pane, Licenses are shown in two categories: `License Detections` & `License clues`. +You can select any of these licenses & more detailed information about +that license will be reflected on the right + +.. figure:: data/license-explorer-select.gif + +Search Licenses +==================== + +You can search for any license detecttion / clue by typing in the search box on the top-left + +.. figure:: data/license-explorer-search.gif + +Matches & File regions table +=================================== + +For the selected license, you can view the matches resulting into the +detection and the file regions where the license was detected. +You can click on the data file path to view that path in Tableview + +.. figure:: data/license-explorer-table.gif + +For entire UI reference, Read :ref:`license-explorer` + +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/explore-your-data/navigate-package-explorer.rst b/docs/source/how-to-guides/explore-your-data/navigate-package-explorer.rst new file mode 100644 index 00000000..a8414c2d --- /dev/null +++ b/docs/source/how-to-guides/explore-your-data/navigate-package-explorer.rst @@ -0,0 +1,56 @@ +==================================================== +:index:`How-To: Navigate the Package Explorer View` +==================================================== + +.. include:: ../../definitions.rst + +Display the Package Explorer view +=================================== + +Packages are uniquely identified using PURLs. |purl_description| + +Once you have a SQLite file loaded into ScanCode Workbench, + +Click on `Package Explorer` in the sidebar or open the :kbd:`View` menu +and select :kbd:`Package Explorer` + +Select a Package or Dependency +==================================== + +On the left pane, Packages are shown in a hierarchical manner as +`Package Type` > `Package` > `Dependencies` +Upon selecting a Package / Dependency, details of the entire entity is shown on the right. + +For a Package, information like +`PURL, namespace, Declared license expression, Dependencies table, etc` are shown. + +For a Dependency, information like `Scope, Data file, Data source ID, etc` are shown. + +.. figure:: data/package-explorer-select.gif + + +Filters +==================== + +You can filter the packages / dependencies by their data sources and/or +dependency flags by selecting filter values in the top-left + +.. figure:: data/package-explorer-filter.gif + +Dependencies table +======================== + +When a package is selected, the dependencies for that package are shown +in a table in the details pane showing Dependency information like +`PURL, Scope, Data source ID, etc` + +You can sort the table as per convenience. + +You can click on the :kbd:`Data file path` to see that file in the TableView + +.. figure:: data/package-explorer-deps.gif + + +For entire UI reference, See :ref:`package-explorer` + +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/explore-your-data/navigate-tableview.rst b/docs/source/how-to-guides/explore-your-data/navigate-tableview.rst new file mode 100644 index 00000000..e74d7fa8 --- /dev/null +++ b/docs/source/how-to-guides/explore-your-data/navigate-tableview.rst @@ -0,0 +1,36 @@ +================================================ +:index:`How-To: Navigate the Table View` +================================================ + +Display the Table view +============================ + +Once you have a SQLite file loaded into ScanCode Workbench, you're +automatically redirected to the Tableview. +To navigate to Tableview from other views you can click on `Table View` +in the sidebar or open the :kbd:`View` menu and select :kbd:`Table View` + +Click on `Package Explorer` in the sidebar or open the :kbd:`View` +menu and select :kbd:`Table View` + +Select a path +======================== + +You can collapse/expand the FileTree on the left and select a file/directory. +Only the files under this path will be visible in the tableview + +.. figure:: data/tableview-path.gif + + +Select Preset columns +========================== + +You can select one of the available column groups, grouped based on their +nature such as ``Copyright Cols``, ``Origin Cols``, ``License Cols`` + +.. figure:: data/tableview-column-groups.gif + + +For entire UI reference, Read :ref:`table-view` + +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/export-json-records/index.rst b/docs/source/how-to-guides/export-json-records/index.rst deleted file mode 100644 index bfdb30ff..00000000 --- a/docs/source/how-to-guides/export-json-records/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -============================ -:index:`Export JSON Records` -============================ - -Export a JSON file -================== - -* To export a JSON file: - - * Select the :kbd:`File` menu and then select :kbd:`Export JSON File` (keyboard shortcut: - :kbd:`Ctrl+E` or :kbd:`⌘+E`). - * In the dialog window that opens, add a name for the file, navigate to the directory in which - you want to save the file and click :kbd:`Save`. diff --git a/docs/source/how-to-guides/index.rst b/docs/source/how-to-guides/index.rst index 0d6a8b87..d15b83b3 100644 --- a/docs/source/how-to-guides/index.rst +++ b/docs/source/how-to-guides/index.rst @@ -4,20 +4,16 @@ :index:`How-To Guides` ====================== -The ScanCode Workbench How-To Guides will walk you through loading and analyzing -a ``-clipeu`` scan of ``e2fsprogs-1.45.6.tar.gz``. +The ScanCode Workbench How-To Guides will walk you through loading and analyzing a `-clipeu` scan. +The guides are not meant to be exhaustive, but rather to give you a taste of +what you can do with the Workbench. -.. Note:: If you'd like to follow along, you can download a copy of the ``e2fsprogs-1.45.6`` - package from `SourceForge `__, - run a ``-clipeu`` scan with `ScanCode Toolkit `__, - load the ``.json`` output into ScanCode Workbench and work your way through the How-To Guides. +For full set of features, please refer to the :ref:`ui-reference`. .. toctree:: :maxdepth: 3 load-your-data/index - lookup-scan-version/index + lookup-scan-info/index explore-your-data/index - export-json-records/index troubleshooting/index - special-topics/index diff --git a/docs/source/how-to-guides/load-your-data/data/creating-database.png b/docs/source/how-to-guides/load-your-data/data/creating-database.png deleted file mode 100644 index 9a94acb9..00000000 Binary files a/docs/source/how-to-guides/load-your-data/data/creating-database.png and /dev/null differ diff --git a/docs/source/how-to-guides/load-your-data/data/import-json-cropped.png b/docs/source/how-to-guides/load-your-data/data/import-json-cropped.png index 1a882645..8f00ec08 100644 Binary files a/docs/source/how-to-guides/load-your-data/data/import-json-cropped.png and b/docs/source/how-to-guides/load-your-data/data/import-json-cropped.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/initial-load.png b/docs/source/how-to-guides/load-your-data/data/initial-load.png new file mode 100644 index 00000000..1f370382 Binary files /dev/null and b/docs/source/how-to-guides/load-your-data/data/initial-load.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/initial_load.png b/docs/source/how-to-guides/load-your-data/data/initial_load.png deleted file mode 100644 index 97e3bbf4..00000000 Binary files a/docs/source/how-to-guides/load-your-data/data/initial_load.png and /dev/null differ diff --git a/docs/source/how-to-guides/load-your-data/data/open-sqlite-cropped.png b/docs/source/how-to-guides/load-your-data/data/open-sqlite-cropped.png deleted file mode 100644 index be49f3a4..00000000 Binary files a/docs/source/how-to-guides/load-your-data/data/open-sqlite-cropped.png and /dev/null differ diff --git a/docs/source/how-to-guides/load-your-data/data/open-sqlite-quickaction.png b/docs/source/how-to-guides/load-your-data/data/open-sqlite-quickaction.png new file mode 100644 index 00000000..adab449c Binary files /dev/null and b/docs/source/how-to-guides/load-your-data/data/open-sqlite-quickaction.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/open-sqlite.png b/docs/source/how-to-guides/load-your-data/data/open-sqlite.png index 9d3e9ec3..2dc15e2f 100644 Binary files a/docs/source/how-to-guides/load-your-data/data/open-sqlite.png and b/docs/source/how-to-guides/load-your-data/data/open-sqlite.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/processing-scan.png b/docs/source/how-to-guides/load-your-data/data/processing-scan.png new file mode 100644 index 00000000..d3d9a748 Binary files /dev/null and b/docs/source/how-to-guides/load-your-data/data/processing-scan.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/save-as-sqlite-cropped.png b/docs/source/how-to-guides/load-your-data/data/save-as-sqlite-cropped.png deleted file mode 100644 index 94998ae5..00000000 Binary files a/docs/source/how-to-guides/load-your-data/data/save-as-sqlite-cropped.png and /dev/null differ diff --git a/docs/source/how-to-guides/load-your-data/data/save-as-sqlite.png b/docs/source/how-to-guides/load-your-data/data/save-as-sqlite.png deleted file mode 100644 index b4845522..00000000 Binary files a/docs/source/how-to-guides/load-your-data/data/save-as-sqlite.png and /dev/null differ diff --git a/docs/source/how-to-guides/load-your-data/data/save-sqlite-quickaction.png b/docs/source/how-to-guides/load-your-data/data/save-sqlite-quickaction.png new file mode 100644 index 00000000..e4883728 Binary files /dev/null and b/docs/source/how-to-guides/load-your-data/data/save-sqlite-quickaction.png differ diff --git a/docs/source/how-to-guides/load-your-data/data/save-sqlite.png b/docs/source/how-to-guides/load-your-data/data/save-sqlite.png new file mode 100644 index 00000000..0a8c3a0f Binary files /dev/null and b/docs/source/how-to-guides/load-your-data/data/save-sqlite.png differ diff --git a/docs/source/how-to-guides/load-your-data/import-json.rst b/docs/source/how-to-guides/load-your-data/import-json.rst index 835f7cfe..d26175b0 100644 --- a/docs/source/how-to-guides/load-your-data/import-json.rst +++ b/docs/source/how-to-guides/load-your-data/import-json.rst @@ -1,19 +1,27 @@ -============================================== +============================= :index:`Import a JSON File` -============================================== +============================= To import a ScanCode JSON file: +We've provided a set of sample scans that you can quickly review in ScanCode Workbench 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/scancode-workbench/tree/develop/samples `_. + + * Open the :kbd:`File` menu and select :kbd:`Import JSON File` (keyboard shortcut: :kbd:`Ctrl+I` or :kbd:`⌘+I`). .. figure:: data/import-json-cropped.png :class: with-border - :width: 600px + :width: 300px .. - Import a JSON scan file. + Click Import a JSON scan file. + + Or + Simply click on the Import ScanCode JSON button * In the dialog window that opens, navigate to the JSON file you want to import, select the file and click :kbd:`Open`. @@ -21,9 +29,9 @@ To import a ScanCode JSON file: database file. Add a filename, select the folder in which you want to save the SQLite database file, and click :kbd:`Save`. * ScanCode Workbench will then create a SQLite database file from your JSON file, indicated by - the status message ``Creating Database ...`` + the status message ``Processing scan - `` - .. figure:: data/creating-database.png + .. figure:: data/processing-scan.png :class: with-border :width: 600px @@ -35,7 +43,7 @@ To import a ScanCode JSON file: (the **Directory Tree**) and, to the right of the tree, a table (the **Table View**) displaying provenance information generated by ScanCode. - .. figure:: data/initial_load.png + .. figure:: data/initial-load.png :class: with-border :width: 600px @@ -43,6 +51,4 @@ To import a ScanCode JSON file: The SQLite version of your JSON scan is ready for your analysis. -We've provided a set of sample scans that you can quickly review in ScanCode Workbench 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/scancode-workbench/tree/develop/samples `_. +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/load-your-data/open-save-sqlite-file.rst b/docs/source/how-to-guides/load-your-data/open-save-sqlite-file.rst index 801e430e..19351323 100644 --- a/docs/source/how-to-guides/load-your-data/open-save-sqlite-file.rst +++ b/docs/source/how-to-guides/load-your-data/open-save-sqlite-file.rst @@ -1,37 +1,49 @@ ==================================== -:index:`Open and Save a SQLite File` +:index:`Open or Save a SQLite File` ==================================== Open a SQLite File ================== -Once you've imported your JSON scan and saved it as SQLite, you'll continue your -review and analysis work solely in the SQLite file. +Once you've imported your JSON scan it is parsed & saved as a SQLite file, +which can be later imported quickly compared to opening json scan again * To open a SQLite File: - .. figure:: data/open-sqlite-cropped.png + .. figure:: data/open-sqlite.png :class: with-border - :width: 250px + :width: 300px + + .. figure:: data/open-sqlite-quickaction.png + :class: with-border + :width: 300px .. Open a SQLite file. * Select the :kbd:`File` menu and then select :kbd:`Open SQLite File` (keyboard shortcut: - :kbd:`Ctrl+O` or :kbd:`⌘+O`). + :kbd:`Ctrl+O` or :kbd:`⌘+O`) + + | Or Simply Click on :kbd:`Open SQLite file` quick action button. + * In the dialog window that opens, navigate to the SQLite file you want to open, select the file and click :kbd:`Open`. Save as a New SQLite File ========================= -There may be times when you need to preserve the current state of your work and continue -working in a separate file. No problem -- just save your work as a new SQLite file. +There may be times when you need to save your work as a new SQLite file. * To save as a new SQLite file: - .. figure:: data/save-as-sqlite-cropped.png + .. figure:: data/save-sqlite.png + :class: with-border + :width: 300px + + OR + + .. figure:: data/save-sqlite-quickaction.png :class: with-border :width: 300px @@ -40,6 +52,9 @@ working in a separate file. No problem -- just save your work as a new SQLite f Save as new SQLite file. * Select the :kbd:`File` menu and then select :kbd:`Save As New SQLite File` (keyboard shortcut: - :kbd:`Ctrl+S` or :kbd:`⌘+S`). + :kbd:`Ctrl+S` or :kbd:`⌘+S`) + + | Or Simply click :kbd:`Save SQLite File` quick action button. + * In the dialog window that opens, add a name for the file, navigate to the directory in which you want to save the file and click :kbd:`Save`. diff --git a/docs/source/how-to-guides/lookup-scan-info/data/scan-info.gif b/docs/source/how-to-guides/lookup-scan-info/data/scan-info.gif new file mode 100644 index 00000000..9c8be4a9 Binary files /dev/null and b/docs/source/how-to-guides/lookup-scan-info/data/scan-info.gif differ diff --git a/docs/source/how-to-guides/lookup-scan-info/index.rst b/docs/source/how-to-guides/lookup-scan-info/index.rst new file mode 100644 index 00000000..70410488 --- /dev/null +++ b/docs/source/how-to-guides/lookup-scan-info/index.rst @@ -0,0 +1,19 @@ +======================================== +:index:`Look Up Your Scan information` +======================================== + +To view scan information: + +Hover to expand the sidebar with icons on the left. Click on Scan Information +or, open the :kbd:`View` menu and select :kbd:`Scan Info` + + .. figure:: data/scan-info.gif + :class: with-border + :width: 600px + + .. + +You can view various details about the scan like scan tool name & version, options, platform etc. +More detailed explanation about the view can be found at :ref:`scan-info` + +.. include:: ../../rst_snippets/scans-used.rst diff --git a/docs/source/how-to-guides/lookup-scan-version/index.rst b/docs/source/how-to-guides/lookup-scan-version/index.rst deleted file mode 100644 index a273631d..00000000 --- a/docs/source/how-to-guides/lookup-scan-version/index.rst +++ /dev/null @@ -1,5 +0,0 @@ -================================== -:index:`Look Up Your Scan Version` -================================== - -:guilabel:`[to come]` diff --git a/docs/source/how-to-guides/special-topics/data/policy-view.png b/docs/source/how-to-guides/special-topics/data/policy-view.png deleted file mode 100644 index 0e28a764..00000000 Binary files a/docs/source/how-to-guides/special-topics/data/policy-view.png and /dev/null differ diff --git a/docs/source/how-to-guides/special-topics/index.rst b/docs/source/how-to-guides/special-topics/index.rst deleted file mode 100644 index b2dda4b7..00000000 --- a/docs/source/how-to-guides/special-topics/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -======================= -:index:`Special Topics` -======================= - -.. toctree:: - :maxdepth: 3 - - license-policy-support - -:guilabel:`[to come]` diff --git a/docs/source/how-to-guides/special-topics/license-policy-support.rst b/docs/source/how-to-guides/special-topics/license-policy-support.rst deleted file mode 100644 index 1fbec023..00000000 --- a/docs/source/how-to-guides/special-topics/license-policy-support.rst +++ /dev/null @@ -1,60 +0,0 @@ -============================================================= -:index:`How-To: Use License Policies with ScanCode Workbench` -============================================================= - -ScanCode Workbench now has basic support for tracking and viewing license policies that have been -applied to a `ScanCode Toolkit `__ scan. In order for -things to work, your initial scan must be run with the ``--license-policy`` option. For more -information, see the :ref:`license_policy_plugin` section of the ScanCode Toolkit ReadTheDocs. - -The basics -========== - -While the :ref:`license_policy_plugin` can be customized with any number of custom fields and -values, ScanCode Workbench currently only supports a pre-defined set of policy labels. - -.. list-table:: - :header-rows: 1 - - * - license_key - - label - * - scancode_license_key - - Approved License - * - scancode_license_key - - Prohibited License - * - scancode_license_key - - Recommended License - * - scancode_license_key - - Restricted License - -This means in order to take advantage of ScanCode Workbench's policy features, your -``license-policy.yml`` needs to have ``license_key`` and ``label`` fields at the very least. - -Additionally, in order to take advantage of policy visualizations, ``label`` values must be -one of the 4 above values: Approved License, Prohibited License, Recommended License or Restricted -License. Later versions of ScanCode Workbench will eventually evolve to support more dynamic policy -values. - -Here is a simple example of a valid ``license-policy.yml`` file:: - - license_policies: - - license_key: apache-2.0 - label: Approved License - - license_key: apache-1.1 - label: Prohibited License - - license_key: lgpl-2.1-plus - label: Recommended License - - license_key: cpl-1.0 - label: Restricted License - -After running a scan with that particular ``license-policy.yml`` file, viewing the scan in ScanCode -Workbench will look like the following: - -.. figure:: data/policy-view.png - -As you can see, files which have detected licenses that fall under a particular policy will be -shown in the JSTree view with specific icons. This way, you are able to quickly see what files -fall under a specific policy. - -Additionally, policy details can be found in the scan data view in their own column: License -Policy. This column has been added to both the "Origin" column set and "License info" column set. diff --git a/docs/source/how-to-guides/troubleshooting/check-for-errors.rst b/docs/source/how-to-guides/troubleshooting/check-for-errors.rst index b7da8f4d..36211213 100644 --- a/docs/source/how-to-guides/troubleshooting/check-for-errors.rst +++ b/docs/source/how-to-guides/troubleshooting/check-for-errors.rst @@ -9,7 +9,10 @@ provides details about the error and allows you to create an issue. :scale: 50 % If you can reproduce the error, use this approach to get the stack trace and report the issue. Open -the Developer Tools with ``Ctrl+Shift+I`` or ``Alt+Cmd+I``. From there, click the Console tab. -Include the error that is logged in the issue in a code block or a file attachment. +the Developer Tools by clicking ```View`` -> ``Toggle Developer Tools``. From there, click the +``Console`` tab. Include the error that is logged in the issue in a code block or a +file attachment. + +You can `Create an issue here `__. .. image:: data/developer-tools-error.png diff --git a/docs/source/how-to-guides/troubleshooting/index.rst b/docs/source/how-to-guides/troubleshooting/index.rst index 86e0fe34..6f17e205 100644 --- a/docs/source/how-to-guides/troubleshooting/index.rst +++ b/docs/source/how-to-guides/troubleshooting/index.rst @@ -6,5 +6,3 @@ :maxdepth: 3 check-for-errors - -:guilabel:`[to come]` diff --git a/docs/source/index.rst b/docs/source/index.rst index 7f1cf53c..e6e67800 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -12,6 +12,11 @@ Welcome to the documentation for ScanCode Workbench! getting-started/index how-to-guides/index ui-reference/index - technical-reference/index contribute/index license + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/source/overview/index.rst b/docs/source/overview/index.rst index f159eb26..cee2cc09 100644 --- a/docs/source/overview/index.rst +++ b/docs/source/overview/index.rst @@ -26,14 +26,28 @@ This documentation is organized in six sections: - The :ref:`ui-reference` section provides an overview of each of ScanCode Workbench's data views. -- The :ref:`technical-reference` section summarizes ScanCode Workbench's underlying technology - and platform support. - - The :ref:`contribute` section is intended for advanced users and contributors to ScanCode Workbench development. - The :ref:`license` section provides summary licensing information for ScanCode Workbench. +Underlying Technology +===================== + +- ScanCode Workbench is a cross-platform application built using the `Electron `__ framework that works on Windows, macOS and Linux operating systems. +- It uses + - `TypeScript `__ as the primary language. + - `React `__ for user interface. + - `Sequelize `__ ORM for database access. + - `Sqlite3 `__ for managing sqlite database. + +Platform Support +================ + +* Linux - ``x64`` +* Windows 10/11 - ``x64`` +* MacOS - ``x64``, ``arm64`` + Important Links =============== diff --git a/docs/source/rst_snippets/centos-note.rst b/docs/source/rst_snippets/centos-note.rst new file mode 100644 index 00000000..9a0629b6 --- /dev/null +++ b/docs/source/rst_snippets/centos-note.rst @@ -0,0 +1,20 @@ +.. Note:: + For CentOS (or linux distros without the new libstdc++), follow these steps: + + - Install the new libstdc++ library: + + .. code-block:: bash + + yum provides libstdc++ + + - Update LD_LIBRARY_PATH: + + .. code-block:: bash + + export LD_LIBRARY_PATH="/usr/local/lib64/:$LD_LIBRARY_PATH" + + - Run the application with ``no-sandbox`` option: + + .. code-block:: bash + + ./ScanCode\ Workbench-linux-x64/ScanCode\ Workbench --no-sandbox diff --git a/docs/source/rst_snippets/copyright-pie-charts-notice.rst b/docs/source/rst_snippets/copyright-pie-charts-notice.rst new file mode 100644 index 00000000..a6ad1123 --- /dev/null +++ b/docs/source/rst_snippets/copyright-pie-charts-notice.rst @@ -0,0 +1,2 @@ +.. note:: + Legend items are not available on the :ref:`copyright-info-dashboard` due to long copyright statements. diff --git a/docs/source/rst_snippets/refer-pie-charts.rst b/docs/source/rst_snippets/refer-pie-charts.rst new file mode 100644 index 00000000..6029fe30 --- /dev/null +++ b/docs/source/rst_snippets/refer-pie-charts.rst @@ -0,0 +1,2 @@ +.. note:: + Refer :ref:`pie-charts` for UI features in charts diff --git a/docs/source/rst_snippets/scans-used.rst b/docs/source/rst_snippets/scans-used.rst new file mode 100644 index 00000000..5b6ace50 --- /dev/null +++ b/docs/source/rst_snippets/scans-used.rst @@ -0,0 +1,9 @@ +.. note:: + Refer the titlebar to see the name of the sample scan used in the screenshot. + Sample scans: + + - :scan_samples:`anglesharp.css.0.16.4-scan-results-without-text-referendces.json` + - :scan_samples:`aws-java-sdk-core-1.12.262-sources.jar-v32rc4results-todo.json` + - :scan_samples:`hazelcast-3293_v32.0.0rc3.json` + - :scan_samples:`scancode-32.0.0rc4_python_sample-wref.json` + - :scan_samples:`zjsonpatch-0.3.0.jar-v32rc4results.json` diff --git a/docs/source/technical-reference/index.rst b/docs/source/technical-reference/index.rst deleted file mode 100644 index 6f86ff0b..00000000 --- a/docs/source/technical-reference/index.rst +++ /dev/null @@ -1,99 +0,0 @@ -.. _technical-reference: - -============================ -:index:`Technical Reference` -============================ - -Underlying Technology -===================== - -- ScanCode Workbench is based on `Electron `__ and works on - Windows, OS X and Linux operating systems. - -Platform Support -================ - -ScanCode Workbench Supported Platforms --------------------------------------- - -Our approach for platform support is to focus on one primary release for each of Linux, MacOS and -Windows. The Priority definitions are: - -#. Primary - These are the primary platforms for build/test/release on an ongoing basis. -#. Secondary - These are platforms where the primary ScanCode Workbench release for the - corresponding OS Group should be forward-compatible, e.g., Windows 7 build should work on - Windows 10. Issues reported and traced to a Secondary platform may not be fixed. -#. Tertiary - These are any other platforms not listed as Primary or Secondary. In these cases, we - will help users help themselves, but we are likely not to fix Issues that only surface on a - Tertiary platform. - -+-------------+------------------+---------+------------+-----------------------------------------+ -| OS Group | Desktop OS | Arch | Priority | Notes | -| | Version | | | | -+=============+==================+=========+============+=========================================+ -| Windows | Windows 7 SP1 | x64 | 1 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Windows | Windows 10 SP? | x64 | 2 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| MacOS | 10.9 Mavericks | x64 | 1 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| MacOS | 10.10 Yosemite | x64 | 2 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| MacOS | 10.11 El Capitan | x64 | 2 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| MacOS | 10.12 Sierra | x64 | 2 | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux Deb | Ubuntu 12.04 | x64 | 1 | From Electron Docs: The prebuilt ia32 | -| | | | | (i686) and x64 (amd64) binaries of | -| | | | | Electron are built on Ubuntu 12.04. | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux Deb | Ubuntu 14.xx | x64 | 2 | Verified to be able to run the prebuilt | -| | | | | binaries of Electron. | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux Deb | Ubuntu 16.xx | x64 | 2 | Verified to be able to run the prebuilt | -| | | | | binaries of Electron. | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux | Fedora 21 | x64 | 2 | Verified to be able to run the prebuilt | -| | | | | binaries of Electron. | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux | Debian 8 | x64 | 2 | Verified to be able to run the prebuilt | -| | | | | binaries of Electron. | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux RH | CentOS 7.xx | x64 | ? | | -+-------------+------------------+---------+------------+-----------------------------------------+ -| Linux RH | RHEL 7.xx | x64 | ? | | -+-------------+------------------+---------+------------+-----------------------------------------+ - -Electron Supported Platforms ----------------------------- - -https://electronjs.org/docs/tutorial/support#supported-platforms - -The following platforms are supported by Electron: - -MacOS -^^^^^ - -Only 64-bit binaries are provided for MacOS, and the minimum MacOS version supported is MacOS 10.9. - -Windows -^^^^^^^ - -Windows 7 and later are supported, while older operating systems are not supported (and do not -work). Both ia32 (x86) and x64 (amd64) binaries are provided for Windows. Please note: the ARM -version of Windows is not supported for now. - -Linux -^^^^^ - -The prebuilt ia32 (i686) and x64 (amd64) binaries of Electron are built on Ubuntu 12.04, and the -ARM binary is built against ARM v7 with hard-float ABI and NEON for Debian Wheezy. - -Whether the prebuilt binary can run on a distribution depends on whether the distribution includes -the libraries that Electron is linked to on the building platform, so only Ubuntu 12.04 is -guaranteed to work, but the following platforms are also verified to be able to run the prebuilt -binaries of Electron: - -- Ubuntu 12.04 and later -- Fedora 21 -- Debian 8 diff --git a/docs/source/ui-reference/chart-summary-view.rst b/docs/source/ui-reference/chart-summary-view.rst index 589be6db..aa162d4b 100644 --- a/docs/source/ui-reference/chart-summary-view.rst +++ b/docs/source/ui-reference/chart-summary-view.rst @@ -1,15 +1,19 @@ +.. _chart-summary-view: + =========================== :index:`Chart Summary View` =========================== -:guilabel:`[Intro to come.]` - With the chart summary view, a user can select a node in the directory tree (i.e., a directory, folder or file) and display a horizontal bar chart listing the values identified in the scanned -codebase -- that is, the clues detected by ScanCode Toolkit -- for a number of different -attributes. The attributes are a subset of the columns displayed in the table view, and can be +codebase, i.e. the ScanCode Toolkit detections, for a number of different +attributes. + +The attributes are a subset of the columns displayed in the table view, and can be selected by clicking the dropdown at the top of the view. The chart displays the full range of values for the selected directory tree node and attribute and the number of times each value occurs in the scanned codebase. -.. image:: data/scancode-workbench-chart-summary.gif +.. image:: data/chart-summary-view.gif + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/copyright-info-dashboard.rst b/docs/source/ui-reference/copyright-info-dashboard.rst new file mode 100644 index 00000000..4e35f6b6 --- /dev/null +++ b/docs/source/ui-reference/copyright-info-dashboard.rst @@ -0,0 +1,37 @@ +.. _copyright-info-dashboard: + +=================================== +:index:`Copyright Info Dashboard` +=================================== + +Copyright info dashboard summarizes the copyright information detected +in scan for files under the selected path. +Scan must have ``--copyright`` option for Copyright Info Dashboard. + +Summary of Copyrights: + +- Unique holders + No. of unique copyright holders detected. +- Unique notices + No. of unique copyright notices detected. +- Unique authors + No. of unique copyright authors detected. + +- Pie charts + - Copyright Holders + Distribution of unique copyright holders indicating the number of files + in which each copyright holder was detected. + - Copyright Notices + Distribution of unique copyright notices indicating the number of files + in which each copyright notice was detected. + - Copyright Authors + Distribution of unique copyright authors indicating the number of files + in which copyrights were authored by each author. + +.. include:: /rst_snippets/refer-pie-charts.rst + +.. include:: /rst_snippets/copyright-pie-charts-notice.rst + +.. image:: data/copyright-info/copyright-info.png + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/data/chart-summary-view.gif b/docs/source/ui-reference/data/chart-summary-view.gif new file mode 100644 index 00000000..089d54a2 Binary files /dev/null and b/docs/source/ui-reference/data/chart-summary-view.gif differ diff --git a/docs/source/ui-reference/data/copyright-info/copyright-info.png b/docs/source/ui-reference/data/copyright-info/copyright-info.png new file mode 100644 index 00000000..38f81760 Binary files /dev/null and b/docs/source/ui-reference/data/copyright-info/copyright-info.png differ diff --git a/docs/source/ui-reference/data/dependency-info/dependency-info-charts_1.png b/docs/source/ui-reference/data/dependency-info/dependency-info-charts_1.png new file mode 100644 index 00000000..a08c84ee Binary files /dev/null and b/docs/source/ui-reference/data/dependency-info/dependency-info-charts_1.png differ diff --git a/docs/source/ui-reference/data/dependency-info/dependency-info-charts_2.png b/docs/source/ui-reference/data/dependency-info/dependency-info-charts_2.png new file mode 100644 index 00000000..275df99d Binary files /dev/null and b/docs/source/ui-reference/data/dependency-info/dependency-info-charts_2.png differ diff --git a/docs/source/ui-reference/data/dependency-info/dependency-info-scope-table.png b/docs/source/ui-reference/data/dependency-info/dependency-info-scope-table.png new file mode 100644 index 00000000..79da04cc Binary files /dev/null and b/docs/source/ui-reference/data/dependency-info/dependency-info-scope-table.png differ diff --git a/docs/source/ui-reference/data/dependency-info/dependency-info.gif b/docs/source/ui-reference/data/dependency-info/dependency-info.gif new file mode 100644 index 00000000..eab59ac2 Binary files /dev/null and b/docs/source/ui-reference/data/dependency-info/dependency-info.gif differ diff --git a/docs/source/ui-reference/data/directory-tree/directory-tree-chartview.gif b/docs/source/ui-reference/data/directory-tree/directory-tree-chartview.gif new file mode 100644 index 00000000..a770d854 Binary files /dev/null and b/docs/source/ui-reference/data/directory-tree/directory-tree-chartview.gif differ diff --git a/docs/source/ui-reference/data/directory-tree/directory-tree-copyright.gif b/docs/source/ui-reference/data/directory-tree/directory-tree-copyright.gif new file mode 100644 index 00000000..229a4bed Binary files /dev/null and b/docs/source/ui-reference/data/directory-tree/directory-tree-copyright.gif differ diff --git a/docs/source/ui-reference/data/directory-tree/directory-tree-navigate.gif b/docs/source/ui-reference/data/directory-tree/directory-tree-navigate.gif new file mode 100644 index 00000000..0f731b21 Binary files /dev/null and b/docs/source/ui-reference/data/directory-tree/directory-tree-navigate.gif differ diff --git a/docs/source/ui-reference/data/file-info/file-info.png b/docs/source/ui-reference/data/file-info/file-info.png new file mode 100644 index 00000000..1c65cbbd Binary files /dev/null and b/docs/source/ui-reference/data/file-info/file-info.png differ diff --git a/docs/source/ui-reference/data/license-explorer/license-explorer-matchedtext.gif b/docs/source/ui-reference/data/license-explorer/license-explorer-matchedtext.gif new file mode 100644 index 00000000..8b9e255c Binary files /dev/null and b/docs/source/ui-reference/data/license-explorer/license-explorer-matchedtext.gif differ diff --git a/docs/source/ui-reference/data/license-explorer/license-explorer-nav.gif b/docs/source/ui-reference/data/license-explorer/license-explorer-nav.gif new file mode 100644 index 00000000..d318fb45 Binary files /dev/null and b/docs/source/ui-reference/data/license-explorer/license-explorer-nav.gif differ diff --git a/docs/source/ui-reference/data/license-explorer/license-explorer.gif b/docs/source/ui-reference/data/license-explorer/license-explorer.gif new file mode 100644 index 00000000..62389790 Binary files /dev/null and b/docs/source/ui-reference/data/license-explorer/license-explorer.gif differ diff --git a/docs/source/ui-reference/data/license-info/license-info-with-policies.png b/docs/source/ui-reference/data/license-info/license-info-with-policies.png new file mode 100644 index 00000000..22d67a0c Binary files /dev/null and b/docs/source/ui-reference/data/license-info/license-info-with-policies.png differ diff --git a/docs/source/ui-reference/data/license-info/license-info.png b/docs/source/ui-reference/data/license-info/license-info.png new file mode 100644 index 00000000..f61c1e58 Binary files /dev/null and b/docs/source/ui-reference/data/license-info/license-info.png differ diff --git a/docs/source/ui-reference/data/navigate-code-tree.gif b/docs/source/ui-reference/data/navigate-code-tree.gif deleted file mode 100644 index 75aa8f04..00000000 Binary files a/docs/source/ui-reference/data/navigate-code-tree.gif and /dev/null differ diff --git a/docs/source/ui-reference/data/package-explorer/dependency-details.png b/docs/source/ui-reference/data/package-explorer/dependency-details.png new file mode 100644 index 00000000..f0fc1b18 Binary files /dev/null and b/docs/source/ui-reference/data/package-explorer/dependency-details.png differ diff --git a/docs/source/ui-reference/data/package-explorer/package-details.gif b/docs/source/ui-reference/data/package-explorer/package-details.gif new file mode 100644 index 00000000..e19fad23 Binary files /dev/null and b/docs/source/ui-reference/data/package-explorer/package-details.gif differ diff --git a/docs/source/ui-reference/data/package-explorer/package-explorer-details.gif b/docs/source/ui-reference/data/package-explorer/package-explorer-details.gif new file mode 100644 index 00000000..bbc413b3 Binary files /dev/null and b/docs/source/ui-reference/data/package-explorer/package-explorer-details.gif differ diff --git a/docs/source/ui-reference/data/package-explorer/package-explorer-nav.gif b/docs/source/ui-reference/data/package-explorer/package-explorer-nav.gif new file mode 100644 index 00000000..060df57e Binary files /dev/null and b/docs/source/ui-reference/data/package-explorer/package-explorer-nav.gif differ diff --git a/docs/source/ui-reference/data/package-info/package-info.png b/docs/source/ui-reference/data/package-info/package-info.png new file mode 100644 index 00000000..4b04fb6b Binary files /dev/null and b/docs/source/ui-reference/data/package-info/package-info.png differ diff --git a/docs/source/ui-reference/data/pie-charts/pie-charts-legend-toggle.gif b/docs/source/ui-reference/data/pie-charts/pie-charts-legend-toggle.gif new file mode 100644 index 00000000..c96162ba Binary files /dev/null and b/docs/source/ui-reference/data/pie-charts/pie-charts-legend-toggle.gif differ diff --git a/docs/source/ui-reference/data/pie-charts/pie-charts-legend-tooltip.png b/docs/source/ui-reference/data/pie-charts/pie-charts-legend-tooltip.png new file mode 100644 index 00000000..d07c833a Binary files /dev/null and b/docs/source/ui-reference/data/pie-charts/pie-charts-legend-tooltip.png differ diff --git a/docs/source/ui-reference/data/pie-charts/pie-charts-tooltip.png b/docs/source/ui-reference/data/pie-charts/pie-charts-tooltip.png new file mode 100644 index 00000000..6dc6f8c1 Binary files /dev/null and b/docs/source/ui-reference/data/pie-charts/pie-charts-tooltip.png differ diff --git a/docs/source/ui-reference/data/scan-info/scan-info_1.png b/docs/source/ui-reference/data/scan-info/scan-info_1.png new file mode 100644 index 00000000..d0dffa32 Binary files /dev/null and b/docs/source/ui-reference/data/scan-info/scan-info_1.png differ diff --git a/docs/source/ui-reference/data/scan-info/scan-info_2.png b/docs/source/ui-reference/data/scan-info/scan-info_2.png new file mode 100644 index 00000000..4adae2b1 Binary files /dev/null and b/docs/source/ui-reference/data/scan-info/scan-info_2.png differ diff --git a/docs/source/ui-reference/data/scancode-workbench-chart-summary.gif b/docs/source/ui-reference/data/scancode-workbench-chart-summary.gif deleted file mode 100644 index be925711..00000000 Binary files a/docs/source/ui-reference/data/scancode-workbench-chart-summary.gif and /dev/null differ diff --git a/docs/source/ui-reference/data/table-view.gif b/docs/source/ui-reference/data/table-view.gif deleted file mode 100644 index 1d5335f1..00000000 Binary files a/docs/source/ui-reference/data/table-view.gif and /dev/null differ diff --git a/docs/source/ui-reference/data/tableview/tableview-column-filter-search.gif b/docs/source/ui-reference/data/tableview/tableview-column-filter-search.gif new file mode 100644 index 00000000..6bb3907d Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-column-filter-search.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-column-groups.gif b/docs/source/ui-reference/data/tableview/tableview-column-groups.gif new file mode 100644 index 00000000..a9c60bd2 Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-column-groups.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-custom-columns.gif b/docs/source/ui-reference/data/tableview/tableview-custom-columns.gif new file mode 100644 index 00000000..1303aeda Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-custom-columns.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-intro.gif b/docs/source/ui-reference/data/tableview/tableview-intro.gif new file mode 100644 index 00000000..0cc57da1 Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-intro.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-pagination.gif b/docs/source/ui-reference/data/tableview/tableview-pagination.gif new file mode 100644 index 00000000..701217bb Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-pagination.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-pin-columns.gif b/docs/source/ui-reference/data/tableview/tableview-pin-columns.gif new file mode 100644 index 00000000..1570e217 Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-pin-columns.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-search.gif b/docs/source/ui-reference/data/tableview/tableview-search.gif new file mode 100644 index 00000000..1fd5654a Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-search.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-to-license.gif b/docs/source/ui-reference/data/tableview/tableview-to-license.gif new file mode 100644 index 00000000..40ba1128 Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-to-license.gif differ diff --git a/docs/source/ui-reference/data/tableview/tableview-to-package.gif b/docs/source/ui-reference/data/tableview/tableview-to-package.gif new file mode 100644 index 00000000..19e0a683 Binary files /dev/null and b/docs/source/ui-reference/data/tableview/tableview-to-package.gif differ diff --git a/docs/source/ui-reference/dependency-info-dashboard.rst b/docs/source/ui-reference/dependency-info-dashboard.rst new file mode 100644 index 00000000..7c500aa5 --- /dev/null +++ b/docs/source/ui-reference/dependency-info-dashboard.rst @@ -0,0 +1,42 @@ +.. _dependency-info-dashboard: + +===================================== +:index:`Dependency Info Dashboard` +===================================== + +Dependency info dashboard summarizes the dependencies information detected +in scan for files under the selected path. +Scan must have ``--package`` option for Dependency Info Dashboard + +Summary of Dependencys: + +- Total number of Dependencies detected + +- Summary table + - Dependencies per Scope (Runtime, Optional, Resolved) for each Package Type + +- Pie charts + - Dependencies for each Package type + - Data source IDs + Distribution of Unique data source IDs. eg. ``maven_pom``, ``pipfile_lock``, etc + - Runtime dependencies + - Resolved dependencies + - Optional dependencies + +.. include:: /rst_snippets/refer-pie-charts.rst + +************************************************************ +Package type wise Scope summary +************************************************************ +.. image:: data/dependency-info/dependency-info-scope-table.png + + +************************************************************ +Charts +************************************************************ + +.. image:: data/dependency-info/dependency-info-charts_1.png + +.. image:: data/dependency-info/dependency-info-charts_2.png + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/directory-tree.rst b/docs/source/ui-reference/directory-tree.rst index c9fd19ad..fee9a09f 100644 --- a/docs/source/ui-reference/directory-tree.rst +++ b/docs/source/ui-reference/directory-tree.rst @@ -2,11 +2,21 @@ :index:`Directory Tree` ======================= -:guilabel:`[Intro to come.]` +An interactive directory tree is present on the left side of the application for resource-focused +views. This allows the user to navigate the codebase structure. -An interactive directory tree is always present on the left side of the application. The tree is -expandable and collapsible. This allows the user to navigate the codebase structure. If a directory -is selected, only that directory and its sub-files and folders will be shown in the view. +If a directory is selected, only the information for that directory and its sub-files and folders +will be shown in the view. Similarly, if a single file is selected, only information for that selected file will be shown. -.. image:: data/navigate-code-tree.gif + +Demo of filetree on different views: +------------------------------------------------ + +.. image:: data/directory-tree/directory-tree-navigate.gif + +.. image:: data/directory-tree/directory-tree-copyright.gif + +.. image:: data/directory-tree/directory-tree-chartview.gif + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/file-info-dashboard.rst b/docs/source/ui-reference/file-info-dashboard.rst index fa8dd585..ccf7b670 100644 --- a/docs/source/ui-reference/file-info-dashboard.rst +++ b/docs/source/ui-reference/file-info-dashboard.rst @@ -1,7 +1,25 @@ +.. _file-info-dashboard: + ============================ :index:`File Info Dashboard` ============================ -:guilabel:`[Intro to come.]` +File Info Dashboard summarizes the file information in scan for the selected path. +It is a good starting point to understand the file types and +programming languages used in the project. +Scan must have ``--info`` option enabled for the data required in File Info Dashboard. + +Summary of files: + +- Total number of Files (under the selected path) +- Total number of Directories (under the selected path) +- Pie charts + - Programming languages + - File Types + - Mime Types + +.. include:: /rst_snippets/refer-pie-charts.rst + +.. image:: data/file-info/file-info.png -:guilabel:`[Screenshots and narrative to come.]` +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/index.rst b/docs/source/ui-reference/index.rst index b82c5049..c29e492c 100644 --- a/docs/source/ui-reference/index.rst +++ b/docs/source/ui-reference/index.rst @@ -4,14 +4,18 @@ :index:`UI Reference` ===================== -:guilabel:`[Intro to come.]` - .. toctree:: :maxdepth: 3 directory-tree table-view + pie-charts file-info-dashboard license-info-dashboard + copyright-info-dashboard package-info-dashboard + dependency-info-dashboard + license-explorer + package-explorer chart-summary-view + scan-info diff --git a/docs/source/ui-reference/license-explorer.rst b/docs/source/ui-reference/license-explorer.rst new file mode 100644 index 00000000..bfe0cd26 --- /dev/null +++ b/docs/source/ui-reference/license-explorer.rst @@ -0,0 +1,66 @@ +.. _license-explorer: + +============================ +:index:`License Explorer` +============================ + +Details of all the License detections and clues including Matches as well as files in which they +were detected can be viewed using the License Explorer. + +Refer - +:doc:`scancode-toolkit:reference/license-detection-reference` + +.. @TODO - Replace with anchored link after merging docs PR inScanCode Toolkit +.. :doc:`scancode-toolkit:reference/license-detection-reference#what-is-a-licensedetection` + +License Navigation Pane +------------------------------- +User can scroll through the licenses and select particular license to see +detailed information in the License details pane. Licenses are divided into two sections: +- License Detections +- License Clues + +User can search for a particular license using the search bar at the top. +These sections' height & navigation pane's width can be adjusted as per convenience. + +.. image:: data/license-explorer/license-explorer.gif + +License Details Pane +------------------------------------------ +User can see detailed information of the license selected in the navigation pane. +Title of details pane - License Expression +Instances - No. of times license is detected +Score - Clue's confidence about the license (Shown only for clues) + +Matches Table: + +User can view the match details resulting the selected license : + +- ``Score`` +- ``Matched length`` +- ``Match Coverage`` +- ``Matcher`` +- ``Matched Text`` + | User can click on the text to view a diff of Matched & Rule text + | (Requires ``--license-references`` flag) +- ``Rule`` - User can click on the Rule to open the rule used byScanCode Toolkit in browser +- ``SPDX License expression`` + +File Regions Table: + +User can view the files in which selected license was detected: + +- ``Path`` - Path of file, User can click on it to view the specific file in TableView +- ``Lines`` - Specific lines in the file at which license was detected +- ``Detection origin`` - Type of file + +View License details, go to & from file <-> license explorer +-------------------------------------------------------------------------------- +.. image:: data/license-explorer/license-explorer-nav.gif + +View Matched Text diff +-------------------------------------------- + +.. image:: data/license-explorer/license-explorer-matchedtext.gif + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/license-info-dashboard.rst b/docs/source/ui-reference/license-info-dashboard.rst index b3b87a2a..2fb471f7 100644 --- a/docs/source/ui-reference/license-info-dashboard.rst +++ b/docs/source/ui-reference/license-info-dashboard.rst @@ -1,7 +1,37 @@ -=============================== +.. _license-info-dashboard: + +================================ :index:`License Info Dashboard` -=============================== +================================ + +License info dashboard summarizes the license information detected for files +in the scan under the selected path. It is a good starting point to understand +the declaration of licenses in the project. +Scan must have ``--license`` option enabled for the data required in License Info Dashboard. + +Summary of Licenses: + +- Licenses + No. of unique licenses detected. +- Files + No. of files (under the selected path) having at least one license detected. +- SPDX Licenses + No. of unique SPDX detected. + +- Pie charts + - License expressions + Distribution of unique license expressions indicating the number + of files in which each license expression is detected. + - License keys + Distribution of unique license keys indicating the number of files + in which each license key is detected. + - License policies + Distribution of unique license policies indicating the number of files + in which each license policy is detected. + +.. include:: /rst_snippets/refer-pie-charts.rst -:guilabel:`[Intro to come.]` +.. image:: data/license-info/license-info.png +.. image:: data/license-info/license-info-with-policies.png -:guilabel:`[Screenshots and narrative to come.]` +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/package-explorer.rst b/docs/source/ui-reference/package-explorer.rst new file mode 100644 index 00000000..81b68871 --- /dev/null +++ b/docs/source/ui-reference/package-explorer.rst @@ -0,0 +1,98 @@ +.. _package-explorer: + +============================ +:index:`Package Explorer` +============================ + +.. include:: ../definitions.rst + +Details of all the Packages & dependencies as well as files in which +they were detected can be viewed using the Package Explorer. + +Refer - :doc:`scancode-toolkit:reference/available_package_parsers`. + +Package Navigation Pane +-------------------------------- +User can scroll through the packages & dependencies and select particular package +to see detailed information in the Details pane. +Packages and dependencies are organised in a hierarchical structure as shown below. + +> ``Package Type`` + > ``Package (PURL)`` + > ``Dependencies`` + +User can select different filters: + +- Data sources - ``maven_pom``, ``go_mod``, ``npm_package_lock_json``, etc +- Dependency flags - ``Runtime``, ``Resolved``, ``Optional`` + + Tip - You can click on the tag on the right side of the dependency to toggle that flag. + +The navigation pane's width can also be adjusted as per convenience. + +.. image:: data/package-explorer/package-explorer-nav.gif + + +Package Details +-------------------- + +User can see following information of the selected package: + +- ``Title of details pane``- PURL + + |purl_description| +- ``Type`` +- ``Namespace`` +- ``Name`` +- ``Version`` +- ``Subpath`` +- ``Primary Language`` +- ``Extracted license statement`` +- ``Declared license expression`` +- ``Declared license expression SPDX`` +- ``Other license expression`` +- ``Other license expression SPDX`` +- ``Homepage URL`` + +*************************** +Datafile paths +*************************** +List of paths of datafiles in which the selected package/dependency was detected. +User can click on the datafile paths to open that path in the Tableview the match details +resulting the selected license. + +*************************** +Dependencies table +*************************** + +User can see all the dependencies of the selected package in the table, with following details: + +- ``Purl`` + + |purl_description| +- ``Scope`` +- ``Resolved`` +- ``Runtime`` +- ``Optional`` +- ``Data source ID`` +- ``Data file`` +- ``Extracted requirement`` + +.. image:: data/package-explorer/package-details.gif + +Dependency Details +-------------------- + +User can see following information of the selected dependency: + +- ``For`` - PURL of the package for which this dependency was detected +- ``Scope`` +- ``Extracted requirement`` +- ``Data file`` - Clickable datafile path to open the datafile in the Tableview +- ``Data source ID`` + +The Data file property is a clickable link that opens the Tableview with that file selected. + +.. image:: data/package-explorer/dependency-details.png + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/package-info-dashboard.rst b/docs/source/ui-reference/package-info-dashboard.rst index 116f39d3..baa10b47 100644 --- a/docs/source/ui-reference/package-info-dashboard.rst +++ b/docs/source/ui-reference/package-info-dashboard.rst @@ -1,7 +1,28 @@ -=============================== +.. _package-info-dashboard: + +=================================== :index:`Package Info Dashboard` -=============================== +=================================== + +Package info dashboard summarizes the packages detected for files +in the scan under the selected path. +Scan must have ``--package`` option for License Info Dashboard + +Summary of Packages: + +- Total number of packages detected + +- Pie charts + - Package Types + Distribution of unique package types detected. eg. ``npm``, ``cargo``, ``pypi``, etc. + - Package Languages + Distribution of unique package languages detected. + eg. ``Javascript``, ``Python``, ``Ruby``, etc. + - Package Licenses + Distribution of unique package licenses detected. + +.. include:: /rst_snippets/refer-pie-charts.rst -:guilabel:`[Intro to come.]` +.. image:: data/package-info/package-info.png -:guilabel:`[Screenshots and narrative to come.]` +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/pie-charts.rst b/docs/source/ui-reference/pie-charts.rst new file mode 100644 index 00000000..2652a2e5 --- /dev/null +++ b/docs/source/ui-reference/pie-charts.rst @@ -0,0 +1,43 @@ +.. _pie-charts: + +=========================== +:index:`Pie charts` +=========================== + +Pie charts give a quick overview of the distribution of values for a given attribute. +ScanCode Workbench utilises `c3js `_ charts on the following views: + +- :ref:`file-info-dashboard` +- :ref:`license-info-dashboard` +- :ref:`copyright-info-dashboard` +- :ref:`package-info-dashboard` +- :ref:`dependency-info-dashboard` + +Tooltip +-------------------------------- + +You can hover over the pie chart to see the exact value and percentage of the pie chart. + +.. image:: data/pie-charts/pie-charts-tooltip.png + :width: 100% + :alt: Hover Pie chart to see tooltip + +Legend items +-------------------------------- + +.. note:: + Legend items are not available on the :ref:`copyright-info-dashboard` due to long copyright statements. + +You can hover over the legend items to highlight the corresponding pie chart segment. + +.. image:: data/pie-charts/pie-charts-legend-tooltip.png + :width: 100% + :alt: Hover Pie chart legend item to highlight segment + +You can click on the legend items to toggle the visibility of corresponding pie chart segments. + +.. image:: data/pie-charts/pie-charts-legend-toggle.gif + :width: 100% + :alt: Click legend item to toggle segment visibility in Pie chart + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/scan-info.rst b/docs/source/ui-reference/scan-info.rst new file mode 100644 index 00000000..2b98b4d3 --- /dev/null +++ b/docs/source/ui-reference/scan-info.rst @@ -0,0 +1,34 @@ +.. _scan-info: + +============================ +:index:`Scan Info` +============================ + +Scan Info provides information about the scan available in ``headers`` in the scan. +It provides information about the environment & configuration on host machine +when performing the scan. You can also see the raw header JSON at the bottom + +Fields: + +- ``Tool`` - Name of the tool which generated this scan +- ``Tool version`` - Version of the tool which generated this scan +- ``Input`` - Input path on which scan was run +- ``Scan Options`` - :doc:`scancode-toolkit:cli-reference/basic-options`. +- ``Files count`` - Total number of files scanned +- ``Output format version`` - Used to track compatibility with current workbench application +- ``SPDX license list version`` - Version of SPDX license list used +- ``Operating system`` - Operating system on which scan was run +- ``CPU architecture`` - CPU architecture on which scan was run +- ``Platform`` - Platform on which scan was run +- ``Platform version`` - Platform version on which scan was run +- ``Python version`` +- ``Scan duration`` +- ``Tool notice`` - Notice of the tool which generated this scan +- ``Errors`` (if any) +- ``Raw header`` + + +.. image:: data/scan-info/scan-info_1.png +.. image:: data/scan-info/scan-info_2.png + +.. include:: ../rst_snippets/scans-used.rst diff --git a/docs/source/ui-reference/table-view.rst b/docs/source/ui-reference/table-view.rst index 416579a1..34b375d5 100644 --- a/docs/source/ui-reference/table-view.rst +++ b/docs/source/ui-reference/table-view.rst @@ -1,17 +1,149 @@ +.. _table-view: + =================== :index:`Table View` =================== -:guilabel:`[Intro to come.]` - In the table view, the available clues detected by `ScanCode Toolkit `_ are shown in a tabular format. A user can see provenance clues such as license and copyright information detected by ScanCode. A user can also see the file information (e.g., file type, file size, etc) and package information (package type, primary language of package) that was detected. -The columns can be sorted as well as shown or hidden based on what the user’s -preferences. Searching for specific clues (license names, copyrights, etc.) is also available in -this view. +The columns can be sorted as well as shown or hidden based on what the user +preference is. Searching for specific clues (license names, copyrights, etc.) +is also available in this view. + +.. Note:: + The data in tableview is only available if corresponding options were enabled when performing the scan. + Refer - :doc:`scancode-toolkit:cli-reference/list-options`. + +---------------- +Column groups +---------------- + +Copyright + +- ``copyright_statements`` +- ``copyright_holders`` +- ``copyright_authors`` +- ``copyright_start_line`` +- ``copyright_end_line`` + +File + +- ``type`` +- ``name`` +- ``extension`` +- ``size`` +- ``programming_language`` +- ``mime_type`` +- ``file_type`` +- ``is_binary`` +- ``is_text`` +- ``is_archive`` +- ``is_media`` +- ``is_source`` +- ``is_script`` + +License + +- ``detected_license_expression`` +- ``detected_license_expression_spdx`` +- ``percentage_of_license_text`` +- ``license_detections`` +- ``license_policy`` +- ``license_clues`` + +Origin + +- ``copyright_statements`` +- ``license_policy`` +- ``email`` +- ``url`` +- ``mime_type`` +- ``file_type`` +- ``programming_language`` + +Package + +- ``package_data_type`` +- ``package_data_name`` +- ``package_data_version`` +- ``package_data_extracted_license_statement`` +- ``package_data_declared_license_expression`` +- ``package_data_declared_license_expression_spdx`` +- ``package_data_primary_language`` +- ``for_packages`` + +Misc + +- ``scan_error`` + +.. image:: data/tableview/tableview-intro.gif + +Preset Column Groups +------------------------------ +The columns are grouped based on their nature such as +``Copyright Cols``, ``Origin Cols``, ``License Cols``, etc. +User can select one of these groups using the corresponding buttons available +in the quick actions row. + +.. image:: data/tableview/tableview-column-groups.gif + +View Custom set of columns +---------------------------------------- +In addition to the preset groups, Users can select a custom set of columns by +using the ``Custom Columns`` button found in the quick actions row. + +.. image:: data/tableview/tableview-custom-columns.gif + +Pin columns +------------------------------- +Users can pin any column(s) to the left by dragging them through the column-header towards the left + +.. image:: data/tableview/tableview-pin-columns.gif + +Column wise filter & search +------------------------------------------- +User can easily filter rows based on specific column values or use advanced search +using ``and``, ``or`` in combination with different search patterns like +``Contains``, ``Starts with``, etc. + +.. image:: data/tableview/tableview-column-filter-search.gif + +Search +------------------------ +Use the ``Search`` bar in the top-right corner to perform searches within the +specified directory scope and selected column fields (hidden columns are excluded from the search) + +.. image:: data/tableview/tableview-search.gif + +Go to License Explorer +------------------------ +User can go to specific licenses in the licenses explorer by the clickable links +in ``License Detections`` column (Grouped under `License cols`). +This will open the license explorer with the target license selected. +Similarly, ``Path`` column in the File regions table in license details pane also +provide links which navigate back to the Table view with that File path selected + +.. image:: data/tableview/tableview-to-license.gif + +Go to Package Explorer +------------------------ +User can go to specific package in the package explorer by the clickable +links in ``For Packages`` column (Grouped under `Package cols`). +This will open the package explorer with the target package selected. +Similarly, Datafile paths in package/dependency details pane as well as +dependency table also provide links which navigate back to the Table view +with that File path selected + +.. image:: data/tableview/tableview-to-package.gif + +Pagination +------------------------ +Users can easily navigate through rows split into pages, with the flexibility to select a +custom number of rows per page, tailoring the display to their convenience and preferences + +.. image:: data/tableview/tableview-pagination.gif -.. image:: data/table-view.gif diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..2dccb73d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,16 @@ +[build-system] +requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 6"] +build-backend = "setuptools.build_meta" + +[tool.setuptools_scm] +# this is used populated when creating a git archive +# and when there is .git dir and/or there is no git installed +fallback_version = "9999.$Format:%h-%cs$" + +python_files = "*.py" + +addopts = [ + "-rfExXw", + "--strict-markers", + "--doctest-modules" +] \ No newline at end of file diff --git a/src/components/FileTree/FileTree.tsx b/src/components/FileTree/FileTree.tsx index d33874c7..1dd4ded9 100644 --- a/src/components/FileTree/FileTree.tsx +++ b/src/components/FileTree/FileTree.tsx @@ -55,6 +55,7 @@ const FileTree = (props: React.HTMLProps) => { if (alreadyRenderedTargetNode) { // Immediate scroll possible scrollTreeNode(alreadyRenderedTargetNode); + endProcessing(); } else { // Wait for target node to render pendingScrollerTimeoutId = setTimeout(() => { diff --git a/src/components/LicenseEntity/MatchesTableCols.ts b/src/components/LicenseEntity/MatchesTableCols.ts index bda4761e..5192922b 100644 --- a/src/components/LicenseEntity/MatchesTableCols.ts +++ b/src/components/LicenseEntity/MatchesTableCols.ts @@ -87,7 +87,6 @@ export const MATCH_COLS: MatchColumns = { width: 250, }, }; - export const LicenseDetectionMatchCols: ColDef[] = [ MATCH_COLS.license_expression, MATCH_COLS.score, diff --git a/src/components/ProgressLoader/ProgressLoader.tsx b/src/components/ProgressLoader/ProgressLoader.tsx index 5bd7c1f2..abaf00ca 100644 --- a/src/components/ProgressLoader/ProgressLoader.tsx +++ b/src/components/ProgressLoader/ProgressLoader.tsx @@ -19,7 +19,7 @@ const ProgressLoader = (props: ProgressLoaderProps) => { visible={true} ariaLabel="oval-loading" /> -

{props.progress} %

+

Processing scan - {props.progress} %

); diff --git a/src/mainMenu.ts b/src/mainMenu.ts index c6ad2127..f06c1348 100644 --- a/src/mainMenu.ts +++ b/src/mainMenu.ts @@ -134,11 +134,11 @@ function getTemplate() { type: "separator", }, { - label: "Licenses Explorer", + label: "License Explorer", click: sendNavEventToRenderer(ROUTES.LICENSES), }, { - label: "Packages Explorer", + label: "Package Explorer", click: sendNavEventToRenderer(ROUTES.PACKAGES), }, { diff --git a/src/pages/TableView/columnGroups.ts b/src/pages/TableView/columnGroups.ts index c3215275..3bcb425c 100644 --- a/src/pages/TableView/columnGroups.ts +++ b/src/pages/TableView/columnGroups.ts @@ -14,7 +14,7 @@ export const SET_FILTERED_COLUMNS = new Set([ ALL_COLUMNS.extension.field || "", ALL_COLUMNS.programming_language.field || "", ALL_COLUMNS.file_type.field || "", - + ALL_COLUMNS.mime_type.field || "", ALL_COLUMNS.copyright_holders.field || "", ALL_COLUMNS.copyright_authors.field || "", ]); diff --git a/src/services/models/copyright.ts b/src/services/models/copyright.ts index ebe4c1cb..d3390155 100644 --- a/src/services/models/copyright.ts +++ b/src/services/models/copyright.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/database.ts b/src/services/models/database.ts index 6e0e8c67..d9bdf789 100644 --- a/src/services/models/database.ts +++ b/src/services/models/database.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/databaseUtils.ts b/src/services/models/databaseUtils.ts index ca887bc8..a84f7d5e 100644 --- a/src/services/models/databaseUtils.ts +++ b/src/services/models/databaseUtils.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/dependencies.ts b/src/services/models/dependencies.ts index aa24de65..b75a4ba5 100644 --- a/src/services/models/dependencies.ts +++ b/src/services/models/dependencies.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/email.ts b/src/services/models/email.ts index 644ed34e..896ff92f 100644 --- a/src/services/models/email.ts +++ b/src/services/models/email.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/file.ts b/src/services/models/file.ts index b0e8c00d..bedf9fc0 100644 --- a/src/services/models/file.ts +++ b/src/services/models/file.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/flatFile.ts b/src/services/models/flatFile.ts index 61aae48f..ca585c03 100644 --- a/src/services/models/flatFile.ts +++ b/src/services/models/flatFile.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. @@ -392,13 +392,20 @@ export function flattenFile(file: any): FlattenedFile { }; } -function getLicensePolicyLabel(policy: any) { +function getLicensePolicyLabel(policy: any[]) { if (!policy) { - return; - } else if (!policy["label"]) { - return; + return []; } - return [policy["label"]]; + + // @TODO - Support Comprehensive renderer in Tableview + // return policy.map((policy) => ({ + // label: policy["label"], + // license_key: policy["license_key"], + // })); + + return policy.map( + (policy) => `${policy["license_key"]} - ${policy["label"]}` + ); } function getCopyrightValues( diff --git a/src/services/models/header.ts b/src/services/models/header.ts index f041d9e4..37e421ec 100644 --- a/src/services/models/header.ts +++ b/src/services/models/header.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/licenseClues.ts b/src/services/models/licenseClues.ts index ce87f91b..a5c9bff9 100644 --- a/src/services/models/licenseClues.ts +++ b/src/services/models/licenseClues.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2019 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/licenseDetections.ts b/src/services/models/licenseDetections.ts index c321aae6..8eb2b7c1 100644 --- a/src/services/models/licenseDetections.ts +++ b/src/services/models/licenseDetections.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2019 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/licenseExpression.ts b/src/services/models/licenseExpression.ts index 07bfd7f6..edd6daf7 100644 --- a/src/services/models/licenseExpression.ts +++ b/src/services/models/licenseExpression.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/licensePolicy.ts b/src/services/models/licensePolicy.ts index d9ed648a..ae155fe2 100644 --- a/src/services/models/licensePolicy.ts +++ b/src/services/models/licensePolicy.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2019 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/licenseRuleReference.ts b/src/services/models/licenseRuleReference.ts index b115891c..8378bc4e 100644 --- a/src/services/models/licenseRuleReference.ts +++ b/src/services/models/licenseRuleReference.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2019 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/packageData.ts b/src/services/models/packageData.ts index df4adac8..7abb09e3 100644 --- a/src/services/models/packageData.ts +++ b/src/services/models/packageData.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/packages.ts b/src/services/models/packages.ts index 7d67aca1..69615dfc 100644 --- a/src/services/models/packages.ts +++ b/src/services/models/packages.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/scanError.ts b/src/services/models/scanError.ts index ab876c7b..9929bb91 100644 --- a/src/services/models/scanError.ts +++ b/src/services/models/scanError.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/models/url.ts b/src/services/models/url.ts index c0d5ed3c..4bd1cd6c 100644 --- a/src/services/models/url.ts +++ b/src/services/models/url.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2018 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/services/workbenchDB.ts b/src/services/workbenchDB.ts index d94223eb..5a5aadab 100644 --- a/src/services/workbenchDB.ts +++ b/src/services/workbenchDB.ts @@ -1,6 +1,6 @@ /* # - # Copyright (c) 2017 - 2019 nexB Inc. and others. All rights reserved. + # Copyright (c) nexB Inc. and others. All rights reserved. # https://nexb.com and https://github.com/nexB/scancode-workbench/ # The ScanCode Workbench software is licensed under the Apache License version 2.0. # ScanCode is a trademark of nexB Inc. diff --git a/src/utils/pie.ts b/src/utils/pie.ts index ca7fe3b3..76fdf74c 100644 --- a/src/utils/pie.ts +++ b/src/utils/pie.ts @@ -8,7 +8,7 @@ const ascendingFrequencyComparator = (a: FormattedEntry, b: FormattedEntry) => const descendingFrequencyComparator = (a: FormattedEntry, b: FormattedEntry) => a[1] == b[1] ? (a[0] < b[0] ? -1 : 1) : a[1] < b[1] ? 1 : -1; -// Limit data to n-highest values in the chart +// Limit data to n-highest values in charts export function limitPieChartData(data: FormattedEntry[], limit: number) { if (data.length <= limit) return data.sort(ascendingFrequencyComparator); diff --git a/tests/test-scans/licenses/expectedLicenses.ts b/tests/test-scans/licenses/expectedLicenses.ts index 878528a1..cfdefc05 100644 --- a/tests/test-scans/licenses/expectedLicenses.ts +++ b/tests/test-scans/licenses/expectedLicenses.ts @@ -263,7 +263,7 @@ export const LicenseSamples: { detected_license_expression: null, detected_license_expression_spdx: null, percentage_of_license_text: 0, - license_policy: null, + license_policy: "[]", license_clues: "[]", license_detections: "[]", }, @@ -271,7 +271,8 @@ export const LicenseSamples: { detected_license_expression: "apache-2.0 AND gpl-3.0", detected_license_expression_spdx: "Apache-2.0 AND GPL-3.0-only", percentage_of_license_text: 100, - license_policy: null, + //prettier-ignore + license_policy: "[\"apache-2.0 - Approved License\",\"gpl-3.0 - Restricted License\"]", license_clues: "[]", license_detections: '[{"license_expression":"apache-2.0 AND gpl-3.0","identifier":"apache_2_0_and_gpl_3_0-494ca0ae-1282-09a2-139f-a52c04fde6dc"}]', @@ -280,7 +281,7 @@ export const LicenseSamples: { detected_license_expression: null, detected_license_expression_spdx: null, percentage_of_license_text: 0, - license_policy: null, + license_policy: "[]", license_clues: "[]", license_detections: "[]", }, @@ -288,7 +289,7 @@ export const LicenseSamples: { detected_license_expression: "mit", detected_license_expression_spdx: "MIT", percentage_of_license_text: 6.36, - license_policy: null, + license_policy: "[]", license_clues: "[]", license_detections: '[{"license_expression":"mit","detection_log":[],"identifier":"mit-b941df29-6c4b-fe7e-752f-a5fc7f9a28b5"}]', @@ -297,7 +298,7 @@ export const LicenseSamples: { detected_license_expression: null, detected_license_expression_spdx: null, percentage_of_license_text: 0, - license_policy: null, + license_policy: "[]", license_clues: "[]", license_detections: "[]", }, @@ -305,7 +306,7 @@ export const LicenseSamples: { detected_license_expression: null, detected_license_expression_spdx: null, percentage_of_license_text: 6.37, - license_policy: null, + license_policy: "[]", license_clues: '[{"score":52,"start_line":56,"end_line":59,"matched_length":13,"match_coverage":52,"matcher":"3-seq","license_expression":"apache-2.0 OR gpl-2.0","rule_identifier":"apache-2.0_or_gpl-2.0_24.RULE","rule_relevance":100,"rule_url":"https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_gpl-2.0_24.RULE","fileId":5,"filePath":"rx-lite/package.json","fileClueIdx":0,"matches":[{"score":52,"start_line":56,"end_line":59,"matched_length":13,"match_coverage":52,"matcher":"3-seq","license_expression":"apache-2.0 OR gpl-2.0","rule_identifier":"apache-2.0_or_gpl-2.0_24.RULE","rule_relevance":100,"rule_url":"https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/apache-2.0_or_gpl-2.0_24.RULE","path":"rx-lite/package.json","license_expression_keys":[{"key":"apache-2.0","licensedb_url":"https://scancode-licensedb.aboutcode.org/apache-2.0","scancode_url":"https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE"},{"key":"gpl-2.0","licensedb_url":"https://scancode-licensedb.aboutcode.org/gpl-2.0","scancode_url":"https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/gpl-2.0.LICENSE"}]}],"file_regions":[{"path":"rx-lite/package.json","start_line":56,"end_line":59}]}]', license_detections: "[]", diff --git a/workbench.ABOUT b/workbench.ABOUT index 234db9a1..1d5e0452 100644 --- a/workbench.ABOUT +++ b/workbench.ABOUT @@ -3,7 +3,7 @@ name: ScanCode Workbench version: 4.0.0rc4 license: apache-2.0 owner: nexB Inc. -copyright: Copyright (c) 2019 nexB Inc. +copyright: Copyright (c) nexB Inc. and others. All rights reserved. notice_file: NOTICE license_file: LICENSE