cocoapods-xcframework 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21eebd4159dfb6bb5f9ce1ff183edec5ec27f03711cecc7acf5d8d709083c537
4
- data.tar.gz: 36505a48d941b64cfd935fe51879abc4d463128aed8ff8452f8eb35c13a1ef81
3
+ metadata.gz: e585d673b3955cf72fabe8215902f92f47634ada97c293bd2acdf3a8e42a9622
4
+ data.tar.gz: 27d5a9e175c71b1701ec24bc0abaf31de9a57b396662574c08e5d485f81d085d
5
5
  SHA512:
6
- metadata.gz: 2f5591a1b65359fbc2fbff1d2a9a2158634ef95cb7e0c999d8a489c58276a6954ed30895676f13964fec0e0f29750ce3dcee412b38121ad786266902bd419249
7
- data.tar.gz: a79c9b4b557543cf890b19fe9148853f0e64b497ec513cb7bf9f9ad1232fe544e4fcc4b4f643df4f830e89098af44cf4521679a553128f6ea6d49e2185b579db
6
+ metadata.gz: 62df3f2b4a90787a7101851ebe5e1d78dbac8685d7edf6e2e3543879cee31ff37c05d9365bfd08e95dbdb6acdf53a0f799397a916b1fcac02e68a244012ecf7c
7
+ data.tar.gz: ea585449d6726c1ac2c5a493dfce82cc04cf58f8bc3b848c35bd779517cd111f61f883163cc4bf248c9e7b0382f30fb5de912759699ecfcaf4b090238efc68a1
data/README.md CHANGED
@@ -14,7 +14,8 @@
14
14
  - 支持 `subspec` 打包
15
15
  ## Installation
16
16
 
17
- $ gem install cocoapods-framework
17
+ $ gem install cocoapods-xcframework
18
+ $ gem install cocoapods-xcframework-*.gem //本地安装
18
19
 
19
20
  ## Usage
20
21
  $ pod framework NAME [SOURCE]
@@ -30,7 +30,8 @@ module Pod
30
30
  ['--no-force', 'Overwrite existing files.'],
31
31
  ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
32
32
  ['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependent pods from (defaults to https://github.com/CocoaPods/Specs.git)'],
33
- ['--subspecs', 'Only include the given subspecs']
33
+ ['--subspecs', 'Only include the given subspecs'],
34
+ ['--use-modular-headers', 'pakcage uses modular headers during packaging']
34
35
  ].concat super
35
36
  end
36
37
 
@@ -41,6 +42,7 @@ module Pod
41
42
  subspecs = argv.option('subspecs')
42
43
  @subspecs = subspecs.split(',') unless subspecs.nil?
43
44
  @configuration = argv.option('configuration', 'Release')
45
+ @use_modular_headers = argv.option('use-modular-headers', true)
44
46
  @force = argv.flag?('force', true)
45
47
  super
46
48
  end
@@ -51,7 +53,7 @@ module Pod
51
53
  end
52
54
 
53
55
  def run
54
- frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force)
56
+ frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force, @use_modular_headers)
55
57
  frameworker.run
56
58
  end
57
59
  end
@@ -3,13 +3,14 @@ module Pod
3
3
  include PodUtil
4
4
  include DirUtil
5
5
  include Config::Mixin
6
- def initialize(name, source, spec_sources, subspecs, configuration, force)
6
+ def initialize(name, source, spec_sources, subspecs, configuration, force, use_modular_headers)
7
7
  @name = name
8
8
  @source = source
9
9
  @spec_sources = spec_sources
10
10
  @subspecs = subspecs
11
11
  @configuration = configuration
12
12
  @force = force
13
+ @use_modular_headers = use_modular_headers
13
14
  end
14
15
 
15
16
  def run
@@ -35,6 +36,7 @@ module Pod
35
36
  spec,
36
37
  @subspecs,
37
38
  @spec_sources,
39
+ @use_modular_headers
38
40
  )
39
41
 
40
42
  perform_build(
@@ -1,3 +1,3 @@
1
1
  module CocoapodsFramework
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -1,2 +1,3 @@
1
+ require 'cocoapods-framework/util/error_util'
1
2
  require 'cocoapods-framework/util/pod_util'
2
3
  require 'cocoapods-framework/util/dir_util'
@@ -0,0 +1,13 @@
1
+ module Pod
2
+ module ErrorUtil
3
+ class << self
4
+ def error_report(command, output)
5
+ UI.puts "<<-EOF
6
+ Build command failed: #{command}
7
+ Output:
8
+ #{output.map { |line| " #{line}" }.join}
9
+ EOF"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -8,12 +8,12 @@ module Pod
8
8
  @path = path.expand_path
9
9
 
10
10
  if @path.directory?
11
- help! @path + ': is a directory.'
11
+ raise @path + ': is a directory.'
12
12
  return
13
13
  end
14
14
 
15
15
  unless ['.podspec', '.json'].include? @path.extname
16
- help! @path + ': is not a podspec.'
16
+ raise @path + ': is not a podspec.'
17
17
  return
18
18
  end
19
19
 
@@ -33,25 +33,23 @@ module Pod
33
33
  Sandbox.new(config.sandbox_root)
34
34
  end
35
35
 
36
- def installation_root sandbox, spec, subspecs, sources,use_frameworks = true
36
+ def installation_root sandbox, spec, subspecs, sources,use_frameworks = true,use_modular_headers = true
37
37
  podfile = podfile_from_spec(
38
38
  @path,
39
39
  spec,
40
- # platform,
41
40
  subspecs,
42
41
  sources,
43
- use_frameworks
42
+ use_frameworks,
43
+ use_modular_headers
44
44
  )
45
45
 
46
46
  installer = Installer.new(sandbox, podfile)
47
- puts podfile.to_hash.to_json
48
47
  installer.install!
49
48
 
50
49
  unless installer.nil?
51
50
  installer.pods_project.targets.each do |target|
52
51
  target.build_configurations.each do |configuration|
53
- configuration.build_settings['CLANG_MODULES_AUTOLINK'] = 'NO'
54
- configuration.build_settings['GCC_GENERATE_DEBUGGING_SYMBOLS'] = 'NO'
52
+ # configuration.build_settings['CLANG_MODULES_AUTOLINK'] = 'NO'
55
53
  end
56
54
  end
57
55
  installer.pods_project.save
@@ -59,7 +57,7 @@ module Pod
59
57
  installer
60
58
  end
61
59
 
62
- def podfile_from_spec path, spec, subspecs, sources, use_frameworks = true
60
+ def podfile_from_spec path, spec, subspecs, sources, use_frameworks = true, use_modular_headers=true
63
61
  options = Hash.new
64
62
  options[:podspec] = path.to_s
65
63
  options[:subspecs] = subspecs if subspecs
@@ -77,8 +75,9 @@ module Pod
77
75
  :integrate_targets => false,
78
76
  :deterministic_uuids => false)
79
77
 
80
- use_frameworks! if use_frameworks
81
- end
78
+ use_frameworks! if use_frameworks
79
+ use_modular_headers! if use_modular_headers
80
+ end
82
81
  end
83
82
 
84
83
  def generic_new_podspec_hash spec
@@ -106,4 +105,4 @@ module Pod
106
105
  spec_hash
107
106
  end
108
107
  end
109
- end
108
+ end
@@ -21,10 +21,11 @@ module Pod
21
21
  UI.puts("Building framework #{@spec} with configuration #{@configuration}")
22
22
  UI.puts "Work dir is :#{@sandbox_root}"
23
23
  defines = "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) PodsDummy_Pods_#{@spec.name}=PodsDummy_PodPackage_#{@spec.name}'"
24
- # defines << ' ' << @spec.consumer(@platform).compiler_flags.join(' ')
25
24
 
26
25
  if @configuration == 'Debug'
27
26
  defines << 'GCC_GENERATE_DEBUGGING_SYMBOLS=YES ONLY_ACTIVE_ARCH=NO'
27
+ else
28
+ defines << "GCC_GENERATE_DEBUGGING_SYMBOLS=NO"
28
29
  end
29
30
 
30
31
  build_all_device defines
@@ -44,10 +45,10 @@ module Pod
44
45
  command << "-framework #{framework} "
45
46
  end
46
47
  command << "-output #{@sandbox_root}/#{@spec.name}.xcframework 2>&1"
47
- UI.puts `#{command}`
48
+ output = `#{command}`.lines.to_a
48
49
  if $?.exitstatus != 0
49
- UI.puts(output)
50
- Process.exit
50
+ Pod::ErrorUtil.error_report command,output
51
+ Process.exit -1
51
52
  end
52
53
  "#{@sandbox_root}/#{@spec.name}.xcframework"
53
54
  end
@@ -94,11 +95,12 @@ module Pod
94
95
  end
95
96
 
96
97
  def outputs_xcframework target_dir
97
- `cp -rp #{@outputs} #{target_dir} 2>&1`
98
+ command = "cp -rp #{@outputs} #{target_dir} 2>&1"
99
+ output = `#{command}`.lines.to_a
98
100
  if $?.exitstatus != 0
99
- UI.puts output
100
- Process.exit
101
+ Pod::ErrorUtil.error_report command,output
102
+ Process.exit -1
101
103
  end
102
104
  end
103
105
  end
104
- end
106
+ end
@@ -3,18 +3,18 @@ module Pod
3
3
  module XcodeXBuilder
4
4
  def xcode_xbuild(defines, configuration, work_dir, build_dir = 'export')
5
5
  if defined?(Pod::DONT_CODESIGN)
6
- args = "#{args} CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO"
6
+ defines = "#{defines} CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO"
7
7
  end
8
8
  pwd = Pathname.pwd
9
9
  Dir.chdir work_dir
10
10
  command = "xcodebuild #{defines} BUILD_DIR=#{build_dir} BUILD_LIBRARY_FOR_DISTRIBUTION=YES clean build -configuration #{configuration} -alltargets 2>&1"
11
- outputs = `#{command}`.lines.to_s
11
+ output = `#{command}`.lines.to_a
12
12
  Dir.chdir pwd
13
13
  if $?.exitstatus != 0
14
- UI.puts output
15
- Process.exit
14
+ Pod::ErrorUtil.error_report command,output
15
+ Process.exit -1
16
16
  end
17
17
  end
18
18
  end
19
19
  end
20
- end
20
+ end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-xcframework
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - 戴易超
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-29 00:00:00.000000000 Z
11
+ date: 2021-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -78,6 +78,7 @@ files:
78
78
  - lib/cocoapods-framework/gem_version.rb
79
79
  - lib/cocoapods-framework/util.rb
80
80
  - lib/cocoapods-framework/util/dir_util.rb
81
+ - lib/cocoapods-framework/util/error_util.rb
81
82
  - lib/cocoapods-framework/util/pod_util.rb
82
83
  - lib/cocoapods-framework/xbuilder.rb
83
84
  - lib/cocoapods-framework/xbuilder/xcode_xbuild.rb
@@ -87,6 +88,7 @@ files:
87
88
  - pkg/cocoapods-framework-0.0.1.gem
88
89
  - pkg/cocoapods-framework-0.0.2.gem
89
90
  - pkg/cocoapods-framework-0.0.3.gem
91
+ - pkg/cocoapods-xcframework-0.0.4.gem
90
92
  - spec/command/framework_spec.rb
91
93
  - spec/spec_helper.rb
92
94
  homepage: https://github.com/TyrantDante/cocoapods-framework