Skip to content

Commit 4ed7eab

Browse files
authored
Update strategies doc (#1485)
* Update strategies doc * Make C# like others in the table
1 parent 0919c23 commit 4ed7eab

File tree

1 file changed

+51
-37
lines changed

1 file changed

+51
-37
lines changed

docs/references/strategies/README.md

+51-37
Original file line numberDiff line numberDiff line change
@@ -145,40 +145,54 @@ Invoke strict analysis with the `--strict` flag when running `fossa analyze`.
145145

146146
### Strategies by type
147147

148-
> If the FOSSA CLI is forced to utilize a fallback strategy, meaning it did not detect ideal results, a warning is emitted in the scan summary after running `fossa analyze`.
149-
150-
| Language/Package Manager | Dynamic | Static | Detect Vendored Code | Primary Strategy |
151-
|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------|-----------|----------------------|------------------|
152-
| [C#](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet) |||| Dynamic |
153-
| [C](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/c-cpp/c-cpp.md) | :warning: | :warning: || None |
154-
| [C++](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/c-cpp/c-cpp.md) | :warning: | :warning: || None |
155-
| [Clojure (leiningen)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/clojure/clojure.md) |||| Dynamic |
156-
| [Dart (pub)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/dart/dart.md) |||| Dynamic |
157-
| [Elixer (mix)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/elixir/elixir.md) |||| Dynamic |
158-
| [Erlang (rebar3)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/erlang/erlang.md) |||| Dynamic |
159-
| [Fortran](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/fortran/fortran.md) |||| Static |
160-
| [Go (dep)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/godep.md) |||| Static |
161-
| [Go (glide)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/glide.md) |||| Static |
162-
| [Go (gomodules)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/gomodules.md) |||| Dynamic |
163-
| [Gradle](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/gradle/gradle.md) |||| Dynamic |
164-
| [Haskell (cabal)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/haskell/cabal.md) |||| Dynamic |
165-
| [Haskell (stack)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/haskell/stack.md) |||| Dynamic |
166-
| [iOS (carthage)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/carthage.md) |||| Static |
167-
| [iOS (cocoapods)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/cocoapods.md) |||| Static |
168-
| [iOS (swift)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/swift.md) |||| Static |
169-
| [Maven](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/maven/maven.md) |||| Dynamic |
170-
| [NodeJS (NPM/Yarn/pnpm)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/nodejs/nodejs.md) |||| Static |
171-
| [Perl](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/perl/perl.md) |||| Static |
172-
| [PHP (Composer)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/php/composer.md) |||| Static |
173-
| [Python (Conda)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/conda.md) |||| Dynamic |
174-
| [Python (Pipenv)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/pipenv.md) |||| Dynamic |
175-
| [Python (Poetry)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/poetry.md) |||| Static |
176-
| [Python (Pdm)](./languages/python/pdm.md) |||| Static |
177-
| [Python (setup.py/requirements.txt)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/setuptools.md) |||| Dynamic |
178-
| [R (renv)](./languages/r/renv.md) |||| Static |
179-
| [Ruby (bundler)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/ruby/ruby.md) |||| Static |
180-
| [Rust (cargo)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/rust/rust.md) |||| Dynamic |
181-
| [Scala (sbt)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/scala) |||| Dynamic |
182-
183-
:warning:: Note that these strategies support _static_ and _dynamic_ detection differently than other strategies, and are not run by default.
184-
Please make sure to check their linked documentation in the table above for more details.
148+
> [!NOTE]
149+
> Dynamic strategies require a working build environment for analysis.
150+
>
151+
> If a given package manager has a dynamic strategy with a static fallback, that means the static fallback provides worse results,
152+
> so it is only used when the dynamic strategy fails. If the package manager only has static strategies, that means dynamic analysis
153+
> is not required for ideal results.
154+
155+
> [!TIP]
156+
> If FOSSA CLI is forced to utilize a fallback strategy, meaning it did not detect ideal results,
157+
> a warning is emitted in the scan summary after running `fossa analyze`.
158+
159+
> [!WARNING]
160+
> "Custom" strategies work very differently than the standard package manager based analysis; read their docs for more details.
161+
162+
| Language/Package Manager | Kind of analysis | Detect Vendored Code |
163+
|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|----------------------|
164+
| [C#/.NET (nuget)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/nuspec.md) | Static ||
165+
| [C#/.NET (packagereference)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/packagereference.md) | Static ||
166+
| [C#/.NET (packagesconfig)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/packagesconfig.md) | Static ||
167+
| [C#/.NET (paket)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/paket.md) | Static ||
168+
| [C#/.NET (projectassetsjson)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/projectassetsjson.md) | Static ||
169+
| [C#/.NET (projectjson)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/dotnet/projectjson.md) | Static ||
170+
| [C](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/c-cpp/c-cpp.md) | Custom ||
171+
| [C++](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/c-cpp/c-cpp.md) | Custom ||
172+
| [Clojure (leiningen)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/clojure/clojure.md) | Dynamic ||
173+
| [Dart (pub)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/dart/dart.md) | Dynamic with static fallback ||
174+
| [Elixer (mix)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/elixir/elixir.md) | Dynamic ||
175+
| [Erlang (rebar3)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/erlang/erlang.md) | Dynamic ||
176+
| [Fortran](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/fortran/fortran.md) | Static ||
177+
| [Go (dep)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/godep.md) | Static ||
178+
| [Go (glide)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/glide.md) | Static ||
179+
| [Go (gomodules)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/golang/gomodules.md) | Dynamic with static fallback ||
180+
| [Gradle](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/gradle/gradle.md) | Dynamic ||
181+
| [Haskell (cabal)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/haskell/cabal.md) | Dynamic ||
182+
| [Haskell (stack)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/haskell/stack.md) | Dynamic ||
183+
| [iOS (carthage)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/carthage.md) | Static ||
184+
| [iOS (cocoapods)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/cocoapods.md) | Static ||
185+
| [iOS (swift)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/platforms/ios/swift.md) | Static ||
186+
| [Maven](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/maven/maven.md) | Dynamic with static fallback ||
187+
| [NodeJS (NPM/Yarn/pnpm)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/nodejs/nodejs.md) | Static ||
188+
| [Perl](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/perl/perl.md) | Static ||
189+
| [PHP (Composer)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/php/composer.md) | Static ||
190+
| [Python (Conda)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/conda.md) | Dynamic with static fallback ||
191+
| [Python (Pipenv)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/pipenv.md) | Dynamic with static fallback ||
192+
| [Python (Poetry)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/poetry.md) | Static ||
193+
| [Python (Pdm)](./languages/python/pdm.md) | Static ||
194+
| [Python (setup.py/requirements.txt)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/python/setuptools.md) | Dynamic with static fallback ||
195+
| [R (renv)](./languages/r/renv.md) | Static ||
196+
| [Ruby (bundler)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/ruby/ruby.md) | Dynamic with static fallback ||
197+
| [Rust (cargo)](https://github.com/fossas/fossa-cli/blob/master/docs/references/strategies/languages/rust/rust.md) | Dynamic ||
198+
| [Scala (sbt)](https://github.com/fossas/fossa-cli/tree/master/docs/references/strategies/languages/scala) | Dynamic ||

0 commit comments

Comments
 (0)