license_finder 2.1.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +29 -0
- data/CONTRIBUTING.md +28 -3
- data/Dockerfile +82 -0
- data/README.md +11 -2
- data/Rakefile +27 -0
- data/appveyor.yml +21 -0
- data/bin/license_finder_pip.py +1 -1
- data/ci/pipelines/pipeline.yml.erb +78 -0
- data/ci/scripts/test.sh +27 -0
- data/ci/tasks/build.yml +16 -0
- data/features/features/package_managers/gradle_spec.rb +6 -0
- data/features/features/package_managers/maven_spec.rb +9 -0
- data/features/features/report/diff_spec.rb +26 -23
- data/features/fixtures/alternate-build-file-gradle/build-alt.gradle +26 -0
- data/features/fixtures/alternate-build-file-gradle/settings.gradle +1 -0
- data/features/fixtures/file-based-libs-gradle/build.gradle +1 -1
- data/features/fixtures/gradle-wrapper/build.gradle +26 -0
- data/features/fixtures/gradle-wrapper/gradlew +3 -0
- data/features/fixtures/gradle-wrapper/gradlew.bat +1 -0
- data/features/fixtures/maven-wrapper/mvnw +3 -0
- data/features/fixtures/maven-wrapper/mvnw.cmd +7 -0
- data/features/fixtures/maven-wrapper/pom.xml +37 -0
- data/features/support/testing_dsl.rb +12 -5
- data/lib/license_finder/cli/base.rb +1 -0
- data/lib/license_finder/cli/main.rb +2 -1
- data/lib/license_finder/configuration.rb +6 -13
- data/lib/license_finder/core.rb +2 -1
- data/lib/license_finder/diff.rb +4 -4
- data/lib/license_finder/package.rb +5 -3
- data/lib/license_finder/package_delta.rb +2 -5
- data/lib/license_finder/package_managers/bower.rb +1 -1
- data/lib/license_finder/package_managers/bundler.rb +4 -4
- data/lib/license_finder/package_managers/go_dep.rb +21 -4
- data/lib/license_finder/package_managers/go_package.rb +2 -1
- data/lib/license_finder/package_managers/go_vendor.rb +21 -7
- data/lib/license_finder/package_managers/go_workspace.rb +18 -11
- data/lib/license_finder/package_managers/gradle.rb +42 -15
- data/lib/license_finder/package_managers/maven.rb +31 -17
- data/lib/license_finder/package_managers/maven_dependency_finder.rb +13 -0
- data/lib/license_finder/package_managers/maven_package.rb +6 -1
- data/lib/license_finder/package_managers/npm.rb +4 -4
- data/lib/license_finder/package_managers/rebar.rb +1 -1
- data/lib/license_finder/reports/csv_report.rb +5 -1
- data/lib/license_finder/reports/diff_report.rb +3 -7
- data/lib/license_finder/reports/text_report.rb +6 -1
- data/lib/license_finder/version.rb +1 -1
- data/license_finder.gemspec +6 -0
- data/spec/lib/license_finder/configuration_spec.rb +0 -8
- data/spec/lib/license_finder/core_spec.rb +2 -1
- data/spec/lib/license_finder/diff_spec.rb +50 -27
- data/spec/lib/license_finder/package_managers/bower_spec.rb +1 -1
- data/spec/lib/license_finder/package_managers/bundler_spec.rb +1 -1
- data/spec/lib/license_finder/package_managers/go_dep_spec.rb +14 -1
- data/spec/lib/license_finder/package_managers/go_vendor_spec.rb +23 -2
- data/spec/lib/license_finder/package_managers/go_workspace_spec.rb +23 -7
- data/spec/lib/license_finder/package_managers/gradle_spec.rb +55 -2
- data/spec/lib/license_finder/package_managers/maven_package_spec.rb +16 -3
- data/spec/lib/license_finder/package_managers/maven_spec.rb +56 -4
- data/spec/lib/license_finder/package_managers/merged_package_spec.rb +8 -4
- data/spec/lib/license_finder/package_spec.rb +4 -1
- data/spec/lib/license_finder/reports/csv_report_spec.rb +8 -0
- data/spec/lib/license_finder/reports/diff_report_spec.rb +5 -5
- data/spec/lib/license_finder/reports/text_report_spec.rb +5 -0
- metadata +218 -9
- data/.travis.yml +0 -37
- data/.travis/install_bower.sh +0 -5
- data/.travis/install_godep.sh +0 -6
- data/.travis/install_gradle.sh +0 -12
- data/.travis/install_rebar.sh +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 966af7ae1414671e4b0993c96df55ae99b57993f
|
4
|
+
data.tar.gz: '0319c59b0c751aae09e8822c30e6a27aa7a9d473'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fa60bd67436b53b6de9ee386c6301bcc485a8076a5cea9c464a3f7e581ce23820246f0ca4a603875fcda88409632b7bb29973c4c4d8590b8a0bd1c100cf699b
|
7
|
+
data.tar.gz: 5317b4995bbfb33a9d5aaa9364e138eb9723d90aee8bd2cd102380fe078b91d32ee25c565ac4c356d572f9cfcec089c84a46c6a5b7da916c66a78e9b2c919602
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,32 @@
|
|
1
|
+
# 3.0.0 / 2016-03-02
|
2
|
+
|
3
|
+
Features:
|
4
|
+
|
5
|
+
* Changed dependencies to be unique based on name _and_ version (#241)
|
6
|
+
* Enable '--columns' option with text reports (#244, thanks @raimon49!)
|
7
|
+
* Flag maven-include-groups adds group to maven depenency information (#219, #258, thanks @dgodd!)
|
8
|
+
* Package managers determine their package management command (#250, Thanks @sschuberth!)
|
9
|
+
* Support --ignored_groups for maven
|
10
|
+
* Support `homepage` column for godeps dependencies, and dependencies from go workspaces using `.envrc`
|
11
|
+
* Support `license_links` column for csv option (#281, Thanks @lbalceda!)
|
12
|
+
* Added a Dockerfile for [licensefinder/license_finder](https://hub.docker.com/r/licensefinder/license_finder/)
|
13
|
+
* Switched from Travis to Concourse
|
14
|
+
|
15
|
+
Bugfixes:
|
16
|
+
|
17
|
+
* Gradle works in CI containers where TERM is not set (revert and fix of c15bdb7, which broke older versions of gradle)
|
18
|
+
* Check for the correct Ruby Bundler command: `bundle` (#233. Thanks, @raimon49!)
|
19
|
+
* Uses settings.gradle to determine the build file name (#248)
|
20
|
+
* Fix detecting the Gradle wrapper if not scanning the current directory (#238, Thanks @sschuberth!)
|
21
|
+
* Use maven wrapper if available on maven projects
|
22
|
+
* Check golang package lists against standard packages instead of excluding short package paths (#243)
|
23
|
+
* Update the project_sha method to return the sha of the dependency, not the parent project
|
24
|
+
* Change Maven wrapper to call mvn.cmd and fall back on mvn.bat (#263, Thanks @sschuberth!)
|
25
|
+
* Allow bower to run as root
|
26
|
+
* Fix packaging errors scanning pip based projects
|
27
|
+
* Add JSON lib attribute to handle deeply nested JSON (#269. Thanks, @antongurov!)
|
28
|
+
* Use the fully qualified name of the license-maven-plugin (#284)
|
29
|
+
|
1
30
|
# 2.1.2 / 2016-06-10
|
2
31
|
|
3
32
|
Bugfixes:
|
data/CONTRIBUTING.md
CHANGED
@@ -44,9 +44,18 @@ If you come up with something useful, consider posting it to the Google Group
|
|
44
44
|
|
45
45
|
|
46
46
|
## Development Dependencies
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
To successfully run the test suite, you will need the following installed:
|
48
|
+
- NPM (requires Node)
|
49
|
+
- Bower (requires Node and NPM)
|
50
|
+
- Maven (requires Java)
|
51
|
+
- Gradle (requires Java)
|
52
|
+
- Pip (requires python)
|
53
|
+
- Rebar (requires erlang)
|
54
|
+
- GoDep, GoWorkspace, and GoVendor (requires golang)
|
55
|
+
- CocoaPods (requires ruby)
|
56
|
+
- Bundler (requires ruby)
|
57
|
+
|
58
|
+
If you run `rake check_dependencies`, you'll see exactly which package managers
|
50
59
|
you're missing.
|
51
60
|
|
52
61
|
### Python
|
@@ -71,3 +80,19 @@ JAVA_OPTS='-client -XX:+TieredCompilation -XX:TieredStopAtLevel=1' JRUBY_OPTS='-
|
|
71
80
|
### Gradle
|
72
81
|
|
73
82
|
You'll need a gradle version >= 1.8.
|
83
|
+
|
84
|
+
### CocoaPods
|
85
|
+
LicenseFinder supports CocoaPods 0.39 and below. If you are using a later version of CocoaPods, you will need to downgrade CocoaPods/Specs repository in order to use LicenseFinder. [This article](http://blog.cocoapods.org/Sharding/) describes the breaking change between CocoaPods 0.39 and 1.0. You will need to use an older, archived CocoaPods/Specs repo.
|
86
|
+
|
87
|
+
If you see the following error, try switching to the archived repo.
|
88
|
+
|
89
|
+
```bash
|
90
|
+
[!] The `master` repo requires CocoaPods 1.0.0 - (currently using 0.34.0)
|
91
|
+
```
|
92
|
+
|
93
|
+
Example of how to switch to the archived repo:
|
94
|
+
|
95
|
+
```bash
|
96
|
+
mv ~/.cocoapods/repos/master ~/.cocoapods/repos/master.bak
|
97
|
+
git clone https://github.com/CocoaPods/Old-Specs.git ~/.cocoapods/repos/master
|
98
|
+
```
|
data/Dockerfile
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
FROM ubuntu:trusty
|
2
|
+
RUN apt-get update && apt-get install -y curl git-core
|
3
|
+
|
4
|
+
#install rvm
|
5
|
+
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 && \
|
6
|
+
curl -sSL https://get.rvm.io | bash -s stable --ruby
|
7
|
+
ENV PATH=/usr/local/rvm/bin:$PATH
|
8
|
+
|
9
|
+
# install build-essential wget unzip
|
10
|
+
RUN apt-get install -y build-essential wget unzip
|
11
|
+
|
12
|
+
# nodejs seems to be required for the one of the gems
|
13
|
+
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
|
14
|
+
apt-get -y install nodejs
|
15
|
+
|
16
|
+
# install bower
|
17
|
+
RUN npm install -g bower && \
|
18
|
+
echo '{ "allow_root": true }' > /root/.bowerrc
|
19
|
+
|
20
|
+
# install bundler
|
21
|
+
RUN bash -lc "rvm install 2.3.3 && rvm use 2.3.3 && gem install bundler"
|
22
|
+
|
23
|
+
#install java 8
|
24
|
+
#http://askubuntu.com/questions/521145/how-to-install-oracle-java-on-ubuntu-14-04
|
25
|
+
RUN cd /tmp && \
|
26
|
+
wget --quiet --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz -O jdk-8.tgz && \
|
27
|
+
tar xf /tmp/jdk-8.tgz && \
|
28
|
+
mkdir -p /usr/lib/jvm && \
|
29
|
+
mv jdk1.8.0_66 /usr/lib/jvm/oracle_jdk8 && \
|
30
|
+
rm /tmp/jdk-8.tgz
|
31
|
+
|
32
|
+
ENV J2SDKDIR=/usr/lib/jvm/oracle_jdk8
|
33
|
+
ENV J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
|
34
|
+
ENV PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
|
35
|
+
ENV JAVA_HOME=/usr/lib/jvm/oracle_jdk8
|
36
|
+
ENV DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db
|
37
|
+
|
38
|
+
RUN java -version
|
39
|
+
|
40
|
+
# install python and rebar
|
41
|
+
RUN apt-get install -y python rebar
|
42
|
+
|
43
|
+
# install and update python-pip
|
44
|
+
RUN apt-get install -y python-pip && \
|
45
|
+
pip install --upgrade pip
|
46
|
+
|
47
|
+
# install maven
|
48
|
+
RUN curl -O http://www-us.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \
|
49
|
+
tar -xf apache-maven-3.3.9-bin.tar.gz; rm -rf apache-maven-3.3.9-bin.tar.gz && \
|
50
|
+
mv apache-maven-3.3.9 /usr/local/lib/maven && \
|
51
|
+
ln -s /usr/local/lib/maven/bin/mvn /usr/local/bin/mvn
|
52
|
+
|
53
|
+
# install gradle
|
54
|
+
WORKDIR /tmp
|
55
|
+
RUN curl -L -o gradle.zip http://services.gradle.org/distributions/gradle-2.4-bin.zip && \
|
56
|
+
unzip -q gradle.zip && \
|
57
|
+
rm gradle.zip && \
|
58
|
+
mv gradle-2.4 /root/gradle
|
59
|
+
ENV PATH=/root/gradle/bin:$PATH
|
60
|
+
|
61
|
+
#install go
|
62
|
+
WORKDIR /go
|
63
|
+
RUN wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz -O go.tar.gz && tar --strip-components=1 -xf go.tar.gz
|
64
|
+
ENV GOROOT /go
|
65
|
+
ENV PATH=$PATH:/go/bin
|
66
|
+
|
67
|
+
# godep is now required for license_finder to work for project that are still managed with GoDep
|
68
|
+
ENV GOROOT=/go
|
69
|
+
ENV GOPATH=/gopath
|
70
|
+
ENV PATH=$PATH:$GOPATH/bin
|
71
|
+
RUN mkdir /gopath && go get github.com/tools/godep
|
72
|
+
|
73
|
+
# Fix the locale
|
74
|
+
RUN locale-gen en_US.UTF-8
|
75
|
+
ENV LANG=en_US.UTF-8
|
76
|
+
ENV LANGUAGE=en_US:en
|
77
|
+
ENV LC_ALL=en_US.UTF-8
|
78
|
+
|
79
|
+
# install license_finder
|
80
|
+
RUN bash -lc "git clone https://github.com/pivotal/LicenseFinder /LicenseFinder && cd /LicenseFinder && bundle install -j4 && rake install"
|
81
|
+
|
82
|
+
WORKDIR /
|
data/README.md
CHANGED
@@ -1,14 +1,22 @@
|
|
1
1
|
# License Finder
|
2
2
|
|
3
|
-
[](http://travis-ci.org/pivotal/LicenseFinder)
|
4
3
|
[](https://codeclimate.com/github/pivotal/LicenseFinder)
|
5
4
|
|
5
|
+
Build status
|
6
|
+
* Ruby 2.1.5 [](https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder)
|
7
|
+
* Ruby 2.2.0 [](https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder)
|
8
|
+
* Ruby 2.3.0 [](https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder)
|
9
|
+
* Ruby 2.4.0 [](https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder)
|
10
|
+
* JRuby 9.0.4.0 [](https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder)
|
11
|
+
|
12
|
+
|
6
13
|
LicenseFinder works with your package managers to find dependencies,
|
7
14
|
detect the licenses of the packages in them, compare those licenses
|
8
15
|
against a user-defined whitelist, and give you an actionable exception
|
9
16
|
report.
|
10
17
|
|
11
18
|
* code: https://github.com/pivotal/LicenseFinder
|
19
|
+
* ci: https://osl.ci.cf-app.com/teams/main/pipelines/LicenseFinder
|
12
20
|
* support:
|
13
21
|
* license-finder@googlegroups.com
|
14
22
|
* https://groups.google.com/forum/#!forum/license-finder
|
@@ -30,7 +38,7 @@ report.
|
|
30
38
|
### Experimental project types
|
31
39
|
|
32
40
|
* Erlang (via `rebar`)
|
33
|
-
* Objective-C (+ CocoaPods)
|
41
|
+
* Objective-C (+ CocoaPods 0.39 and below. See [CocoaPods Specs Repo Sharding](http://blog.cocoapods.org/Sharding/))
|
34
42
|
|
35
43
|
## Installation
|
36
44
|
|
@@ -112,6 +120,7 @@ languages, as long as that language has a package definition in the project dire
|
|
112
120
|
* `package.json` (for `npm`)
|
113
121
|
* `pom.xml` (for `maven`)
|
114
122
|
* `build.gradle` (for `gradle`)
|
123
|
+
* `settings.gradle` that specifies `rootProject.buildFileName` (for `gradle`)
|
115
124
|
* `bower.json` (for `bower`)
|
116
125
|
* `Podfile` (for CocoaPods)
|
117
126
|
* `rebar.config` (for `rebar`)
|
data/Rakefile
CHANGED
@@ -31,9 +31,36 @@ task :check_dependencies do
|
|
31
31
|
LicenseFinder::PackageManager.package_managers.each do |package_manager|
|
32
32
|
satisfied = false unless package_manager.installed?(LicenseFinder::Logger.new(debug:true))
|
33
33
|
end
|
34
|
+
STDOUT.flush
|
34
35
|
exit 1 unless satisfied
|
35
36
|
end
|
36
37
|
|
38
|
+
desc "Configure ci pipeline"
|
39
|
+
task :update_pipeline, [:slack_url, :slack_channel, :github_access_token] do |_, args|
|
40
|
+
access_token = args[:github_access_token]
|
41
|
+
slack_url = args[:slack_url]
|
42
|
+
slack_channel = args[:slack_channel]
|
43
|
+
|
44
|
+
unless access_token
|
45
|
+
puts 'Warning: You should provide a Github access token with repo:status permission if you want to avoid rate limiting'
|
46
|
+
end
|
47
|
+
|
48
|
+
if !(slack_url || slack_channel)
|
49
|
+
puts 'Warning: skipping slack notifications setup'
|
50
|
+
puts 'Warning: You should provide slack channel and url to receive slack notifications on build failures'
|
51
|
+
end
|
52
|
+
|
53
|
+
params = []
|
54
|
+
params << "slack_url=#{slack_url}" if slack_url
|
55
|
+
params << "slack_channel=#{slack_channel}" if slack_channel
|
56
|
+
params << "github_access_token=#{access_token}" if access_token
|
57
|
+
|
58
|
+
vars = params.join(' ')
|
59
|
+
cmd = "bash -c \"fly -t osl set-pipeline -n -p LicenseFinder --config <(erb #{vars} ci/pipelines/pipeline.yml.erb)\""
|
60
|
+
|
61
|
+
system(cmd)
|
62
|
+
end
|
63
|
+
|
37
64
|
task :spec => :check_dependencies
|
38
65
|
task :features => :check_dependencies
|
39
66
|
|
data/appveyor.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
environment:
|
2
|
+
HOME: $(HOMEDRIVE)$(HOMEPATH)
|
3
|
+
GOPATH: $(HOME)\go
|
4
|
+
PATH: $(PATH);$(GOPATH)\bin;$(HOME)\rebar;$(HOME)\gradle\bin
|
5
|
+
|
6
|
+
install:
|
7
|
+
- bundle install
|
8
|
+
|
9
|
+
build_script:
|
10
|
+
- rake build
|
11
|
+
|
12
|
+
# Prerequisites for running tests.
|
13
|
+
before_test:
|
14
|
+
- rake install
|
15
|
+
- bash --login -c "ci/install_godep.sh"
|
16
|
+
- bash --login -c "ci/install_bower.sh"
|
17
|
+
- bash --login -c "ci/install_rebar.sh"
|
18
|
+
- bash --login -c "ci/install_gradle.sh"
|
19
|
+
|
20
|
+
test_script:
|
21
|
+
- rake spec
|
data/bin/license_finder_pip.py
CHANGED
@@ -6,7 +6,7 @@ from pip.download import PipSession
|
|
6
6
|
from pip._vendor import pkg_resources
|
7
7
|
from pip._vendor.six import print_
|
8
8
|
|
9
|
-
requirements = [req.req for req
|
9
|
+
requirements = [pkg_resources.Requirement.parse(str(req.req)) for req
|
10
10
|
in parse_requirements('requirements.txt', session=PipSession())]
|
11
11
|
|
12
12
|
transform = lambda dist: {
|
@@ -0,0 +1,78 @@
|
|
1
|
+
<% setup_slack = defined?(slack_url) && defined?(slack_channel) %>
|
2
|
+
|
3
|
+
resource_types:
|
4
|
+
- name: pull-request
|
5
|
+
type: docker-image
|
6
|
+
source:
|
7
|
+
repository: jtarchie/pr
|
8
|
+
<% if setup_slack %>
|
9
|
+
- name: slack-notification
|
10
|
+
type: docker-image
|
11
|
+
source:
|
12
|
+
repository: cfcommunity/slack-notification-resource
|
13
|
+
tag: latest
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
resources:
|
17
|
+
- name: LicenseFinder
|
18
|
+
type: git
|
19
|
+
source:
|
20
|
+
uri: https://github.com/pivotal/LicenseFinder.git
|
21
|
+
branch: master
|
22
|
+
- name: pull-request
|
23
|
+
type: pull-request
|
24
|
+
source:
|
25
|
+
repo: pivotal/LicenseFinder
|
26
|
+
base: master
|
27
|
+
<% if defined?(github_access_token) %>
|
28
|
+
access_token: <%= github_access_token %>
|
29
|
+
<% end %>
|
30
|
+
<% if setup_slack %>
|
31
|
+
- name: slack-alert
|
32
|
+
type: slack-notification
|
33
|
+
source:
|
34
|
+
url: <%= slack_url %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
jobs:
|
38
|
+
<% ['2.4.0', '2.3.0', '2.2.0', '2.1.5', 'jruby-9.0.4.0'].each do |ruby_version| %>
|
39
|
+
- name: ruby-<%= ruby_version %>
|
40
|
+
public: true
|
41
|
+
plan:
|
42
|
+
- get: LicenseFinder
|
43
|
+
trigger: true
|
44
|
+
- task: ruby-<%= ruby_version %>
|
45
|
+
file: LicenseFinder/ci/tasks/build.yml
|
46
|
+
params:
|
47
|
+
RUBY_VERSION: <%= ruby_version %>
|
48
|
+
<% if setup_slack %>
|
49
|
+
on_failure:
|
50
|
+
put: slack-alert
|
51
|
+
params:
|
52
|
+
channel: '<%= slack_channel %>'
|
53
|
+
icon_emoji: ':crying_cat_face:'
|
54
|
+
text: '<%= "License Finder build failed. Build: https://osl.ci.cf-app.com/teams/main/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME" %>'
|
55
|
+
<% end %>
|
56
|
+
<% end %>
|
57
|
+
|
58
|
+
<% ['2.4.0', '2.3.0', '2.2.0', '2.1.5', 'jruby-9.0.4.0'].each do |ruby_version| %>
|
59
|
+
- name: PR-ruby-<%= ruby_version %>
|
60
|
+
public: true
|
61
|
+
plan:
|
62
|
+
- get: pull-request
|
63
|
+
trigger: true
|
64
|
+
version: every
|
65
|
+
- task: ruby-<%= ruby_version %>
|
66
|
+
file: pull-request/ci/tasks/build.yml
|
67
|
+
params:
|
68
|
+
RUBY_VERSION: <%= ruby_version %>
|
69
|
+
input_mapping: { LicenseFinder: pull-request }
|
70
|
+
<% if setup_slack %>
|
71
|
+
on_failure:
|
72
|
+
put: slack-alert
|
73
|
+
params:
|
74
|
+
channel: '<%= slack_channel %>'
|
75
|
+
icon_emoji: ':crying_cat_face:'
|
76
|
+
text: '<%= "License Finder build failed. Build: https://osl.ci.cf-app.com/teams/main/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME" %>'
|
77
|
+
<% end %>
|
78
|
+
<% end %>
|
data/ci/scripts/test.sh
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/bin/bash --login
|
2
|
+
|
3
|
+
set -e -x
|
4
|
+
|
5
|
+
pushd LicenseFinder
|
6
|
+
rvm install $RUBY_VERSION
|
7
|
+
rvm use $RUBY_VERSION
|
8
|
+
ruby --version
|
9
|
+
|
10
|
+
export GOPATH=$HOME/go
|
11
|
+
export RUBYOPT='-E utf-8'
|
12
|
+
|
13
|
+
gem update --system
|
14
|
+
gem install bundler
|
15
|
+
bundle install
|
16
|
+
|
17
|
+
# jruby-9 specific: requires >= rack 2.x
|
18
|
+
if [ "$RUBY_VERSION" == "jruby-9.0.4.0" ]
|
19
|
+
then
|
20
|
+
bundle update rack
|
21
|
+
fi
|
22
|
+
#
|
23
|
+
|
24
|
+
bundle exec rake install
|
25
|
+
bundle exec rake spec
|
26
|
+
bundle exec rake features
|
27
|
+
popd
|
data/ci/tasks/build.yml
ADDED
@@ -25,4 +25,10 @@ describe 'Gradle Dependencies' do
|
|
25
25
|
expect(java_developer).to be_seeing_line 'data.json-0.2.3.jar, unknown, unknown'
|
26
26
|
expect(java_developer).to be_seeing_line 'guava, 18.0, "Apache 2.0"'
|
27
27
|
end
|
28
|
+
|
29
|
+
specify 'are shown in reports for a project with an alternate build.gradle file' do
|
30
|
+
LicenseFinder::TestingDSL::AlternateBuildFileGradleProject.create
|
31
|
+
java_developer.run_license_finder('alternate-build-file-gradle')
|
32
|
+
expect(java_developer).to be_seeing_line 'junit, 4.11, "Common Public License Version 1.0"'
|
33
|
+
end
|
28
34
|
end
|
@@ -11,4 +11,13 @@ describe "Maven Dependencies" do
|
|
11
11
|
java_developer.run_license_finder
|
12
12
|
expect(java_developer).to be_seeing_line 'junit, 4.11, "Common Public License Version 1.0"'
|
13
13
|
end
|
14
|
+
|
15
|
+
context 'when using --maven_include_groups flag' do
|
16
|
+
|
17
|
+
it 'shows the groupid' do
|
18
|
+
LicenseFinder::TestingDSL::MavenProject.create
|
19
|
+
java_developer.run_license_finder nil, '--maven_include_groups'
|
20
|
+
expect(java_developer).to be_seeing_line 'junit:junit, 4.11, "Common Public License Version 1.0"'
|
21
|
+
end
|
22
|
+
end
|
14
23
|
end
|
@@ -18,8 +18,8 @@ describe 'Diff report' do
|
|
18
18
|
|
19
19
|
developer.execute_command('license_finder diff report-1.csv report-2.csv')
|
20
20
|
|
21
|
-
expect(developer).to be_seeing('added,bar,2.0.0
|
22
|
-
expect(developer).to be_seeing('unchanged,foo,1.0.0,
|
21
|
+
expect(developer).to be_seeing('added,bar,2.0.0,GPLv2')
|
22
|
+
expect(developer).to be_seeing('unchanged,foo,1.0.0,MIT')
|
23
23
|
end
|
24
24
|
|
25
25
|
specify 'shows version changes between two csv reports' do
|
@@ -31,7 +31,8 @@ describe 'Diff report' do
|
|
31
31
|
developer.execute_command('license_finder report --save=report-2.csv --format=csv')
|
32
32
|
|
33
33
|
developer.execute_command('license_finder diff report-1.csv report-2.csv')
|
34
|
-
expect(developer).to be_seeing('
|
34
|
+
expect(developer).to be_seeing('added,foo,2.0.0,MIT')
|
35
|
+
expect(developer).to be_seeing('removed,foo,1.0.0,MIT')
|
35
36
|
end
|
36
37
|
|
37
38
|
specify 'shows license changes between two csv reports' do
|
@@ -43,8 +44,8 @@ describe 'Diff report' do
|
|
43
44
|
developer.execute_command('license_finder report --save=report-2.csv --format=csv')
|
44
45
|
|
45
46
|
developer.execute_command('license_finder diff report-1.csv report-2.csv')
|
46
|
-
expect(developer).to be_seeing('removed,foo
|
47
|
-
expect(developer).to be_seeing('added,foo,2.0.0
|
47
|
+
expect(developer).to be_seeing('removed,foo,1.0.0,MIT')
|
48
|
+
expect(developer).to be_seeing('added,foo,2.0.0,GPLv2')
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
@@ -69,9 +70,9 @@ describe 'Diff report' do
|
|
69
70
|
developer.execute_command('license_finder diff report-1.csv report-2.csv --save=diff.csv --format=csv')
|
70
71
|
|
71
72
|
diff = IO.read(project.project_dir.join('diff.csv'))
|
72
|
-
expect(diff).to include("unchanged,foo,1.0.0,
|
73
|
-
expect(diff).to include("unchanged,bar,2.0.0,
|
74
|
-
expect(diff).to include("added,baz,3.0.0
|
73
|
+
expect(diff).to include("unchanged,foo,1.0.0,MIT,\"#{project1.project_dir},#{project2.project_dir}\"")
|
74
|
+
expect(diff).to include("unchanged,bar,2.0.0,GPLv2,#{project1.project_dir}")
|
75
|
+
expect(diff).to include("added,baz,3.0.0,BSD,#{project2.project_dir}")
|
75
76
|
end
|
76
77
|
|
77
78
|
context 'when change affects only one file' do
|
@@ -96,9 +97,10 @@ describe 'Diff report' do
|
|
96
97
|
developer.execute_command('license_finder diff report-1.csv report-2.csv --save=diff.csv --format=csv')
|
97
98
|
|
98
99
|
diff = IO.read(project.project_dir.join('diff.csv'))
|
99
|
-
expect(diff).to include("unchanged,foo,1.0.0,
|
100
|
-
expect(diff).to include("
|
101
|
-
expect(diff).to include("
|
100
|
+
expect(diff).to include("unchanged,foo,1.0.0,MIT,\"#{project1.project_dir},#{project2.project_dir}\"")
|
101
|
+
expect(diff).to include("added,bar,3.0.0,GPLv2,#{project1.project_dir}")
|
102
|
+
expect(diff).to include("removed,bar,2.0.0,GPLv2,#{project1.project_dir}")
|
103
|
+
expect(diff).to include("added,baz,3.0.0,BSD,#{project2.project_dir}")
|
102
104
|
end
|
103
105
|
|
104
106
|
specify 'shows license changes' do
|
@@ -122,10 +124,10 @@ describe 'Diff report' do
|
|
122
124
|
developer.execute_command('license_finder diff report-1.csv report-2.csv --save=diff.csv --format=csv')
|
123
125
|
|
124
126
|
diff = IO.read(project.project_dir.join('diff.csv'))
|
125
|
-
expect(diff).to include("unchanged,foo,1.0.0,
|
126
|
-
expect(diff).to include("removed,bar
|
127
|
-
expect(diff).to include("added,bar,3.0.0
|
128
|
-
expect(diff).to include("added,baz,3.0.0
|
127
|
+
expect(diff).to include("unchanged,foo,1.0.0,MIT,\"#{project1.project_dir},#{project2.project_dir}\"")
|
128
|
+
expect(diff).to include("removed,bar,2.0.0,GPLv2,#{project1.project_dir}")
|
129
|
+
expect(diff).to include("added,bar,3.0.0,MIT,#{project1.project_dir}")
|
130
|
+
expect(diff).to include("added,baz,3.0.0,BSD,#{project2.project_dir}")
|
129
131
|
end
|
130
132
|
end
|
131
133
|
|
@@ -151,10 +153,10 @@ describe 'Diff report' do
|
|
151
153
|
developer.execute_command('license_finder diff report-1.csv report-2.csv --save=diff.csv --format=csv')
|
152
154
|
|
153
155
|
diff = IO.read(project.project_dir.join('diff.csv'))
|
154
|
-
expect(diff).to include("unchanged,bar,2.0.0,
|
155
|
-
expect(diff).to include("removed,foo
|
156
|
-
expect(diff).to include("added,foo,2.0.0
|
157
|
-
expect(diff).to include("added,baz,3.0.0
|
156
|
+
expect(diff).to include("unchanged,bar,2.0.0,GPLv2,#{project1.project_dir}")
|
157
|
+
expect(diff).to include("removed,foo,1.0.0,MIT,\"#{project1.project_dir},#{project2.project_dir}\"")
|
158
|
+
expect(diff).to include("added,foo,2.0.0,BSD,\"#{project1.project_dir},#{project2.project_dir}\"")
|
159
|
+
expect(diff).to include("added,baz,3.0.0,BSD,#{project2.project_dir}")
|
158
160
|
end
|
159
161
|
|
160
162
|
xspecify 'show licenses change when files do not contain exact copies of a dep' do
|
@@ -178,12 +180,13 @@ describe 'Diff report' do
|
|
178
180
|
developer.execute_command('license_finder diff report-1.csv report-2.csv --save=diff.csv --format=csv')
|
179
181
|
|
180
182
|
diff = IO.read(project.project_dir.join('diff.csv'))
|
181
|
-
expect(diff).to include("removed,foo
|
183
|
+
expect(diff).to include("removed,foo,1.0.0,MIT,#{project1.project_dir}")
|
182
184
|
# expect(diff).to include("removed,foo,,2.0.0,BSD,#{project2.project_dir}")
|
183
|
-
expect(diff).to include("
|
185
|
+
expect(diff).to include("added,foo,2.0.0,BSD,\"#{project1.project_dir},#{project2.project_dir}\"")
|
186
|
+
expect(diff).to include("removed,foo,1.0.0,BSD,\"#{project1.project_dir},#{project2.project_dir}\"")
|
184
187
|
|
185
|
-
expect(diff).to include("unchanged,bar,2.0.0,
|
186
|
-
expect(diff).to include("added,baz,3.0.0
|
188
|
+
expect(diff).to include("unchanged,bar,2.0.0,GPLv2,#{project1.project_dir}")
|
189
|
+
expect(diff).to include("added,baz,3.0.0,BSD,#{project2.project_dir}")
|
187
190
|
end
|
188
191
|
end
|
189
192
|
end
|