README.md in license_finder-2.0.4 vs README.md in license_finder-2.1.0.rc1
- old
+ new
@@ -25,14 +25,30 @@
* Java (via `maven`)
* Java (via `gradle`)
* Erlang (via `rebar`)
* Objective-C (+ CocoaPods)
+* Nuget (without license discovery)
+* Godep
+* Go workspace (via a `.envrc` file)
## Installation
+License Finder requires Ruby 1.9.3 or greater to run. If you have an older
+version of Ruby installed, you can update via Homebrew:
+
+```sh
+$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+```
+
+then:
+
+```sh
+$ brew install ruby
+```
+
The easiest way to use `license_finder` is to install it as a command
line tool, like brew, awk, gem or bundler:
```sh
$ gem install license_finder
@@ -50,12 +66,14 @@
problem, see [Excluding Dependencies](#excluding-dependencies).
## Usage
-The first time you run `license_finder` it will output a report of all your project's packages.
+Make sure your dependencies are installed (with your package manager's install command: `bundle install`, `npm install`, etc.)
+The first time you run `license_finder` it will list all your project's packages.
+
```sh
$ license_finder
```
Or, if you installed with bundler:
@@ -95,10 +113,11 @@
* `pom.xml` (for `maven`)
* `build.gradle` (for `gradle`)
* `bower.json` (for `bower`)
* `Podfile` (for CocoaPods)
* `rebar.config` (for `rebar`)
+* `packages/` directory (for `Nuget`)
### Continuous Integration
`license_finder` will return a non-zero exit status if there are unapproved
@@ -200,11 +219,14 @@
The HTML report generated by `license_finder report --format html` summarizes
all of your project's dependencies and includes information about which need to
be approved. The project name at the top of the report can be set with
`license_finder project_name add`.
+See [CONTRIBUTING.md](https://github.com/pivotal/LicenseFinder/blob/master/CONTRIBUTING.md#adding-reports)
+for advice about adding and customizing reports.
+
## Manual Intervention
### Setting Licenses
When `license_finder` reports that a dependency's license is 'unknown',
@@ -242,22 +264,31 @@
### Excluding Dependencies
Sometimes a project will have development or test dependencies which
you don't want to track. You can exclude theses dependencies by running
`license_finder ignored_groups`. (Currently this only works for packages
-managed by Bundler.)
+managed by Bundler, NPM, and Nuget.)
On rare occasions a package manager will report an individual dependency
that you want to exclude from all reports, even though it is approved.
You can exclude an individual dependency by running
`license_finder ignored_dependencies`. Think carefully before adding
dependencies to this list. A likely item to exclude is `bundler`,
since it is a common dependency whose version changes from machine to
machine. Adding it to the `ignored_dependencies` would prevent it
(and its oscillating versions) from appearing in reports.
+### Blacklisting Licenses
+Some projects will have a list of licenses that cannot be used. You can add
+these licenses to the blacklist `license_finder blacklist add`. Any dependency
+that has exclusively blacklisted licenses will always appear in the action
+items, even if someone attempts to manually approve or whitelist it. However,
+if a dependency has even one license outside of the blacklist, it can still be
+manually approved or whitelisted.
+
+
## Configuration
Be default, `license_finder` expects the decisions file to be stored at
`doc/dependency_decisions.yml`. All commands can be passed `--decisions_file`
to override this location.
@@ -289,14 +320,15 @@
rebar_deps_dir: './rebar_deps'
```
### Gradle Projects
-You need to install the license gradle plugin:
+`license_finder` supports both Gradle 1.x and Gradle 2.x. You need to have installed
+the license-gradle-plugin in your project:
[https://github.com/hierynomus/license-gradle-plugin](https://github.com/hierynomus/license-gradle-plugin)
-By default, `license_finder` will report on gradle's "runtime" dependencies. If
+By default, `license_finder` will report on Gradle's "runtime" dependencies. If
you want to generate a report for some other dependency configuration (e.g.
Android projects will sometimes specify their meaningful dependencies in the
"compile" group), you can specify it in your project's `build.gradle`:
```
@@ -304,9 +336,14 @@
downloadLicenses {
dependencyConfiguration "compile"
}
```
+
+
+### Maven Projects
+
+`license_finder` supports Maven.
## Requirements
`license_finder` requires ruby >= 1.9, or jruby.