cocoapods-acknowledgements 1.0.0 → 1.1.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/.travis.yml +20 -6
- data/CHANGELOG.md +33 -1
- data/Gemfile +1 -2
- data/README.md +12 -4
- data/lib/cocoapods_acknowledgements.rb +29 -24
- data/lib/cocoapods_acknowledgements/plist_generator.rb +2 -3
- data/lib/cocoapods_acknowledgements/settings_plist_generator.rb +3 -4
- data/lib/cocoapods_acknowledgements/version.rb +1 -1
- data/lib/cocoapods_plugin.rb +0 -1
- data/spec/acknowledgement_spec.rb +5 -0
- data/spec/plist_generator_spec.rb +5 -0
- data/spec/settings_plist_generator_spec.rb +5 -0
- metadata +9 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54435c0fb7730f387d1438481a57423e2413bc33
|
4
|
+
data.tar.gz: e569eaa1915a1ee46c297cb6f4c9900f642df897
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2917315ce1ad58239938d975d2e60647c5e07052be09878e9a7eaa90358b34611a2db36c3def382afa47dc5ce46d8353d0865abda526351aa91098c780f9e0b2
|
7
|
+
data.tar.gz: 7c689a4794cc670e1e26412f485575c4e3364ee8e8d446fefea90cc45fe1cd77f429ad32e0513e76a3edcb65d7968f08b9661c48f9ddb2999bb5c652141748bf
|
data/.travis.yml
CHANGED
@@ -1,10 +1,24 @@
|
|
1
|
+
# Sets Travis to run the Ruby specs on OS X machines to be as close as possible
|
2
|
+
# to the user environment.
|
3
|
+
#
|
1
4
|
language: objective-c
|
5
|
+
addons:
|
6
|
+
code_climate:
|
7
|
+
repo_token: 2926ae7ea0b2a6ced8b0d67efa235769ab85de1d9c9f6702f40d80bacec3c9c4
|
8
|
+
|
2
9
|
env:
|
3
|
-
|
4
|
-
- RVM_RUBY_VERSION=
|
5
|
-
|
10
|
+
- RVM_RUBY_VERSION=system
|
11
|
+
# - RVM_RUBY_VERSION=1.8.7-p358
|
12
|
+
|
6
13
|
before_install:
|
14
|
+
- export LANG=en_US.UTF-8
|
7
15
|
- curl http://curl.haxx.se/ca/cacert.pem -o /usr/local/share/cacert.pem
|
8
|
-
- source ~/.rvm/scripts/rvm
|
9
|
-
|
10
|
-
|
16
|
+
- source ~/.rvm/scripts/rvm
|
17
|
+
- if [[ $RVM_RUBY_VERSION != 'system' ]]; then rvm install $RVM_RUBY_VERSION; fi
|
18
|
+
- rvm use $RVM_RUBY_VERSION
|
19
|
+
- if [[ $RVM_RUBY_VERSION == 'system' ]]; then sudo gem install bundler --no-ri --no-rdoc; else gem install bundler --no-ri --no-rdoc; fi
|
20
|
+
|
21
|
+
install:
|
22
|
+
- sudo bundle install --without=documentation
|
23
|
+
|
24
|
+
script: bundle exec rake spec
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,41 @@
|
|
1
|
-
# CocoaPods
|
1
|
+
# CocoaPods Acknowledgements Changelog
|
2
2
|
|
3
3
|
## Master
|
4
4
|
|
5
5
|
##### Enhancements
|
6
6
|
|
7
|
+
* None.
|
8
|
+
|
9
|
+
##### Bug Fixes
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
|
14
|
+
## 1.1.0 (2016-03-08)
|
15
|
+
|
16
|
+
##### Enhancements
|
17
|
+
|
18
|
+
* Exclude certain Pods from Acknowledgements.
|
19
|
+
[Marcelo Fabri](https://github.com/marcelofabri)
|
20
|
+
[#16](https://github.com/CocoaPods/cocoapods-acknowledgements/issues/16)
|
21
|
+
|
22
|
+
##### Bug Fixes
|
23
|
+
|
24
|
+
* Supporting CocoaPods 1.0.
|
25
|
+
[Marcelo Fabri](https://github.com/marcelofabri)
|
26
|
+
|
27
|
+
* Fix adding same file multiple times to group.
|
28
|
+
[Marcelo Fabri](https://github.com/marcelofabri)
|
29
|
+
|
30
|
+
* Fix settings bundle style plists generation.
|
31
|
+
[Marcelo Fabri](https://github.com/marcelofabri)
|
32
|
+
[#20](https://github.com/CocoaPods/cocoapods-acknowledgements/issues/20)
|
33
|
+
|
34
|
+
|
35
|
+
## 1.0
|
36
|
+
|
37
|
+
##### Enhancements
|
38
|
+
|
7
39
|
* Support Settings bundle style plists.
|
8
40
|
[Marcelo Fabri](https://github.com/marcelofabri)
|
9
41
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# CocoaPods Acknowledgements
|
2
2
|
|
3
|
-
A CocoaPods plugin that generates a plist which includes the installation metadata. It supports generating two styles of dependency information.
|
3
|
+
A CocoaPods plugin that generates a plist which includes the installation metadata. It supports generating two styles of dependency information.
|
4
4
|
|
5
5
|
* **Settings.bundle compatible plist** - This format is supported by a [large amount of pods](https://cocoapods.org/?q=acknow) and works with Apple's Settings.app.
|
6
6
|
|
@@ -27,10 +27,18 @@ plugin 'cocoapods-acknowledgements', :settings_bundle => true
|
|
27
27
|
With a Settings.bundle compatible plist, offering the chance to run post-processing on the plist ( to add non-CocoaPods dependencies for example )
|
28
28
|
|
29
29
|
``` ruby
|
30
|
-
plugin 'cocoapods-acknowledgements', :settings_bundle => true , :settings_post_process => Proc.new { |settings_plist_path, umbrella_target|
|
31
|
-
puts settings_plist_path
|
30
|
+
plugin 'cocoapods-acknowledgements', :settings_bundle => true , :settings_post_process => Proc.new { |settings_plist_path, umbrella_target|
|
31
|
+
puts settings_plist_path
|
32
32
|
puts umbrella_target.cocoapods_target_label
|
33
33
|
}
|
34
34
|
```
|
35
35
|
|
36
|
-
The plugin will search through the first two levels of your project to find a `Settings.bundle` file, and add the file to the bundle. If this is not enough for you, we'd love a PR.
|
36
|
+
The plugin will search through the first two levels of your project to find a `Settings.bundle` file, and add the file to the bundle. If this is not enough for you, we'd love a PR.
|
37
|
+
|
38
|
+
You can also exclude some dependencies so they won't be added to the generated plists. This is useful when you don't want to add private dependencies.
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
plugin 'cocoapods-acknowledgements', :settings_bundle => true, :exclude => 'PrivateKit'
|
42
|
+
|
43
|
+
plugin 'cocoapods-acknowledgements', :settings_bundle => true, :exclude => ['PrivateKit', 'SecretLib']
|
44
|
+
```
|
@@ -3,7 +3,11 @@ module CocoaPodsAcknowledgements
|
|
3
3
|
require 'cocoapods_acknowledgements/settings_plist_generator'
|
4
4
|
|
5
5
|
def self.save_metadata(metadata, plist_path, project, sandbox, user_target_uuid)
|
6
|
-
Xcodeproj.
|
6
|
+
if defined? Xcodeproj::Plist.write_to_path
|
7
|
+
Xcodeproj::Plist.write_to_path(metadata, plist_path)
|
8
|
+
else
|
9
|
+
Xcodeproj.write_plist(metadata, plist_path)
|
10
|
+
end
|
7
11
|
|
8
12
|
# Find a root folder in the users Xcode Project called Pods, or make one
|
9
13
|
cocoapods_group = project.main_group["Pods"]
|
@@ -12,7 +16,8 @@ module CocoaPodsAcknowledgements
|
|
12
16
|
end
|
13
17
|
|
14
18
|
# Add the example plist to the found CocoaPods group
|
15
|
-
|
19
|
+
plist_pathname = Pathname.new(File.expand_path(plist_path))
|
20
|
+
file_ref = cocoapods_group.files.find { |file| file.real_path == plist_pathname }
|
16
21
|
unless file_ref
|
17
22
|
file_ref = cocoapods_group.new_file(plist_path)
|
18
23
|
end
|
@@ -26,73 +31,73 @@ module CocoaPodsAcknowledgements
|
|
26
31
|
project.save
|
27
32
|
|
28
33
|
end
|
29
|
-
|
34
|
+
|
30
35
|
# TODO: Code golf this
|
31
36
|
def self.settings_bundle_in_project
|
32
37
|
Dir.glob("**/*Settings.bundle").first
|
33
38
|
end
|
34
|
-
|
39
|
+
|
35
40
|
Pod::HooksManager.register('cocoapods-acknowledgements', :post_install) do |context, user_options|
|
36
41
|
require 'cocoapods'
|
37
|
-
|
42
|
+
require 'set'
|
43
|
+
|
38
44
|
# Until CocoaPods provides a HashWithIndifferentAccess, normalize the hash keys here.
|
39
45
|
# See https://github.com/CocoaPods/CocoaPods/issues/3354
|
40
|
-
|
46
|
+
|
41
47
|
user_options.inject({}) do |normalized_hash, (key, value)|
|
42
48
|
normalized_hash[key.to_s] = value
|
43
49
|
normalized_hash
|
44
50
|
end
|
45
|
-
|
51
|
+
|
46
52
|
Pod::UI.section 'Adding Acknowledgements' do
|
47
53
|
|
48
54
|
should_include_settings = user_options["settings_bundle"] != nil
|
55
|
+
excluded_pods = Set.new(user_options["exclude"])
|
49
56
|
|
50
57
|
sandbox = context.sandbox if defined? context.sandbox
|
51
58
|
sandbox ||= Pod::Sandbox.new(context.sandbox_root)
|
52
59
|
|
53
60
|
context.umbrella_targets.each do |umbrella_target|
|
54
61
|
project = Xcodeproj::Project.open(umbrella_target.user_project_path)
|
55
|
-
|
62
|
+
|
56
63
|
umbrella_target.user_target_uuids.each do |user_target_uuid|
|
57
|
-
|
64
|
+
|
58
65
|
# Generate a plist representing all of the podspecs
|
59
|
-
metadata = PlistGenerator.generate(umbrella_target, sandbox)
|
60
|
-
|
66
|
+
metadata = PlistGenerator.generate(umbrella_target, sandbox, excluded_pods)
|
67
|
+
|
61
68
|
next unless metadata
|
62
|
-
|
69
|
+
|
63
70
|
plist_path = sandbox.root + "#{umbrella_target.cocoapods_target_label}-metadata.plist"
|
64
71
|
save_metadata(metadata, plist_path, project, sandbox, user_target_uuid)
|
65
|
-
|
72
|
+
|
66
73
|
if should_include_settings
|
67
74
|
# Generate a plist in Settings format
|
68
|
-
settings_metadata = SettingsPlistGenerator.generate(umbrella_target, sandbox)
|
75
|
+
settings_metadata = SettingsPlistGenerator.generate(umbrella_target, sandbox, excluded_pods)
|
69
76
|
|
70
77
|
# We need to look for a Settings.bundle
|
71
78
|
# and add this to the root of the bundle
|
72
|
-
|
79
|
+
|
73
80
|
settings_bundle = settings_bundle_in_project
|
74
81
|
if settings_bundle == nil
|
75
82
|
Pod::UI.warn "Could not find a Settings.bundle to add the Pod Settings Plist to."
|
76
83
|
else
|
77
84
|
settings_plist_path = settings_bundle + "/#{umbrella_target.cocoapods_target_label}-settings-metadata.plist"
|
78
|
-
|
85
|
+
save_metadata(settings_metadata, settings_plist_path, project, sandbox, user_target_uuid)
|
79
86
|
Pod::UI.info "Added Pod info to Settings.bundle for target #{umbrella_target.cocoapods_target_label}"
|
80
|
-
|
87
|
+
|
81
88
|
# Support a callback for the key :settings_post_process
|
82
89
|
if user_options["settings_post_process"]
|
83
|
-
user_options["settings_post_process"].call(settings_plist_path, umbrella_target)
|
90
|
+
user_options["settings_post_process"].call(settings_plist_path, umbrella_target, excluded_pods)
|
84
91
|
end
|
85
|
-
|
92
|
+
|
86
93
|
end
|
87
94
|
end
|
88
95
|
|
89
96
|
end
|
90
|
-
|
97
|
+
|
91
98
|
end
|
92
|
-
|
99
|
+
|
93
100
|
end
|
94
|
-
|
101
|
+
|
95
102
|
end
|
96
103
|
end
|
97
|
-
|
98
|
-
|
@@ -8,8 +8,8 @@ module CocoaPodsAcknowledgements
|
|
8
8
|
@markdown_parser ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML)
|
9
9
|
end
|
10
10
|
|
11
|
-
def generate(target_description, sandbox)
|
12
|
-
root_specs = target_description.specs.map(&:root).uniq
|
11
|
+
def generate(target_description, sandbox, excluded)
|
12
|
+
root_specs = target_description.specs.map(&:root).uniq.reject { |spec| excluded.include?(spec.name) }
|
13
13
|
|
14
14
|
return nil if root_specs.empty?
|
15
15
|
|
@@ -84,4 +84,3 @@ module CocoaPodsAcknowledgements
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
end
|
87
|
-
|
@@ -4,8 +4,8 @@ module CocoaPodsAcknowledgements
|
|
4
4
|
class SettingsPlistGenerator < PlistGenerator
|
5
5
|
class << self
|
6
6
|
|
7
|
-
def generate(target_description, sandbox)
|
8
|
-
root_specs = target_description.specs.map(&:root).uniq
|
7
|
+
def generate(target_description, sandbox, excluded)
|
8
|
+
root_specs = target_description.specs.map(&:root).uniq.reject { |spec| excluded.include?(spec.name) }
|
9
9
|
|
10
10
|
return nil if root_specs.empty?
|
11
11
|
|
@@ -40,7 +40,7 @@ module CocoaPodsAcknowledgements
|
|
40
40
|
"Type" => "PSGroupSpecifier"
|
41
41
|
}
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def footer
|
45
45
|
footer = {
|
46
46
|
"FooterText" => "Generated by CocoaPods - http://cocoapods.org",
|
@@ -51,4 +51,3 @@ module CocoaPodsAcknowledgements
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
54
|
-
|
data/lib/cocoapods_plugin.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-acknowledgements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabio Pelosin
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2016-03-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: redcarpet
|
@@ -73,6 +73,9 @@ files:
|
|
73
73
|
- lib/cocoapods_acknowledgements/settings_plist_generator.rb
|
74
74
|
- lib/cocoapods_acknowledgements/version.rb
|
75
75
|
- lib/cocoapods_plugin.rb
|
76
|
+
- spec/acknowledgement_spec.rb
|
77
|
+
- spec/plist_generator_spec.rb
|
78
|
+
- spec/settings_plist_generator_spec.rb
|
76
79
|
- spec/spec_helper.rb
|
77
80
|
homepage: https://github.com/CocoaPods/cocoapods-acknowledgements
|
78
81
|
licenses:
|
@@ -94,11 +97,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
97
|
version: '0'
|
95
98
|
requirements: []
|
96
99
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.
|
100
|
+
rubygems_version: 2.6.1
|
98
101
|
signing_key:
|
99
102
|
specification_version: 4
|
100
103
|
summary: CocoaPods plugin that generates an acknowledgements plist to make it easy
|
101
104
|
to create tools to use in apps.
|
102
105
|
test_files:
|
106
|
+
- spec/acknowledgement_spec.rb
|
107
|
+
- spec/plist_generator_spec.rb
|
108
|
+
- spec/settings_plist_generator_spec.rb
|
103
109
|
- spec/spec_helper.rb
|
104
|
-
has_rdoc:
|