cocoapods-static-framework 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8205827a84610a6bf7fcca95bbcc9d04d79a3292f3693034baac2b3d468fa137
4
+ data.tar.gz: 710ce017dcd611d82b0afa3674bde2cbadd88d7c8b459e154c2b3e0bba366f92
5
+ SHA512:
6
+ metadata.gz: 4875b84b6c4c18446542143d5967433b4d5e25050d7183ce98980932d2e8d3177b79eb299c21253e6f11fefa618465a5473061ceba92ce8360e3b577ac726437
7
+ data.tar.gz: 79d64477ef9e0c093949dc7b54e92b900e76750af1a3546d001dd581cf28f1bd5c06d063d6cf309b68130766f965bce6100ac38f959ea36c97fb90ced8f80c0d
data/.fury ADDED
@@ -0,0 +1 @@
1
+ application_name: cocoapods-static-framework
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem 'cocoapods'
7
+
8
+ gem 'mocha'
9
+ gem 'bacon'
10
+ gem 'mocha-on-bacon'
11
+ gem 'prettybacon'
12
+ end
@@ -0,0 +1,98 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cocoapods-static-framework (1.0)
5
+ cocoapods (>= 1.5.0, < 2.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ CFPropertyList (3.0.0)
11
+ activesupport (4.2.11)
12
+ i18n (~> 0.7)
13
+ minitest (~> 5.1)
14
+ thread_safe (~> 0.3, >= 0.3.4)
15
+ tzinfo (~> 1.1)
16
+ atomos (0.1.3)
17
+ bacon (1.2.0)
18
+ claide (1.0.2)
19
+ cocoapods (1.5.3)
20
+ activesupport (>= 4.0.2, < 5)
21
+ claide (>= 1.0.2, < 2.0)
22
+ cocoapods-core (= 1.5.3)
23
+ cocoapods-deintegrate (>= 1.0.2, < 2.0)
24
+ cocoapods-downloader (>= 1.2.0, < 2.0)
25
+ cocoapods-plugins (>= 1.0.0, < 2.0)
26
+ cocoapods-search (>= 1.0.0, < 2.0)
27
+ cocoapods-stats (>= 1.0.0, < 2.0)
28
+ cocoapods-trunk (>= 1.3.0, < 2.0)
29
+ cocoapods-try (>= 1.1.0, < 2.0)
30
+ colored2 (~> 3.1)
31
+ escape (~> 0.0.4)
32
+ fourflusher (~> 2.0.1)
33
+ gh_inspector (~> 1.0)
34
+ molinillo (~> 0.6.5)
35
+ nap (~> 1.0)
36
+ ruby-macho (~> 1.1)
37
+ xcodeproj (>= 1.5.7, < 2.0)
38
+ cocoapods-core (1.5.3)
39
+ activesupport (>= 4.0.2, < 6)
40
+ fuzzy_match (~> 2.0.4)
41
+ nap (~> 1.0)
42
+ cocoapods-deintegrate (1.0.2)
43
+ cocoapods-downloader (1.2.2)
44
+ cocoapods-plugins (1.0.0)
45
+ nap
46
+ cocoapods-search (1.0.0)
47
+ cocoapods-stats (1.0.0)
48
+ cocoapods-trunk (1.3.1)
49
+ nap (>= 0.8, < 2.0)
50
+ netrc (~> 0.11)
51
+ cocoapods-try (1.1.0)
52
+ colored2 (3.1.2)
53
+ concurrent-ruby (1.1.3)
54
+ escape (0.0.4)
55
+ fourflusher (2.0.1)
56
+ fuzzy_match (2.0.4)
57
+ gh_inspector (1.1.3)
58
+ i18n (0.9.5)
59
+ concurrent-ruby (~> 1.0)
60
+ metaclass (0.0.4)
61
+ minitest (5.11.3)
62
+ mocha (1.7.0)
63
+ metaclass (~> 0.0.1)
64
+ mocha-on-bacon (0.2.3)
65
+ mocha (>= 0.13.0)
66
+ molinillo (0.6.6)
67
+ nanaimo (0.2.6)
68
+ nap (1.1.0)
69
+ netrc (0.11.0)
70
+ prettybacon (0.0.2)
71
+ bacon (~> 1.2)
72
+ rake (12.3.1)
73
+ ruby-macho (1.3.1)
74
+ thread_safe (0.3.6)
75
+ tzinfo (1.2.5)
76
+ thread_safe (~> 0.1)
77
+ xcodeproj (1.7.0)
78
+ CFPropertyList (>= 2.3.3, < 4.0)
79
+ atomos (~> 0.1.3)
80
+ claide (>= 1.0.2, < 2.0)
81
+ colored2 (~> 3.1)
82
+ nanaimo (~> 0.2.6)
83
+
84
+ PLATFORMS
85
+ ruby
86
+
87
+ DEPENDENCIES
88
+ bacon
89
+ bundler (~> 1.3)
90
+ cocoapods
91
+ cocoapods-static-framework!
92
+ mocha
93
+ mocha-on-bacon
94
+ prettybacon
95
+ rake
96
+
97
+ BUNDLED WITH
98
+ 1.16.4
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2018 MercadoLibre
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,35 @@
1
+ # cocoapods-static-framework
2
+
3
+ A cocoapods plugin that enables static frameworks for all pods.
4
+
5
+ Cocoapods only supports static framework at pod level, which means an option in podspec and just valid for that pod. By using this plugin, we can make all pod to static framework with only one word!
6
+
7
+
8
+ ## Usage
9
+ Install via gem:
10
+
11
+ ```
12
+ $ gem install cocoapods-static-framework
13
+ ```
14
+
15
+ Add the following to your podfile:
16
+
17
+ ```ruby
18
+ plugin 'cocoapods-static-framework'
19
+
20
+ ```
21
+
22
+ NOTE: Static frameworks is still using framework, not static library. So don't forget to add `use_frameworks!`
23
+
24
+ ## About Static framework
25
+
26
+ ### Why
27
+
28
+ Too many dynamic frameworks will increase app boot time dramatically, also the `Copy framework` build phase will expend unendurable time in the code-build-run loop. (There is also a dyld [crash](https://github.com/Ruenzuo/cocoapods-amimono#why-would-you-want-this-plugin-in-your-podfile)) Static framework have no these problems.
29
+
30
+ ## requirement
31
+
32
+ - cocoapods ~> 1.5
33
+
34
+ ## License
35
+ MIT
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ def specs(dir)
4
+ FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5
+ end
6
+
7
+ desc 'Runs all the specs'
8
+ task :specs do
9
+ sh "bundle exec bacon #{specs('**')}"
10
+ end
11
+
12
+ task :default => :specs
13
+
@@ -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-static-framework/gem_version.rb'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'cocoapods-static-framework'
8
+ spec.version = CocoapodsStaticFramework::VERSION
9
+ spec.authors = ['Mobile Team']
10
+ spec.email = ['mobile-arquitectura@mercadolibre.com']
11
+ spec.description = %q{transform all pods to static framework}
12
+ spec.summary = %q{transforms all pods to static framework for cocoapods when use_frameworks!}
13
+ spec.homepage = 'https://github.com/mercadolibre/fury_cocoapods-static-framework'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_dependency "cocoapods", ">= 1.5.0", "< 2.0"
22
+
23
+ spec.add_development_dependency 'bundler', '~> 1.3'
24
+ spec.add_development_dependency 'rake'
25
+ end
@@ -0,0 +1 @@
1
+ require 'cocoapods-static-framework/gem_version'
@@ -0,0 +1,3 @@
1
+ module CocoapodsStaticFramework
2
+ VERSION = "1.0.1"
3
+ end
@@ -0,0 +1,15 @@
1
+
2
+ Pod::HooksManager.register('cocoapods-static-framework', :pre_install) do |installer_context|
3
+
4
+ # check user_framework is on
5
+ podfile = installer_context.podfile
6
+ podfile.target_definition_list.each do |target_definition|
7
+ next if target_definition.name == "Pods"
8
+ if not target_definition.uses_frameworks?
9
+ STDERR.puts "[!] Cocoapods-static-framework requires `use_frameworks!`".red
10
+ exit
11
+ end
12
+ end
13
+
14
+ require_relative 'patch/static_pod'
15
+ end
@@ -0,0 +1,8 @@
1
+ module Pod
2
+ class PodTarget
3
+ def static_framework?
4
+ return true
5
+ end
6
+ end
7
+ end
8
+
@@ -0,0 +1 @@
1
+ require 'cocoapods-static-framework/main'
@@ -0,0 +1,12 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ describe Command::Framework do
5
+ describe 'CLAide' do
6
+ it 'registers it self' do
7
+ Command.parse(%w{ framework }).should.be.instance_of Command::Framework
8
+ end
9
+ end
10
+ end
11
+ end
12
+
@@ -0,0 +1,50 @@
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 'bacon'
8
+ require 'mocha-on-bacon'
9
+ require 'pretty_bacon'
10
+ require 'pathname'
11
+ require 'cocoapods'
12
+
13
+ Mocha::Configuration.prevent(:stubbing_non_existent_method)
14
+
15
+ require 'cocoapods_plugin'
16
+
17
+ #-----------------------------------------------------------------------------#
18
+
19
+ module Pod
20
+
21
+ # Disable the wrapping so the output is deterministic in the tests.
22
+ #
23
+ UI.disable_wrap = true
24
+
25
+ # Redirects the messages to an internal store.
26
+ #
27
+ module UI
28
+ @output = ''
29
+ @warnings = ''
30
+
31
+ class << self
32
+ attr_accessor :output
33
+ attr_accessor :warnings
34
+
35
+ def puts(message = '')
36
+ @output << "#{message}\n"
37
+ end
38
+
39
+ def warn(message = '', actions = [])
40
+ @warnings << "#{message}\n"
41
+ end
42
+
43
+ def print(message)
44
+ @output << message
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ #-----------------------------------------------------------------------------#
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cocoapods-static-framework
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Mobile Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-05 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: 1.5.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 1.5.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.3'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.3'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ description: transform all pods to static framework
62
+ email:
63
+ - mobile-arquitectura@mercadolibre.com
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - ".fury"
69
+ - Gemfile
70
+ - Gemfile.lock
71
+ - LICENSE.txt
72
+ - README.md
73
+ - Rakefile
74
+ - cocoapods-static-framework.gemspec
75
+ - lib/cocoapods-static-framework.rb
76
+ - lib/cocoapods-static-framework/gem_version.rb
77
+ - lib/cocoapods-static-framework/main.rb
78
+ - lib/cocoapods-static-framework/patch/static_pod.rb
79
+ - lib/cocoapods_plugin.rb
80
+ - spec/command/framework_spec.rb
81
+ - spec/spec_helper.rb
82
+ homepage: https://github.com/mercadolibre/fury_cocoapods-static-framework
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.7.7
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: transforms all pods to static framework for cocoapods when use_frameworks!
106
+ test_files:
107
+ - spec/command/framework_spec.rb
108
+ - spec/spec_helper.rb