cocoapods-gitlab_license_report 1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3a384e05fdfe00a27a66564092f5aeb449ed9f50fc71e2e3250a4b404ee74ea2
4
+ data.tar.gz: df0cc2779e57d08bc92d8af4d1e99b611b2b5dd90250859908d2182016e8291b
5
+ SHA512:
6
+ metadata.gz: 4d1af2f4496ada8c6e431a5a40e7cf0ed5c344a33e52626798ff902b94f1c580ee723ae5eef8547d228cc63a6b7fbbc327adf3d2bc47dd8a5eb325baf46fd1ac
7
+ data.tar.gz: 9d1bcc82badbf732e56eada6237979be96ab258515dfc893270f73381cf587c7b18e6e7ed2f7eb533d4eb9b8e84b1bbecc714f46974a4cf4141f6df5f0243a32
@@ -0,0 +1,16 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem 'bacon'
7
+ gem 'mocha-on-bacon'
8
+ gem 'mocha', '~> 0.11.4'
9
+ gem 'prettybacon'
10
+ end
@@ -0,0 +1,142 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cocoapods-gitlab_license_report (1.0.0)
5
+ cocoapods
6
+ license_finder
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ CFPropertyList (3.0.2)
12
+ activesupport (5.2.4.4)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ i18n (>= 0.7, < 2)
15
+ minitest (~> 5.1)
16
+ tzinfo (~> 1.1)
17
+ addressable (2.7.0)
18
+ public_suffix (>= 2.0.2, < 5.0)
19
+ algoliasearch (1.27.5)
20
+ httpclient (~> 2.8, >= 2.8.3)
21
+ json (>= 1.5.1)
22
+ atomos (0.1.3)
23
+ bacon (1.2.0)
24
+ claide (1.0.3)
25
+ cocoapods (1.10.0)
26
+ addressable (~> 2.6)
27
+ claide (>= 1.0.2, < 2.0)
28
+ cocoapods-core (= 1.10.0)
29
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
30
+ cocoapods-downloader (>= 1.4.0, < 2.0)
31
+ cocoapods-plugins (>= 1.0.0, < 2.0)
32
+ cocoapods-search (>= 1.0.0, < 2.0)
33
+ cocoapods-trunk (>= 1.4.0, < 2.0)
34
+ cocoapods-try (>= 1.1.0, < 2.0)
35
+ colored2 (~> 3.1)
36
+ escape (~> 0.0.4)
37
+ fourflusher (>= 2.3.0, < 3.0)
38
+ gh_inspector (~> 1.0)
39
+ molinillo (~> 0.6.6)
40
+ nap (~> 1.0)
41
+ ruby-macho (~> 1.4)
42
+ xcodeproj (>= 1.19.0, < 2.0)
43
+ cocoapods-core (1.10.0)
44
+ activesupport (> 5.0, < 6)
45
+ addressable (~> 2.6)
46
+ algoliasearch (~> 1.0)
47
+ concurrent-ruby (~> 1.1)
48
+ fuzzy_match (~> 2.0.4)
49
+ nap (~> 1.0)
50
+ netrc (~> 0.11)
51
+ public_suffix
52
+ typhoeus (~> 1.0)
53
+ cocoapods-deintegrate (1.0.4)
54
+ cocoapods-downloader (1.4.0)
55
+ cocoapods-plugins (1.0.0)
56
+ nap
57
+ cocoapods-search (1.0.0)
58
+ cocoapods-trunk (1.5.0)
59
+ nap (>= 0.8, < 2.0)
60
+ netrc (~> 0.11)
61
+ cocoapods-try (1.2.0)
62
+ colored2 (3.1.2)
63
+ concurrent-ruby (1.1.7)
64
+ diff-lcs (1.4.4)
65
+ escape (0.0.4)
66
+ ethon (0.12.0)
67
+ ffi (>= 1.3.0)
68
+ ffi (1.13.1)
69
+ fourflusher (2.3.1)
70
+ fuzzy_match (2.0.4)
71
+ gh_inspector (1.1.3)
72
+ httpclient (2.8.3)
73
+ i18n (1.8.5)
74
+ concurrent-ruby (~> 1.0)
75
+ json (2.3.1)
76
+ license_finder (6.9.0)
77
+ bundler
78
+ rubyzip (>= 1, < 3)
79
+ thor (~> 1.0.1)
80
+ tomlrb (~> 1.3.0)
81
+ with_env (= 1.1.0)
82
+ xml-simple (~> 1.1.5)
83
+ metaclass (0.0.4)
84
+ minitest (5.14.2)
85
+ mocha (0.11.4)
86
+ metaclass (~> 0.0.1)
87
+ mocha-on-bacon (0.2.1)
88
+ mocha (>= 0.9.8)
89
+ molinillo (0.6.6)
90
+ nanaimo (0.3.0)
91
+ nap (1.1.0)
92
+ netrc (0.11.0)
93
+ prettybacon (0.0.2)
94
+ bacon (~> 1.2)
95
+ public_suffix (4.0.6)
96
+ rake (13.0.1)
97
+ rspec (3.9.0)
98
+ rspec-core (~> 3.9.0)
99
+ rspec-expectations (~> 3.9.0)
100
+ rspec-mocks (~> 3.9.0)
101
+ rspec-core (3.9.3)
102
+ rspec-support (~> 3.9.3)
103
+ rspec-expectations (3.9.3)
104
+ diff-lcs (>= 1.2.0, < 2.0)
105
+ rspec-support (~> 3.9.0)
106
+ rspec-mocks (3.9.1)
107
+ diff-lcs (>= 1.2.0, < 2.0)
108
+ rspec-support (~> 3.9.0)
109
+ rspec-support (3.9.4)
110
+ ruby-macho (1.4.0)
111
+ rubyzip (2.3.0)
112
+ thor (1.0.1)
113
+ thread_safe (0.3.6)
114
+ tomlrb (1.3.0)
115
+ typhoeus (1.4.0)
116
+ ethon (>= 0.9.0)
117
+ tzinfo (1.2.7)
118
+ thread_safe (~> 0.1)
119
+ with_env (1.1.0)
120
+ xcodeproj (1.19.0)
121
+ CFPropertyList (>= 2.3.3, < 4.0)
122
+ atomos (~> 0.1.3)
123
+ claide (>= 1.0.2, < 2.0)
124
+ colored2 (~> 3.1)
125
+ nanaimo (~> 0.3.0)
126
+ xml-simple (1.1.5)
127
+
128
+ PLATFORMS
129
+ ruby
130
+
131
+ DEPENDENCIES
132
+ bacon
133
+ bundler (~> 2.0)
134
+ cocoapods-gitlab_license_report!
135
+ mocha (~> 0.11.4)
136
+ mocha-on-bacon
137
+ prettybacon
138
+ rake
139
+ rspec
140
+
141
+ BUNDLED WITH
142
+ 2.1.4
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Fabio Pelosin
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,23 @@
1
+ # CocoaPods Acknowledgements
2
+
3
+ A CocoaPods plugin that generates a Gitlab compatible report of all the installed library licenses.
4
+
5
+ ### Installation
6
+
7
+ Install via `gem install cocoapods-gitlab_license_report` you need to be using at least CocoaPods `0.36` and add `plugin 'cocoapods-gitlab_license_report'` to your `Podfile`. See below for examples:
8
+
9
+ ### Example usage
10
+
11
+ ``` ruby
12
+ plugin 'cocoapods-gitlab_license_report', :report_path => 'relative_path'
13
+ ```
14
+
15
+ The default `report_path` is: `reports/licenses.json`
16
+
17
+
18
+ ``` ruby
19
+ plugin 'cocoapods-gitlab_license_report', :report_path => 'relative_path', :exclude => ['pod_name1', 'pod_name2']
20
+ ```
21
+
22
+ Exclude pods pod_name1 and pod_name2 from the license report.
23
+
@@ -0,0 +1,22 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ def specs(dir)
4
+ FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5
+ end
6
+
7
+ task :bootstrap, :use_bundle_dir? do |t, args|
8
+ if args[:use_bundle_dir?]
9
+ sh "bundle install --path ./travis_bundle_dir"
10
+ else
11
+ sh "bundle install"
12
+ end
13
+ end
14
+
15
+ namespace :spec do
16
+ desc "Runs all the specs"
17
+ task :ci do
18
+ sh "bundle exec bacon #{specs('**')}"
19
+ end
20
+ end
21
+
22
+ task :default => "spec:ci"
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'cocoapods-gitlab_license_report/version.rb'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "cocoapods-gitlab_license_report"
8
+ spec.version = CocoaPodsGitlabLicenseReport::VERSION
9
+ spec.authors = ["Fabio Gallonetto"]
10
+ spec.summary = %q{CocoaPods plugin that generates an license report for gitlab license scanner}
11
+ #spec.homepage = "https://git.curve.tools/dev-tools/cocoapods-gitlab_license_report"
12
+ spec.license = "MIT"
13
+
14
+ spec.files = `git ls-files`.split($/)
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
18
+
19
+ spec.add_runtime_dependency 'cocoapods'
20
+ spec.add_runtime_dependency 'license_finder'
21
+
22
+ spec.add_development_dependency "bundler", "~> 2.0"
23
+ spec.add_development_dependency "rake"
24
+ spec.add_development_dependency "rspec"
25
+ end
@@ -0,0 +1,45 @@
1
+ module CocoaPodsGitlabLicenseReport
2
+ require 'cocoapods-gitlab_license_report/report_generator'
3
+ require 'cocoapods'
4
+ require 'set'
5
+
6
+ class PostInstallHookHandler
7
+ def initialize(context, options, generator = nil)
8
+ @context = context
9
+ @options = options
10
+ @generator = generator || ReportGenerator.new(@context)
11
+ end
12
+
13
+ def handle!
14
+ Pod::UI.section 'Generating Gitlab licenses report' do
15
+
16
+ report_path = @options["report_path"] || 'reports/licenses.json'
17
+ excluded_pods = Set.new(@options["exclude"])
18
+
19
+ sandbox = @context.sandbox if defined? @context.sandbox
20
+ sandbox ||= Pod::Sandbox.new(@context.sandbox_root)
21
+
22
+ installed_specs = @context.umbrella_targets.flat_map(&:specs).map(&:root).uniq
23
+ licenses_report = @generator.generate(installed_specs, excluded_pods, context.sandbox)
24
+
25
+ Dir.mkdir File.dirname(report_path) unless File.exist? File.dirname(report_path)
26
+ File.write(report_path, licenses_report.to_json)
27
+
28
+ end
29
+ end
30
+ end
31
+
32
+ Pod::HooksManager.register('cocoapods-gitlab_license_report', :post_install) do |context, user_options|
33
+
34
+ # Until CocoaPods provides a HashWithIndifferentAccess, normalize the hash keys here.
35
+ # See https://github.com/CocoaPods/CocoaPods/issues/3354
36
+
37
+ user_options.inject({}) do |normalized_hash, (key, value)|
38
+ normalized_hash[key.to_s] = value
39
+ normalized_hash
40
+ end
41
+
42
+ handler = PostInstallHookHandler.new(context, user_options)
43
+ handler.handle!
44
+ end
45
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+ require 'license_finder'
3
+
4
+ module CocoaPodsGitlabLicenseReport
5
+ class ReportGenerator
6
+ def initialize(sandbox)
7
+ @sandbox = sandbox
8
+ end
9
+
10
+ def generate(specs, excluded)
11
+
12
+ dependencies = []
13
+ licenses = {}
14
+
15
+ specs.reject { |s| excluded.include? s.name }.each do |s|
16
+ license_name = s.license
17
+ license_name = license_name[:type] if license_name.is_a?(Hash)
18
+ license = LicenseFinder::License.find_by_name(license_name)
19
+
20
+ dependencies << { :name => s.name,
21
+ :version => s.version.to_s || "0.0",
22
+ :package_manager => "cocoapods",
23
+ :path => @sandbox.manifest_path,
24
+ :licenses => [license_name] }
25
+
26
+ licenses[license_name] = { :id => license_name,
27
+ :name => license_name,
28
+ :url => license.url || "" }
29
+ end
30
+
31
+ {
32
+ :version => "2.1",
33
+ :licenses => licenses.values.sort_by {|v| v[:id]},
34
+ :dependencies => dependencies
35
+ }
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,3 @@
1
+ module CocoaPodsGitlabLicenseReport
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1 @@
1
+ require 'cocoapods-gitlab_license_report'
@@ -0,0 +1 @@
1
+ {"version":"2.1","licenses":[{"id":"Apache 2.0","name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"},{"id":"MIT","name":"MIT","url":"http://opensource.org/licenses/mit-license"}],"dependencies":[{"name":"monkeylib","version":"1.0","package_manager":"cocoapods","path":"/Users/dune/Development/cocoapods-gitlab-license_scanning/tmp/Pods/Manifest.lock","licenses":["MIT"]},{"name":"BananaLib","version":"2.0","package_manager":"cocoapods","path":"/Users/dune/Development/cocoapods-gitlab-license_scanning/tmp/Pods/Manifest.lock","licenses":["Apache 2.0"]}]}
@@ -0,0 +1,57 @@
1
+ require File.expand_path('../spec_helper.rb', __FILE__)
2
+ require 'xcodeproj'
3
+
4
+ describe CocoaPodsGitlabLicenseReport do
5
+
6
+ UmbrellaTargetDescription = Pod::Installer::PostInstallHooksContext::UmbrellaTargetDescription
7
+ PostInstallHookHandler = CocoaPodsGitlabLicenseReport::PostInstallHookHandler
8
+
9
+ before do
10
+ @sandbox = temporary_sandbox
11
+ @spec1 = SpecHelper.spec1
12
+ @spec2 = SpecHelper.spec2
13
+ end
14
+
15
+
16
+ describe PostInstallHookHandler do
17
+ before do
18
+ @target_description = UmbrellaTargetDescription.new(@project, [@target], [@spec1, @spec2], :ios, '8.0', 'Pods-MyApp')
19
+ @hook_context = Pod::Installer::PostInstallHooksContext.new(@sandbox, @sandbox.root, nil, [@target_description])
20
+ end
21
+
22
+ it 'Registers as cocoapods post_install hook' do
23
+ expect_any_instance_of(PostInstallHookHandler).to receive(:initialize).with(@hook_context, {})
24
+ expect_any_instance_of(PostInstallHookHandler).to receive(:handle!)
25
+ Pod::HooksManager.run(:post_install, @hook_context, { 'cocoapods-gitlab_license_report' => {}})
26
+ end
27
+
28
+ it 'Passes options from the plugin def' do
29
+ options = {:opt1 => "val1", :opt2 => "val2"}
30
+ expect_any_instance_of(PostInstallHookHandler).to receive(:initialize).with(@hook_context, options)
31
+ expect_any_instance_of(PostInstallHookHandler).to receive(:handle!)
32
+ Pod::HooksManager.run(:post_install, @hook_context, { 'cocoapods-gitlab_license_report' => options})
33
+ end
34
+
35
+
36
+ # it 'generates a settings plist when specified' do
37
+ # settings_bundle = SpecHelper.temporary_directory + 'Settings.bundle'
38
+ # settings_plist_path = settings_bundle + 'Pods-MyApp-settings-metadata.plist'
39
+ # FileUtils.mkdir(settings_bundle)
40
+ # resource_group = @project.main_group.new_group('Resources')
41
+ # resource_group.new_file(settings_bundle)
42
+ #
43
+ # CocoaPodsAcknowledgements.expects(:save_metadata).with(@plist_content, @plist_path, @project, @sandbox, @target.uuid).once
44
+ # CocoaPodsAcknowledgements.expects(:save_metadata).with(@settings_plist_content, settings_plist_path.to_s, @project, @sandbox, @target.uuid).once
45
+ # Pod::HooksManager.run(:post_install, @hook_context, { 'cocoapods-acknowledgements' => { :settings_bundle => true }})
46
+ # FileUtils.rm_rf(settings_bundle)
47
+ # end
48
+ #
49
+ # it "generates acknowledgement plists to only specified targets" do
50
+ # CocoaPodsAcknowledgements.expects(:save_metadata).with(@plist_content, @plist_path, @project, @sandbox, @target.uuid).once
51
+ # Pod::HooksManager.run(:post_install, @hook_context, { 'cocoapods-acknowledgements' => { targets: ['MyApp'] }})
52
+ #
53
+ # CocoaPodsAcknowledgements.expects(:save_metadata).never
54
+ # Pod::HooksManager.run(:post_install, @hook_context, { 'cocoapods-acknowledgements' => { targets: ['TheOtherTarget'] }})
55
+ # end
56
+ end
57
+ end
@@ -0,0 +1,57 @@
1
+ require File.expand_path('../spec_helper.rb', __FILE__)
2
+
3
+ describe ReportGenerator = CocoaPodsGitlabLicenseReport::ReportGenerator do
4
+
5
+ before do
6
+ @spec1 = SpecHelper.spec1
7
+ @spec2 = SpecHelper.spec2
8
+ @sandbox = temporary_sandbox
9
+ allow(@sandbox).to receive(:manifest_path).and_return('/path/to/Podfile.lock')
10
+ end
11
+
12
+ it 'generates metadata' do
13
+ result = ReportGenerator.new(@sandbox).generate([@spec1, @spec2], [])
14
+ expect(result).to eq({
15
+ :version => "2.1",
16
+ :licenses => [{ :id => 'Apache 2.0', :name => 'Apache 2.0', :url => "http://www.apache.org/licenses/LICENSE-2.0.txt"},
17
+ { :id => 'MIT', :name => 'MIT', :url => "http://opensource.org/licenses/mit-license"}],
18
+ :dependencies => [{
19
+ :name => "monkeylib",
20
+ :version => '1.0',
21
+ :package_manager => "cocoapods",
22
+ :path => "/path/to/Podfile.lock",
23
+ :licenses => ['MIT']
24
+ }, {
25
+ :name => "BananaLib",
26
+ :version => '2.0',
27
+ :package_manager => "cocoapods",
28
+ :path => "/path/to/Podfile.lock",
29
+ :licenses => ['Apache 2.0']
30
+ }]
31
+ })
32
+ end
33
+
34
+ it 'generates empty if specs is empty' do
35
+ result = ReportGenerator.new(@sandbox).generate([], [])
36
+ expect(result).to eq({
37
+ :version => "2.1",
38
+ :licenses => [],
39
+ :dependencies => []
40
+ })
41
+ end
42
+
43
+ it 'does not include metadata for excluded specs' do
44
+ result = ReportGenerator.new(@sandbox).generate([@spec1, @spec2], [@spec1.name])
45
+ expect(result).to eq({
46
+ :version => "2.1",
47
+ :licenses => [{ :id => 'Apache 2.0', :name => 'Apache 2.0', :url => "http://www.apache.org/licenses/LICENSE-2.0.txt"}],
48
+ :dependencies => [{
49
+ :name => "BananaLib",
50
+ :version => '2.0',
51
+ :package_manager => "cocoapods",
52
+ :path => "/path/to/Podfile.lock",
53
+ :licenses => ['Apache 2.0']
54
+ }]
55
+ })
56
+ end
57
+ end
@@ -0,0 +1,100 @@
1
+ require 'pathname'
2
+ ROOT = Pathname.new(File.expand_path('../../', __FILE__))
3
+ $:.unshift((ROOT + 'lib').to_s)
4
+ $:.unshift((ROOT + 'spec').to_s)
5
+
6
+ require 'bundler/setup'
7
+ require 'cocoapods'
8
+
9
+ require 'cocoapods_plugin'
10
+
11
+ #-----------------------------------------------------------------------------#
12
+
13
+ module Pod
14
+
15
+ # Disable the wrapping so the output is deterministic in the tests.
16
+ #
17
+ UI.disable_wrap = true
18
+
19
+ # Redirects the messages to an internal store.
20
+ #
21
+ module UI
22
+ @output = ''
23
+ @warnings = ''
24
+
25
+ class << self
26
+ attr_accessor :output
27
+ attr_accessor :warnings
28
+
29
+ def puts(message = '')
30
+ @output << "#{message}\n"
31
+ end
32
+
33
+ def warn(message = '', actions = [])
34
+ @warnings << "#{message}\n"
35
+ end
36
+
37
+ def print(message)
38
+ @output << message
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ module SpecHelper
45
+ def self.temporary_directory
46
+ ROOT + 'tmp'
47
+ end
48
+
49
+ def self.spec1
50
+ Pod::Specification.new do |s|
51
+ s.name = 'monkeylib'
52
+ s.version = '1.0'
53
+ s.authors = {
54
+ 'CocoaPods' => 'email@cocoapods.org'
55
+ }
56
+ s.social_media_url = 'https://twitter.com/CocoaPods'
57
+ s.homepage = 'https://github.com/CocoaPods/monkeylib'
58
+ s.license = {
59
+ :type => 'MIT',
60
+ :file => 'LICENSE',
61
+ :text => 'Permission is hereby granted ...'
62
+ }
63
+ s.summary = 'A lib to do monkey things'
64
+ s.description = <<EOF
65
+ ## What is it
66
+ A lib to do monkey things
67
+ ## Why?
68
+ Why not?
69
+ EOF
70
+ end
71
+ end
72
+
73
+ def self.spec2
74
+ Pod::Specification.new do |s|
75
+ s.name = 'BananaLib'
76
+ s.version = '2.0'
77
+ s.authors = 'Banana Corp', { 'Monkey Boy' => 'monkey@banana-corp.local' }
78
+ s.homepage = 'http://banana-corp.local/banana-lib.html'
79
+ s.summary = 'Chunky bananas!'
80
+ s.description = 'Full of chunky bananas.'
81
+ s.source = { :git => 'http://banana-corp.local/banana-lib.git', :tag => 'v1.0' }
82
+ s.license = 'Apache 2.0'
83
+ s.source_files = 'Classes/*.{h,m,d}', 'Vendor', 'framework/Source/*.h'
84
+ s.resources = "Resources/*", "Resources/Images.xcassets"
85
+ s.vendored_framework = 'BananaFramework.framework'
86
+ s.vendored_library = 'libBananaStaticLib.a'
87
+ s.preserve_paths = 'preserve_me.txt'
88
+ s.public_header_files = 'Classes/Banana.h', 'framework/Source/MoreBanana.h'
89
+ s.module_map = 'Banana.modulemap'
90
+
91
+ s.prefix_header_file = 'Classes/BananaLib.pch'
92
+ s.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-framework SystemConfiguration' }
93
+ s.dependency 'monkey', '~> 1.0.1', '< 1.0.9'
94
+ end
95
+ end
96
+ end
97
+
98
+ def temporary_sandbox
99
+ Pod::Sandbox.new(SpecHelper.temporary_directory + 'Pods')
100
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cocoapods-gitlab_license_report
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Fabio Gallonetto
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-10-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cocoapods
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: license_finder
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description:
84
+ email:
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - ".gitignore"
90
+ - Gemfile
91
+ - Gemfile.lock
92
+ - LICENSE
93
+ - README.md
94
+ - Rakefile
95
+ - cocoapods-gitlab_license_report.gemspec
96
+ - lib/cocoapods-gitlab_license_report.rb
97
+ - lib/cocoapods-gitlab_license_report/report_generator.rb
98
+ - lib/cocoapods-gitlab_license_report/version.rb
99
+ - lib/cocoapods_plugin.rb
100
+ - reports/licenses.json
101
+ - spec/license_report_spec.rb
102
+ - spec/report_generator_spec.rb
103
+ - spec/spec_helper.rb
104
+ homepage:
105
+ licenses:
106
+ - MIT
107
+ metadata: {}
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubygems_version: 3.0.3
124
+ signing_key:
125
+ specification_version: 4
126
+ summary: CocoaPods plugin that generates an license report for gitlab license scanner
127
+ test_files:
128
+ - spec/license_report_spec.rb
129
+ - spec/report_generator_spec.rb
130
+ - spec/spec_helper.rb