cocoapods-rome 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39349e3eb241f7f32fb8008ed923fb6418756b09
4
- data.tar.gz: becffa42b45bec1b97229428dcf501a12cd7e9ff
3
+ metadata.gz: 3e700deed4bcc9ea660ae782275780ac0d20c3bb
4
+ data.tar.gz: 829d962a97796a8b962527312b972f0344d150ae
5
5
  SHA512:
6
- metadata.gz: e7244588f9e6ff4ddadc748283eddbeb12960305e54d68b16bfe68f7e890373ad20494ce2f5eda799c2ddf59be14018e4e5c3c7cf93b6c0aac520636250cb578
7
- data.tar.gz: 2072032d52cbb4545cdc936b817a24303e1661dc2e5af2ee4ba1b2d08ca53c1c46eb0d7fcbd902dfa979fa19f8dad8cf033e079824ed19b853b1f31a2ed56876
6
+ metadata.gz: fc1e27375402a40eb164c6c30066b5be370ea67e50ebf5f06ba47779fb7e8559a3b7825ea73b26b1bdbc97e26023cf8848222ebdb4e2c85a1b8115685c8dba96
7
+ data.tar.gz: 45607cf9440968a5835a64fe4fb49b8abbaac6ba3eab2d6f1088124e936eca21f0ab027c3e3e4d2abc8356dadac15ece87050c15e243ddb5c100317d2545952e
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocoapods-rome (0.1.0)
5
- cocoapods (>= 0.38.0.beta2)
4
+ cocoapods-rome (0.2.0)
5
+ cocoapods (>= 0.38.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -15,10 +15,10 @@ GEM
15
15
  tzinfo (~> 1.1)
16
16
  bacon (1.2.0)
17
17
  claide (0.9.1)
18
- cocoapods (0.38.0.beta.2)
18
+ cocoapods (0.38.0)
19
19
  activesupport (>= 3.2.15)
20
20
  claide (~> 0.9.1)
21
- cocoapods-core (= 0.38.0.beta.2)
21
+ cocoapods-core (= 0.38.0)
22
22
  cocoapods-downloader (~> 0.9.1)
23
23
  cocoapods-plugins (~> 0.4.2)
24
24
  cocoapods-stats (~> 0.5.3)
@@ -28,8 +28,8 @@ GEM
28
28
  escape (~> 0.0.4)
29
29
  molinillo (~> 0.3.0)
30
30
  nap (~> 0.8)
31
- xcodeproj (~> 0.26.1)
32
- cocoapods-core (0.38.0.beta.2)
31
+ xcodeproj (~> 0.26.2)
32
+ cocoapods-core (0.38.0)
33
33
  activesupport (>= 3.2.15)
34
34
  fuzzy_match (~> 2.0.4)
35
35
  nap (~> 0.8.0)
@@ -55,7 +55,7 @@ GEM
55
55
  thread_safe (0.3.5)
56
56
  tzinfo (1.2.2)
57
57
  thread_safe (~> 0.1)
58
- xcodeproj (0.26.1)
58
+ xcodeproj (0.26.2)
59
59
  activesupport (>= 3)
60
60
  claide (~> 0.9.1)
61
61
  colored (~> 1.2)
data/README.md CHANGED
@@ -17,7 +17,6 @@ Write a simple Podfile like this:
17
17
 
18
18
  ```ruby
19
19
  platform :osx, '10.10'
20
- use_frameworks!
21
20
 
22
21
  plugin 'cocoapods-rome'
23
22
 
@@ -27,7 +26,7 @@ pod 'Alamofire'
27
26
  then run this:
28
27
 
29
28
  ```bash
30
- pod install --no-integrate
29
+ pod install
31
30
  ```
32
31
 
33
32
  and you will end up with dynamic frameworks:
@@ -18,7 +18,7 @@ Xcode}
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "cocoapods", ">= 0.38.0.beta2"
21
+ spec.add_dependency "cocoapods", ">= 0.38.0"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rake"
@@ -1,3 +1,3 @@
1
1
  module CocoapodsRome
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -1,5 +1,9 @@
1
+ CONFIGURATION = "Release"
2
+ DEVICE = "iphoneos"
3
+ SIMULATOR = "iphonesimulator"
4
+
1
5
  def xcodebuild(sandbox, target, sdk='macosx')
2
- Pod::Executable.execute_command 'xcodebuild', %W(-project #{sandbox.project_path.basename} -scheme #{target} -configuration Release -sdk #{sdk}), true
6
+ Pod::Executable.execute_command 'xcodebuild', %W(-project #{sandbox.project_path.basename} -scheme #{target} -configuration #{CONFIGURATION} -sdk #{sdk}), true
3
7
  end
4
8
 
5
9
  Pod::HooksManager.register('cocoapods-rome', :post_install) do |installer_context|
@@ -15,32 +19,53 @@ Pod::HooksManager.register('cocoapods-rome', :post_install) do |installer_contex
15
19
  Dir.chdir(sandbox.project_path.dirname) do
16
20
  targets = installer_context.umbrella_targets.select { |t| t.specs.any? }
17
21
  targets.each do |target|
22
+ target_label = target.cocoapods_target_label
18
23
  if target.platform_name == :ios
19
- xcodebuild(sandbox, target.cocoapods_target_label, 'iphoneos')
20
- xcodebuild(sandbox, target.cocoapods_target_label, 'iphonesimulator')
24
+ xcodebuild(sandbox, target_label, DEVICE)
25
+ xcodebuild(sandbox, target_label, SIMULATOR)
26
+
27
+ spec_names = target.specs.map { |spec| spec.root.name }.uniq
28
+ spec_names.each do |root_name|
29
+ executable_path = "#{build_dir}/#{root_name}"
30
+ device_lib = "#{build_dir}/#{CONFIGURATION}-#{DEVICE}/#{target_label}/#{root_name}.framework/#{root_name}"
31
+ device_framework_lib = File.dirname(device_lib)
32
+ simulator_lib = "#{build_dir}/#{CONFIGURATION}-#{SIMULATOR}/#{target_label}/#{root_name}.framework/#{root_name}"
21
33
 
22
- target.specs.each do |spec|
23
- device_lib = "#{build_dir}/Release-iphoneos/#{spec.name}.framework/#{spec.name}"
24
- simulator_lib = "#{build_dir}/Release-iphonesimulator/#{spec.name}.framework/#{spec.name}"
25
- `lipo -create -output "#{build_dir}/#{spec.name}" #{device_lib} #{simulator_lib}`
34
+ next unless File.file?(device_lib) && File.file?(simulator_lib)
26
35
 
27
- FileUtils.mv "#{build_dir}/#{spec.name}", device_lib
28
- Pathname.new("#{build_dir}/Release-iphonesimulator/#{spec.name}.framework").rmtree
36
+ lipo_log = `lipo -create -output #{executable_path} #{device_lib} #{simulator_lib}`
37
+ puts lipo_log unless File.exist?(executable_path)
38
+
39
+ FileUtils.mv executable_path, device_lib
40
+ FileUtils.mv device_framework_lib, build_dir
29
41
  end
30
42
  else
31
- xcodebuild(sandbox, target.cocoapods_target_label)
43
+ xcodebuild(sandbox, target_label)
32
44
  end
33
45
  end
34
46
  end
35
47
 
36
48
  raise Pod::Informative, 'The build directory was not found in the expected location.' unless build_dir.directory?
37
49
 
38
- frameworks = Pathname.glob(build_dir + 'Release*/*.framework').reject { |f| f.to_s =~ /Pods*\.framework/ }
50
+ frameworks = Pathname.glob("#{build_dir}/**/*.framework").reject { |f| f.to_s =~ /Pods*\.framework/ }
39
51
 
40
52
  Pod::UI.puts "Built #{frameworks.count} #{'frameworks'.pluralize(frameworks.count)}"
41
- Pod::UI.puts "Copying frameworks to `#{destination.relative_path_from Pathname.pwd}`"
42
53
 
43
54
  destination.rmtree if destination.directory?
55
+
56
+ installer_context.umbrella_targets.each do |umbrella|
57
+ umbrella.specs.each do |spec|
58
+ consumer = spec.consumer(umbrella.platform_name)
59
+ file_accessor = Pod::Sandbox::FileAccessor.new(sandbox.pod_dir(spec.root.name), consumer)
60
+ frameworks += file_accessor.vendored_libraries
61
+ frameworks += file_accessor.vendored_frameworks
62
+ end
63
+ end
64
+ frameworks.uniq!
65
+
66
+ Pod::UI.puts "Copying #{frameworks.count} #{'frameworks'.pluralize(frameworks.count)} " \
67
+ "to `#{destination.relative_path_from Pathname.pwd}`"
68
+
44
69
  frameworks.each do |framework|
45
70
  FileUtils.mkdir_p destination
46
71
  FileUtils.cp_r framework, destination, :remove_destination => true
@@ -0,0 +1,4 @@
1
+ Pod::HooksManager.register('cocoapods-rome', :pre_install) do |installer_context|
2
+ installer_context.podfile.use_frameworks!
3
+ Pod::Config.instance.integrate_targets = false
4
+ end
@@ -1 +1,2 @@
1
1
  require 'cocoapods-rome/post_install'
2
+ require 'cocoapods-rome/pre_install'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-rome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boris Bügling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-06 00:00:00.000000000 Z
11
+ date: 2015-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.38.0.beta2
19
+ version: 0.38.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.38.0.beta2
26
+ version: 0.38.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -69,6 +69,7 @@ files:
69
69
  - lib/cocoapods-rome.rb
70
70
  - lib/cocoapods-rome/gem_version.rb
71
71
  - lib/cocoapods-rome/post_install.rb
72
+ - lib/cocoapods-rome/pre_install.rb
72
73
  - lib/cocoapods_plugin.rb
73
74
  - spec/spec_helper.rb
74
75
  - yolo.jpg