Skip to content

Commit

Permalink
Merge branch 'kk_detectDocs' into sb_merge610DocEdits
Browse files Browse the repository at this point in the history
# Conflicts:
#	build.gradle
  • Loading branch information
Steve Billings committed Jan 8, 2020
2 parents f4a55a4 + cd82ba1 commit 4aa3e0c
Show file tree
Hide file tree
Showing 30 changed files with 262 additions and 263 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -23,6 +23,6 @@ For AirGap, please use our [Artifactory](https://repo.blackducksoftware.com/arti

## Documentation

[For Developers and Advanced Topics](https://github.com/blackducksoftware/synopsys-detect/wiki)
The latest documentation is [here](https://blackducksoftware.github.io/synopsys-detect/latest/).

All other documentation is located on our public [Confluence](https://synopsys.atlassian.net/wiki/spaces/INTDOCS/pages/62423113/Synopsys+Detect)
Links to other versions can be found [here](https://detect.synopsys.com/docs).
2 changes: 1 addition & 1 deletion docs/templates/all-properties.ftl
@@ -1,5 +1,5 @@
<#ftl output_format="Markdown">
This page lists all ${solution_name} properties including deprecated and advanced, for most use cases see [basic properties](../basic-properties).
This page lists all ${solution_name} properties including deprecated and advanced. For most use cases, refer to [basic properties](../basic-properties).

<#list groups as group>

Expand Down
2 changes: 1 addition & 1 deletion docs/templates/basic-properties.ftl
@@ -1,4 +1,4 @@
This page lists only detect's basic properties, for advanced and deprecated properties see [all properties](../all-properties).
This page lists Detect's basic properties; for advanced and deprecated properties, refer to [all properties](../all-properties).

<#list groups as group>

Expand Down
27 changes: 14 additions & 13 deletions docs/templates/content/00-introduction.ftl
@@ -1,3 +1,4 @@
<#-- kk edited 1.8.20 -->
# Introduction

${solution_name} analyzes your software project to identify open source component dependencies.
Expand All @@ -16,10 +17,10 @@ For applications containing multiple sub-projects, it may be advantageous to sca

## A typical ${solution_name} run

While there are many variations on this, a typical ${solution_name} run performs the steps described
below. In this example, the user has provided (via property settings) ${blackduck_product_name} connection details
While there are many variations on a ${solution_name} run, a typical ${solution_name} run performs the steps described
as follows. In this example, the user has provided ${blackduck_product_name} connection details through property settings
to ${solution_name}, signalling that results (project dependency details)
should be uploaded to ${blackduck_product_name}.
are to be uploaded to ${blackduck_product_name}.

In a typical run, ${solution_name}:

Expand All @@ -43,27 +44,27 @@ ${solution_name} processing is divided into three phases:
### Initialization phase

During the initialization phase, ${solution_name} performs verification checks on the user-provided configration, checks to see if it
can connect to any external systems needed for the run, and creates any directories that it needs.
can connect to any external systems needed for the run, and creates any required directories.

### Run phase

During the run phase, ${solution_name} processes and ordered list of [tools](components/tools.md), invoking any/all that apply.
Tool applicability depends on how ${solution_name} is configured (what property values you set).
During the run phase, ${solution_name} processes an ordered list of [tools](components/tools.md), invoking all that apply.
Tool applicability depends on how ${solution_name} is configured; in other words, the property values you set.
The detector tool runs by default. The ${blackduck_signature_scanner_name} tool runs by default when ${blackduck_product_name} connection
details are provided.

The detector tool will invoke any/all [detectors](components/detectors.md) that apply.
The detector tool invokes all applicable [detectors](components/detectors.md).
Detector applicability depends on what ${solution_name} finds in your project. For example, if ${solution_name}
finds a pom.xml file, it will run the Maven detector. If it finds Gradle files, it will run the Gradle detector.
finds a pom.xml file, it runs the Maven detector. If it finds Gradle files, it runs the Gradle detector.

In the typical run described above, two tools applied: The detector tool (which ran the Maven detector),
and the ${blackduck_signature_scanner_name} tool (which ran the ${blackduck_signature_scanner_name}).
In the typical run previously described, two tools are applied: the detector tool which ran the Maven detector,
and the ${blackduck_signature_scanner_name} tool which ran the ${blackduck_signature_scanner_name}.

At the end of the run phase, ${solution_name} will upload results to the appropriate external
At the end of the run phase, ${solution_name} uploads results to the appropriate external
system(s) (${blackduck_product_name} and/or ${polaris_product_name}), and optionally perform post actions, such as generating
a risk report or checking for policy violations.

In the typical run described above, ${solution_name} uploaded to ${blackduck_product_name} results from
In the typical run previously described, ${solution_name} uploads ${blackduck_product_name} results from
the Maven detector and the ${blackduck_signature_scanner_name}.

### Cleanup phase
Expand All @@ -72,5 +73,5 @@ During the cleanup phase, ${solution_name} removes temporary files and directori

## Controlling ${solution_name} processing

For information on controlling which tools and detectors ${solution_name} executes, see
For more information on controlling the tools and detectors executed by ${solution_name}, refer to
[Including/excluding tools/detectors](30-running.md#including-and-excluding-tools-and-detectors).
14 changes: 7 additions & 7 deletions docs/templates/content/10-requirements.ftl
Expand Up @@ -2,14 +2,14 @@

## General requirements

Requirements for ${solution_name} are:
Requirements for ${solution_name}

* Normally, access to the internet is required to download and run ${solution_name} and components from GitHub and other locations. For running without internet access, see [Air gap and offline modes](advanced/air-gap.md).
* Normally, access to the internet is required to download and run ${solution_name} and components from GitHub and other locations. For running without internet access, refer to [Air gap and offline modes](advanced/air-gap.md).
* Minimum 8GB RAM.
* OpenJDK 8 or OpenJDK 11.
* curl version 7.34.0 or later.
* OpenJDK versions 8 or 11.
* curl versions 7.34.0 or later.
* Bash.
* If using ${powershell_script_name}: PowerShell version 4.0 or higher.
* If using ${powershell_script_name}: PowerShell versions 4.0 or higher.
* The tools required to build your project source code.

## ${blackduck_product_name} requirements
Expand All @@ -28,10 +28,10 @@ A licensed installation of Polaris with access credentials.

In general, the detectors require:

* All dependencies must be resolvable. This generally means that each dependency has been installed using the package manager's cache, virtual environment, etc.
* All dependencies must be resolvable. This generally means that each dependency has been installed using the package manager's cache, virtual environment, and others.
* The package manager / build tool must be installed and in the path.

See *Language and package managers* for information on specific detectors.
Refer to *Language and package managers* for information on specific detectors.

## Risk report requirements

Expand Down
35 changes: 17 additions & 18 deletions docs/templates/content/20-quickstart.ftl
@@ -1,10 +1,10 @@
# Quickstart guide

To help you get started using ${solution_name}, here's a simple example.
The following is a simple example to help you get started using ${solution_name}.

## Step 1: Locate or acquire a source code project on which you will run ${solution_name}
## Step 1: Locate or acquire a source code project on which you will run ${solution_name}.

To run ${solution_name} on junit4 (an open source project written in Java and built with Maven), you could acquire
To run ${solution_name} on junit4, which is an open source project written in Java and built with Maven, you could acquire
it by doing the following:
```
git clone https://github.com/junit-team/junit4.git
Expand All @@ -15,40 +15,39 @@ To understand what ${solution_name} does, it can be helpful to think about what
project's dependencies without using ${solution_name}. You might do the following:

1. Look in the project directory (junit4) for hints about how dependencies are managed. In this case, the *mvnw* and *pom.xml* files are hints that dependencies are managed using Maven.
1. Since it's a Maven project, you would likely run `./mvnw dependency:tree` to reveal the project's dependencies (direct and transitive).
1. Since it's a Maven project, you would likely run `./mvnw dependency:tree` to reveal the project's dependencies; both direct and transitive.

This is exactly what ${solution_name} will do on this project. In addition, ${solution_name} will run the
${blackduck_signature_scanner_name} on the directory, which can discover additional dependencies
This is exactly what ${solution_name} does on this project. In addition, ${solution_name} runs the
${blackduck_signature_scanner_name} on the directory, which discovers additional dependencies
added to the project by any means other than the package manager.

## Step 2: Run ${solution_name} in offline mode
## Step 2: Run ${solution_name} in offline mode.

Running ${solution_name} in offline mode eliminates the need to provide
connection details to ${blackduck_product_name} or ${polaris_product_name},
while giving you an opportunity to see what ${solution_name} will
do on a project.
while giving you an opportunity to see what ${solution_name} does on a project.

At the top level of the project directory (junit4), run ${solution_name} in offline mode:

bash <(curl -s -L https://detect.synopsys.com/detect.sh) --blackduck.offline.mode=true

The operations performed by ${solution_name} will depend on what it finds in your source directory.
The operations performed by ${solution_name} depends on what it finds in your source directory.
By default, ${solution_name} considers the current working directory to be your source directory.

In the junit4 case, ${solution_name} will:

1. Run the Maven detector, creating one BDIO (Black Duck Input Output) (.jsonld) file that contains the dependencies discovered using Maven.
2. Run the ${blackduck_signature_scanner_name}, creating a .json file that contains the dependencies discovered by the ${blackduck_signature_scanner_name}.

In offline mode, neither of these will be uploaded to ${blackduck_product_name}.
In offline mode, neither of these are uploaded to ${blackduck_product_name}.

To locate these files, look in the log for the message "Run directory: ...". These files are located inside
the specified run directory.

## Step 3: Run ${solution_name} connected to ${blackduck_product_name}
## Step 3: Run ${solution_name} connected to ${blackduck_product_name}.

If you have access to a ${blackduck_product_name} server, you can re-run ${solution_name},
this time connecting (and uploading results) to ${blackduck_product_name}.
this time connecting and uploading results to ${blackduck_product_name}.

To connect ${solution_name} to ${blackduck_product_name}, replace the `--blackduck.offline.mode=true` command line argument
with the following three arguments that provide login details for your ${blackduck_product_name} server:
Expand All @@ -57,22 +56,22 @@ with the following three arguments that provide login details for your ${blackdu
* `--blackduck.username={your Black Duck username}`
* `--blackduck.password={your Black Duck password}`

The command you run will look like this:
The command you run looks like this:

bash <(curl -s -L https://detect.synopsys.com/detect.sh) --blackduck.url={your Black Duck server URL} --blackduck.username={your Black Duck username} --blackduck.password={your Black Duck password}

Run this way, ${solution_name} will perform the same steps it did in the offline run, plus
In this way, ${solution_name} performs the same steps it did in the offline run, plus
the following:

* Upload the discovered dependencies to ${blackduck_product_name}
* Provide (in the log) a "Black Duck Project BOM" URL that you can use to view the results in ${blackduck_product_name}.
* Uploads the discovered dependencies to ${blackduck_product_name}.
* Provides in the log a "Black Duck Project BOM URL that you can use to view the results in ${blackduck_product_name}.

Point your browser to the Black Duck Project BOM URL to see the Bill Of Materials for junit4.

## Next steps

Because ${solution_name} can be used on a variety of project types in a variety of ways,
its behavior is highly configurable. More detailed information on how to configure ${solution_name}
for your needs is provided in the sections that follow.
for your needs is provided in the following sections.


0 comments on commit 4aa3e0c

Please sign in to comment.