licensed 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -1
  3. data/README.md +1 -1
  4. data/docs/commands/status.md +1 -0
  5. data/docs/sources/cargo.md +19 -0
  6. data/lib/licensed/commands/cache.rb +4 -2
  7. data/lib/licensed/commands/command.rb +5 -2
  8. data/lib/licensed/reporters/status_reporter.rb +1 -1
  9. data/lib/licensed/sources/bundler/definition.rb +36 -0
  10. data/lib/licensed/sources/bundler/missing_specification.rb +10 -7
  11. data/lib/licensed/sources/bundler.rb +33 -69
  12. data/lib/licensed/sources/cargo.rb +70 -0
  13. data/lib/licensed/sources/dep.rb +2 -2
  14. data/lib/licensed/sources/go.rb +3 -3
  15. data/lib/licensed/sources/helpers/content_versioning.rb +2 -1
  16. data/lib/licensed/sources/nuget.rb +1 -2
  17. data/lib/licensed/sources.rb +1 -0
  18. data/lib/licensed/version.rb +1 -1
  19. data/licensed.gemspec +5 -5
  20. metadata +27 -41
  21. data/.github/workflows/release.yml +0 -213
  22. data/.github/workflows/test.yml +0 -439
  23. data/.gitignore +0 -57
  24. data/.licensed.yml +0 -7
  25. data/.rubocop.yml +0 -8
  26. data/.ruby-version +0 -1
  27. data/docker/Dockerfile.build-linux +0 -15
  28. data/script/bootstrap +0 -6
  29. data/script/cibuild +0 -7
  30. data/script/console +0 -15
  31. data/script/package +0 -20
  32. data/script/packages/build +0 -95
  33. data/script/packages/linux +0 -57
  34. data/script/packages/mac +0 -41
  35. data/script/setup +0 -5
  36. data/script/source-setup/bower +0 -17
  37. data/script/source-setup/bundler +0 -20
  38. data/script/source-setup/cabal +0 -19
  39. data/script/source-setup/composer +0 -38
  40. data/script/source-setup/git_submodule +0 -39
  41. data/script/source-setup/go +0 -31
  42. data/script/source-setup/mix +0 -19
  43. data/script/source-setup/npm +0 -34
  44. data/script/source-setup/nuget +0 -17
  45. data/script/source-setup/pip +0 -29
  46. data/script/source-setup/pipenv +0 -21
  47. data/script/source-setup/swift +0 -22
  48. data/script/source-setup/yarn +0 -17
  49. data/script/test +0 -16
@@ -1,57 +0,0 @@
1
- #!/bin/bash
2
- #/ Usage: script/packages/linux [VERSION]
3
- #/
4
- #/ WARNING: You should not need to call this directly. Please create packages using
5
- #/ `script/package [platform]` or `bundle exec rake package[platform]`
6
- #/
7
- #/ Builds a linux distributable package for licensed for a given and licensed VERSION.
8
- #/ Packages are of the form licensed-$VERSION-linux-x64.tar.gz and contain a `./licensed` executable
9
- #/ Built packages are placed in the <root>/pkg directory.
10
- #/
11
- #/ If calling from a non-linux OS, docker is used to build a linux binary
12
- #/
13
- #/ OPTIONS:
14
- #/ [VERSION] (optional, default to current git branch or SHA1) version of licensed to build exe at
15
- #/
16
-
17
- set -euo pipefail
18
-
19
- BASE_DIR="$(cd "$(dirname $0)/../.." && pwd)"
20
- VERSION=${VERSION:=""}
21
-
22
- build_linux_docker() {
23
- IMAGE="licensed/build-linux"
24
- docker build -t "$IMAGE" - < "$BASE_DIR/docker/Dockerfile.build-linux"
25
- docker run --rm \
26
- -e VERSION="$VERSION" \
27
- -v "$BASE_DIR":/var/licensed \
28
- -w /var/licensed \
29
- "$IMAGE" \
30
- "script/packages/build"
31
- }
32
-
33
- build_linux_local() {
34
- sudo apt-get update
35
- sudo apt-get install -y --no-install-recommends cmake make gcc pkg-config squashfs-tools curl bison git rsync
36
-
37
- sudo gem update --system
38
- sudo gem update bundler
39
-
40
- RUBYC="$BASE_DIR/bin/rubyc-linux"
41
- if [ ! -f "$RUBYC" ]; then
42
- mkdir -p "$(dirname "$RUBYC")"
43
- curl -L https://github.com/kontena/ruby-packer/releases/download/2.6.0-0.6.0/rubyc-2.6.0-0.6.0-linux-amd64.gz | gunzip > "$RUBYC"
44
- chmod +x "$RUBYC"
45
- fi
46
-
47
- export CPPFLAGS="-P"
48
- export SSL_CERT_DIR="/etc/ssl/certs"
49
- export RUBYC
50
- "$BASE_DIR"/script/packages/build
51
- }
52
-
53
- if [[ "$(uname -s)" != "Linux" ]]; then
54
- build_linux_docker
55
- else
56
- build_linux_local
57
- fi
data/script/packages/mac DELETED
@@ -1,41 +0,0 @@
1
- #!/bin/bash
2
- #/ Usage: script/packages/mac [VERSION]
3
- #/
4
- #/ WARNING: You should not need to call this directly. Please create packages using
5
- #/ `script/package [platform]` or `bundle exec rake package[platform]`
6
- #/
7
- #/ Builds a mac distributable package for licensed for a given licensed VERSION.
8
- #/ Packages are of the form licensed-$VERSION-darwin-x64.tar.gz and contain a `./licensed` executable
9
- #/ Built packages are placed in the <root>/pkg directory.
10
- #/
11
- #/ Must be called from a Mac OS.
12
- #/
13
- #/ OPTIONS:
14
- #/ [VERSION] (optional, default to current git branch or SHA1) version of licensed to build exe at
15
- #/
16
-
17
- set -euo pipefail
18
-
19
- if [[ "$(uname -s)" != "Darwin" ]]; then
20
- echo "A Mac OS is required to build a licensed executable for mac" >&2
21
- exit 1
22
- fi
23
-
24
- BASE_DIR="$(cd "$(dirname $0)/../.." && pwd)"
25
- RUBYC="$BASE_DIR/bin/rubyc-darwin"
26
-
27
- brew update
28
- brew list "squashfs" &>/dev/null || brew install "squashfs"
29
- brew list "pkg-config" &>/dev/null || brew install "pkg-config"
30
-
31
- gem update --system
32
- gem update bundler
33
-
34
- if [ ! -f "$RUBYC" ]; then
35
- mkdir -p "$(dirname "$RUBYC")"
36
- curl -L https://github.com/kontena/ruby-packer/releases/download/2.6.0-0.6.0/rubyc-2.6.0-0.6.0-osx-amd64.gz | gunzip > "$RUBYC"
37
- chmod +x "$RUBYC"
38
- fi
39
-
40
- export RUBYC
41
- "$BASE_DIR"/script/packages/build
data/script/setup DELETED
@@ -1,5 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- bundle exec rake setup["$@"]
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which bower)" ]; then
5
- echo "A local bower installation is required for bower development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/bower
12
-
13
- if [ "$1" == "-f" ]; then
14
- find . -not -regex "\.*" -and -not -name "bower\.json" -print0 | xargs -0 rm -rf
15
- fi
16
-
17
- bower install
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which bundle)" ]; then
5
- echo "A local bundler instalation is required for bundler development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/bundler
12
-
13
- # unset any pre-existing gemfile when installing test fixtures
14
- unset BUNDLE_GEMFILE
15
-
16
- if [ "$1" == "-f" ]; then
17
- find . -not -regex "\.*" -and -not -name "Gemfile" -and -not \( -path ./pathed-gem-fixture -prune \) -print0 | xargs -0 rm -rf
18
- fi
19
-
20
- bundle install --path vendor/gems --without ignore
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which cabal)" ]; then
5
- echo "A local cabal installation is required for cabal development." >&2
6
- exit 127
7
- fi
8
-
9
- cabal --version
10
-
11
- # setup test fixtures
12
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
13
- cd $BASE_PATH/test/fixtures/cabal
14
-
15
- if [ "$1" == "-f" ]; then
16
- find . -not -regex "\.*" -and -not -path "*app*" -print0 | xargs -0 rm -rf
17
- fi
18
-
19
- (cabal new-update && cabal new-build) || (cabal update && cabal install)
@@ -1,38 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which php)" ]; then
5
- echo "A local php installation is required for php development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/composer
12
-
13
- if [ "$1" == "-f" ]; then
14
- find . -not -regex "\.*" -and -not -name "composer\.json" -print0 | xargs -0 rm -rf
15
- fi
16
-
17
- if [ ! -f "composer.phar" ]; then
18
- EXPECTED_SIGNATURE="$(curl -s https://composer.github.io/installer.sig)"
19
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
20
- ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
21
-
22
- if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]; then
23
- >&2 echo 'ERROR: Invalid installer signature'
24
- rm composer-setup.php
25
- exit 1
26
- fi
27
-
28
- php composer-setup.php
29
- RESULT=$?
30
- rm composer-setup.php
31
-
32
- if [ $RESULT -ne 0 ]; then
33
- >&2 echo 'ERROR: composer.phar installation failed'
34
- exit $RESULT
35
- fi
36
- fi
37
-
38
- php composer.phar install
@@ -1,39 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- # setup test fixtures
5
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
6
- cd $BASE_PATH/test/fixtures/git_submodule
7
-
8
- FIXTURES="$(pwd)/nested $(pwd)/submodule $(pwd)/project"
9
- SUBMODULE=""
10
- echo "setting up git_submodule test fixtures"
11
- for fixture in $FIXTURES; do
12
- if [ "$1" == "-f" ]; then
13
- rm -rf $fixture
14
- fi
15
-
16
- mkdir -p $fixture
17
- pushd $fixture >/dev/null
18
-
19
- # fixture is already set up, use "-f" to force a refresh
20
- if [ -e ".git" ]; then
21
- continue
22
- fi
23
-
24
- git init -q .
25
- cp $BASE_PATH/LICENSE .
26
- git add LICENSE
27
- git commit -q -m "init"
28
-
29
- if [ -n "$SUBMODULE" ] ; then
30
- git submodule add -q "$SUBMODULE" "vendor/$(basename $SUBMODULE)"
31
- git submodule update --recursive --init -q
32
- git add . && git commit -q -m "update submodule"
33
- fi
34
-
35
- echo "$(basename $fixture) created"
36
-
37
- SUBMODULE="$(pwd)"
38
- popd >/dev/null
39
- done
@@ -1,31 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which go)" ]; then
5
- echo "A local Go installation is required for go development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- export GOPATH="$BASE_PATH/test/fixtures/go"
12
- cd $BASE_PATH/test/fixtures/go
13
-
14
- if [ "$1" == "-f" ]; then
15
- find . -not -regex "\.*" \
16
- -and -not -path "*/src/test*" \
17
- -and -not -path "*/src/modules_test*" \
18
- -and -not -path "*/pkg/mod*" \
19
- -and -not -path "*/pkg" \
20
- -and -not -path "*/src" \
21
- -print0 | xargs -0 rm -rf
22
-
23
- if go help mod >/dev/null; then
24
- go clean -modcache
25
- fi
26
- fi
27
-
28
- (export GO111MODULE=off && cd src/test && go get)
29
- if go help mod >/dev/null; then
30
- (cd src/modules_test && GO111MODULE=on go mod download)
31
- fi
@@ -1,19 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which mix)" ]; then
5
- echo "A local mix installation is required for elixir development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/mix
12
-
13
- if [ "$1" == "-f" ]; then
14
- echo "removing old fixture setup..."
15
- mix deps.clean --all || true
16
- mix clean || true
17
- fi
18
-
19
- mix deps.get
@@ -1,34 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which npm)" ]; then
5
- echo "A local npm installation is required for npm development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/npm
12
-
13
- FORCE=""
14
- if [ "$1" == "-f" ]; then
15
- FORCE=1
16
- fi
17
-
18
- NPM_MAJOR_VERSION="$(npm -v | cut -d'.' -f1)"
19
- if [ "$NPM_MAJOR_VERSION" -ge "7" ]; then
20
- PACKAGE_JSON_SRC="package.json.npm7"
21
- else
22
- PACKAGE_JSON_SRC="package.json.npm6"
23
- fi
24
-
25
- if [ ! -f "package.json" ] || [ "$(cat package.json | md5sum )" != "$(cat "$PACKAGE_JSON_SRC" | md5sum)" ]; then
26
- FORCE=1
27
- cp -f "$PACKAGE_JSON_SRC" package.json
28
- fi
29
-
30
- if [ -n "$FORCE" ]; then
31
- find . -not -regex "\.*" -and -not -name "package\.json*" -print0 | xargs -0 rm -rf
32
- fi
33
-
34
- npm install
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which dotnet)" ]; then
5
- echo "A local dotnet installation is required for dotnet/nuget development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/nuget
12
-
13
- if [ "$1" == "-f" ]; then
14
- dotnet clean
15
- fi
16
-
17
- dotnet restore
@@ -1,29 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which pip)" ]; then
5
- echo "A local pip installation is required for python development." >&2
6
- exit 127
7
- fi
8
-
9
- if [ -z "$(which virtualenv)" ]; then
10
- echo "A local virtualenv installation is required for python development." >&2
11
- exit 127
12
- fi
13
-
14
-
15
- # setup test fixtures
16
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
17
-
18
-
19
- # clean up any previous fixture venv that might have been created.
20
- if [ "$1" == "-f" ]; then
21
- echo "removing old fixture setup..."
22
- rm -rf $BASE_PATH/test/fixtures/pip/venv
23
- fi
24
-
25
- # set up a virtualenv and install the packages in the test requirements
26
- virtualenv $BASE_PATH/test/fixtures/pip/venv
27
- . $BASE_PATH/test/fixtures/pip/venv/bin/activate
28
- pip install -r $BASE_PATH/test/fixtures/pip/requirements.txt
29
- deactivate
@@ -1,21 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which pipenv)" ]; then
5
- echo "A local pipenv installation is required for python development." >&2
6
- exit 127
7
- fi
8
-
9
-
10
- # setup test fixtures
11
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
12
- cd $BASE_PATH/test/fixtures/pipenv
13
-
14
- # clean up any previous fixture venv that might have been created.
15
- if [ "$1" == "-f" ]; then
16
- echo "removing old fixture setup..."
17
- pipenv --rm || true
18
- fi
19
-
20
- # set up a virtualenv and install the packages in the test requirements
21
- pipenv update
@@ -1,22 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which swift)" ]; then
5
- echo "A local swift installation is required for swift development." >&2
6
- exit 127
7
- fi
8
-
9
- swift --version
10
-
11
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
12
- cd $BASE_PATH/test/fixtures/swift
13
-
14
- if [ "$1" == "-f" ]; then
15
- find . -not -regex "\.*" \
16
- -and -not -path "*/Package.swift" \
17
- -and -not -path "*/Sources*" \
18
- -and -not -path "*/Tests*" \
19
- -print0 | xargs -0 rm -rf
20
- fi
21
-
22
- swift package resolve
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- if [ -z "$(which yarn)" ]; then
5
- echo "A local yarn installation is required for yarn development." >&2
6
- exit 127
7
- fi
8
-
9
- # setup test fixtures
10
- BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
11
- cd $BASE_PATH/test/fixtures/yarn
12
-
13
- if [ "$1" == "-f" ]; then
14
- find . -not -regex "\.*" -and -not -name "package\.json" -print0 | xargs -0 rm -rf
15
- fi
16
-
17
- yarn install
data/script/test DELETED
@@ -1,16 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- if [ "$#" -gt "0" ] ; then
6
- if [ -f "$1" ]; then
7
- # argument was a file, run it's tests only
8
- bundle exec rake test TEST="$1"
9
- else
10
- # argument was not a file, execute it as a test suite identifier
11
- bundle exec rake test:"$1"
12
- fi
13
- else
14
- # no arguments, run all tests
15
- bundle exec rake test
16
- fi