luna-binary-uploader 0.1.2 → 0.1.8

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
  SHA256:
3
- metadata.gz: fdf3910fb738057554515aac9ecd91ce6a86f8fce2720e27fd050e9e04216b74
4
- data.tar.gz: 4e5efdedf0dd045eb0c591b7242b29aa4c625ce91add1714411909d5ecf61b66
3
+ metadata.gz: 8eb081de584f9444708a84d7af3953965872eae7254aaa34d1744b7f635778fc
4
+ data.tar.gz: db0c4458a6b710f0fa9e5973d6b89c84d8bebebf79511df7cda1eda1eff05d08
5
5
  SHA512:
6
- metadata.gz: 21610a08fefcd450ecc7db97c0fbbd8819f6ca05271a0dad8f1d0d86d7801ac2517a82a303ae3bc8774049cf1cdef0423282e62dac2a7ce5b8d54c9ae838f982
7
- data.tar.gz: 0f6b63c16350925aabb3beb53f21e93408d19f8721d740a19c0fbe05f629eb697716397f4da043e973f2fe2e7ec1c47d2ca0f4e0eeb539f253a81b4d80c7c4a3
6
+ metadata.gz: 90ebddb758d1deaf84b6d9681fd27b3adb9027859c55e53f0aaed7020c7d171fe4ab8fdad1066f358c1fd49054e7c7ddfc63ed8c3258e7c1504e8f8c9e77d717
7
+ data.tar.gz: 5c3f759c39fbd1f09009b4002bdfb2fd2eec238b76c9e9659f0a1d25711d4bad4ee912683925ffe939c05f399e8daaf2a92538aea37fda0b8c46c8cccfb773d7
data/.gitignore CHANGED
@@ -6,3 +6,4 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ Gemfile.lock
data/bin/lbu CHANGED
@@ -6,7 +6,7 @@ require "luna/binary/delete"
6
6
  require "luna/binary/analysis"
7
7
  require "luna/binary/refresh"
8
8
  require "luna/binary/build"
9
- require "luna/binary/DSL/uploader_DSL"
9
+ require "luna/binary/update"
10
10
  require 'gli'
11
11
 
12
12
  # You can add fixtures and/or initialization code here to make experimenting
@@ -134,7 +134,7 @@ class App
134
134
  arg_name '参数:1.二进制路径(可以不传默认为当前目录下的/temp-luna-uploader/merged)'
135
135
  command :update do |c|
136
136
  c.action do |global_options,options,args|
137
- obj = Luna::Binary::Refresh.new()
137
+ obj = Luna::Binary::Update.new()
138
138
  if args[0] != nil
139
139
  obj.binary_path = args[0]
140
140
  else
@@ -26,29 +26,41 @@ module Luna
26
26
  def createFrameworks
27
27
  isNext = true
28
28
  Pod::UserInterface.puts "请将二进制开关关闭,确保每个模块都是源码运行,因为二进制的因素有可能source缓存还是会引入二进制".yellow
29
- Luna::Binary::Common.instance.deleteDirectory(Dir.pwd + "/Pods")
29
+ command("rm -rf #{Dir.pwd}/Pods")
30
30
  isNext = command("pod install")
31
31
  Luna::Binary::Common.instance.deleteDirectory(binary_path_arm)
32
- isNext = command("xcodebuild -workspace #{workspace} -scheme #{scheme} -configuration Debug -derivedDataPath '#{Dir.pwd}/build/arm' CONFIGURATION_BUILD_DIR='#{binary_path_arm}'") if isNext == true
32
+ tempLunaUploaderPath = Luna::Binary::Common.instance.tempLunaUploaderPath
33
+ isNext = command("xcodebuild -workspace #{workspace} -scheme #{scheme} -configuration Debug -derivedDataPath '#{tempLunaUploaderPath}/build/arm/temp'") if isNext == true
34
+ isNext = command("cp -r #{tempLunaUploaderPath}/build/arm/temp/Build/Products #{binary_path_arm}") if isNext == true #本可以用CONFIGURATION_BUILD_DIR直接指定结果文件夹,结果经常性的编译报错
33
35
  Luna::Binary::Common.instance.deleteDirectory(binary_path_x86)
34
- isNext = command("xcodebuild -workspace #{workspace} -scheme #{scheme} -configuration Debug -derivedDataPath '#{Dir.pwd}/build/x86' CONFIGURATION_BUILD_DIR='#{binary_path_x86}' -destination 'platform=iOS Simulator,name=iPhone 11'") if isNext == true
36
+ isNext = command("xcodebuild -workspace #{workspace} -scheme #{scheme} -configuration Debug -derivedDataPath '#{tempLunaUploaderPath}/build/x86/temp' -destination 'platform=iOS Simulator,name=iPhone 11'") if isNext == true
37
+ isNext = command("cp -r #{tempLunaUploaderPath}/build/x86/temp/Build/Products #{binary_path_x86}") if isNext == true
35
38
  mergeFrameWorks(binary_path_arm, binary_path_x86) if isNext == true
36
39
  end
37
40
 
38
41
  def mergeFrameWorks(binary_path_arm, binary_path_x86)
39
42
  Luna::Binary::Common.instance.deleteDirectory(binary_path_merged)
40
43
  dedupingMapper = {}
44
+ failList = []
41
45
  lockfile.pod_names.each { |item|
42
46
  if item["/"] == nil && dedupingMapper[item] == nil
43
- Pod::UserInterface.puts item.yellow
44
- armPath = findFramework(item,binary_path_arm)
45
- x86Path = findFramework(item,binary_path_x86)
46
- mergeFrameWork(item, armPath, x86Path) if armPath != nil && x86Path != nil
47
- dedupingMapper[item] = item
47
+ begin
48
+ Pod::UserInterface.puts item.yellow
49
+ armPath = findFramework(item,binary_path_arm)
50
+ x86Path = findFramework(item,binary_path_x86)
51
+ mergeFrameWork(item, armPath, x86Path) if armPath != nil && x86Path != nil
52
+ dedupingMapper[item] = item
53
+ rescue => exception
54
+ failList << "#{item} exception : #{exception}"
55
+ ensure
56
+
57
+ end
58
+
48
59
  end
49
60
  }
50
61
 
51
62
  Pod::UserInterface.puts "合并后的framework的路径为:#{binary_path_merged}".yellow
63
+ Pod::UserInterface.puts "失败的名单为:#{failList}".yellow
52
64
  end
53
65
 
54
66
  def lockfile
@@ -66,7 +78,7 @@ module Luna
66
78
  end
67
79
 
68
80
  def findFramework(moduleName, binary_path)
69
- pathArr = Dir.glob("#{binary_path}/**/#{moduleName}.framework")
81
+ pathArr = Dir.glob("#{binary_path}/**/#{moduleName.sub('-', '_')}.framework")
70
82
  if pathArr != nil
71
83
  return pathArr.first
72
84
  else
@@ -90,8 +90,7 @@ module Luna
90
90
  end
91
91
 
92
92
  def lockfile
93
- @lockfile ||= begin
94
- Pod::Lockfile.from_file(podFilePath) if podFilePath.exist?
93
+ @lockfile ||= Pod::Lockfile.from_file(podFilePath) if podFilePath.exist?
95
94
  end
96
95
 
97
96
  def use_framework_list
@@ -108,18 +107,6 @@ module Luna
108
107
  end
109
108
  return list
110
109
  end
111
-
112
-
113
-
114
-
115
-
116
- end
117
-
118
- # def pushInRepo(name, version)
119
-
120
-
121
- # end
122
-
123
110
  end
124
111
  end
125
112
  end
@@ -14,6 +14,7 @@ module Luna
14
14
  Luna::Binary::Common.instance.deleteDirectory("#{rootPath}")
15
15
  system "mkdir -p #{rootPath};"
16
16
  failList = []
17
+ successList = []
17
18
  dependenciesMapper = lockfile.dependencies.map { |item| [item.name, item]}.to_h
18
19
  spec_repo_binary.each { |k,v|
19
20
  if request_result_hash[k] == nil || request_result_hash[k].include?(v) == false
@@ -34,7 +35,16 @@ module Luna
34
35
  tag = lockItem.external_source['tag'.parameterize.underscore.to_sym]
35
36
  path = lockItem.external_source['path'.parameterize.underscore.to_sym]
36
37
  p "#{moduleName} git: #{gitURL} tag: #{tag} path: #{path}"
37
- if gitURL && tag && !moduleName["/"]
38
+ if path
39
+ pathArr = Dir.glob("#{Dir.pwd}/#{path}/**/#{moduleName}.podspec")
40
+ if pathArr
41
+ uploader = Luna::Binary::Uploader::SingleUploader.new(moduleName, "", "", binary_path)
42
+ uploader.specification=Pod::Specification.from_file(pathArr.first)
43
+ uploader.specificationWork
44
+ localPathMapper[moduleName] = pathArr.first
45
+ end
46
+
47
+ elsif gitURL && tag && !moduleName["/"]
38
48
  uploader = Luna::Binary::Uploader::SingleUploader.new(moduleName, gitURL, tag, binary_path)
39
49
  uploader.specificationWork
40
50
  successList << uploader
@@ -1,7 +1,7 @@
1
1
  module Luna
2
2
  module Binary
3
3
  module Uploader
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.8"
5
5
  end
6
6
  end
7
7
  end
@@ -19,11 +19,10 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  # Specify which files should be added to the gem when it is released.
21
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- end
25
- # spec.files = `git ls-files`.split("
26
- # ")
22
+ # spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ # `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
+ # end
25
+ spec.files = `git ls-files`.split("\n")
27
26
 
28
27
  spec.bindir = "bin"
29
28
  spec.executables << 'lbu'
@@ -35,5 +34,5 @@ Gem::Specification.new do |spec|
35
34
  spec.add_dependency 'cocoapods-imy-bin','0.3.1.3'
36
35
  spec.add_dependency "cocoapods-generate",'~>2.0.1'
37
36
  spec.add_runtime_dependency('gli','2.19.0')
38
- spec.require_paths = ["lib"]
37
+ spec.require_paths = "lib"
39
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luna-binary-uploader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - 车德超
@@ -133,7 +133,6 @@ files:
133
133
  - ".gitignore"
134
134
  - CODE_OF_CONDUCT.md
135
135
  - Gemfile
136
- - Gemfile.lock
137
136
  - LICENSE.txt
138
137
  - README.md
139
138
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,174 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- luna-binary-uploader (0.1.22)
5
- cocoapods
6
- cocoapods-generate (~> 2.0.1)
7
- cocoapods-imy-bin (= 0.3.1.3)
8
- gli (= 2.19.0)
9
- parallel
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- CFPropertyList (3.0.4)
15
- rexml
16
- activesupport (6.1.4.1)
17
- concurrent-ruby (~> 1.0, >= 1.0.2)
18
- i18n (>= 1.6, < 2)
19
- minitest (>= 5.1)
20
- tzinfo (~> 2.0)
21
- zeitwerk (~> 2.3)
22
- addressable (2.8.0)
23
- public_suffix (>= 2.0.2, < 5.0)
24
- algoliasearch (1.27.5)
25
- httpclient (~> 2.8, >= 2.8.3)
26
- json (>= 1.5.1)
27
- aruba (2.0.0)
28
- bundler (>= 1.17, < 3.0)
29
- childprocess (>= 2.0, < 5.0)
30
- contracts (>= 0.16.0, < 0.18.0)
31
- cucumber (>= 4.0, < 8.0)
32
- rspec-expectations (~> 3.4)
33
- thor (~> 1.0)
34
- atomos (0.1.3)
35
- builder (3.2.4)
36
- childprocess (4.1.0)
37
- claide (1.0.3)
38
- cocoapods (1.11.2)
39
- addressable (~> 2.8)
40
- claide (>= 1.0.2, < 2.0)
41
- cocoapods-core (= 1.11.2)
42
- cocoapods-deintegrate (>= 1.0.3, < 2.0)
43
- cocoapods-downloader (>= 1.4.0, < 2.0)
44
- cocoapods-plugins (>= 1.0.0, < 2.0)
45
- cocoapods-search (>= 1.0.0, < 2.0)
46
- cocoapods-trunk (>= 1.4.0, < 2.0)
47
- cocoapods-try (>= 1.1.0, < 2.0)
48
- colored2 (~> 3.1)
49
- escape (~> 0.0.4)
50
- fourflusher (>= 2.3.0, < 3.0)
51
- gh_inspector (~> 1.0)
52
- molinillo (~> 0.8.0)
53
- nap (~> 1.0)
54
- ruby-macho (>= 1.0, < 3.0)
55
- xcodeproj (>= 1.21.0, < 2.0)
56
- cocoapods-core (1.11.2)
57
- activesupport (>= 5.0, < 7)
58
- addressable (~> 2.8)
59
- algoliasearch (~> 1.0)
60
- concurrent-ruby (~> 1.1)
61
- fuzzy_match (~> 2.0.4)
62
- nap (~> 1.0)
63
- netrc (~> 0.11)
64
- public_suffix (~> 4.0)
65
- typhoeus (~> 1.0)
66
- cocoapods-deintegrate (1.0.5)
67
- cocoapods-disable-podfile-validations (0.1.1)
68
- cocoapods-downloader (1.5.1)
69
- cocoapods-generate (2.0.1)
70
- cocoapods-disable-podfile-validations (~> 0.1.1)
71
- cocoapods-imy-bin (0.3.1.3)
72
- cocoapods
73
- cocoapods-generate (~> 2.0.0)
74
- parallel
75
- cocoapods-plugins (1.0.0)
76
- nap
77
- cocoapods-search (1.0.1)
78
- cocoapods-trunk (1.6.0)
79
- nap (>= 0.8, < 2.0)
80
- netrc (~> 0.11)
81
- cocoapods-try (1.2.0)
82
- colored2 (3.1.2)
83
- concurrent-ruby (1.1.9)
84
- contracts (0.16.1)
85
- cucumber (7.0.0)
86
- builder (~> 3.2, >= 3.2.4)
87
- cucumber-core (~> 10.0, >= 10.0.1)
88
- cucumber-create-meta (~> 6.0, >= 6.0.1)
89
- cucumber-cucumber-expressions (~> 12.1, >= 12.1.1)
90
- cucumber-gherkin (~> 20.0, >= 20.0.1)
91
- cucumber-html-formatter (~> 16.0, >= 16.0.1)
92
- cucumber-messages (~> 17.0, >= 17.0.1)
93
- cucumber-wire (~> 6.0, >= 6.0.1)
94
- diff-lcs (~> 1.4, >= 1.4.4)
95
- mime-types (~> 3.3, >= 3.3.1)
96
- multi_test (~> 0.1, >= 0.1.2)
97
- sys-uname (~> 1.2, >= 1.2.2)
98
- cucumber-core (10.0.1)
99
- cucumber-gherkin (~> 20.0, >= 20.0.1)
100
- cucumber-messages (~> 17.0, >= 17.0.1)
101
- cucumber-tag-expressions (~> 3.0, >= 3.0.1)
102
- cucumber-create-meta (6.0.1)
103
- cucumber-messages (~> 17.0, >= 17.0.1)
104
- sys-uname (~> 1.2, >= 1.2.2)
105
- cucumber-cucumber-expressions (12.1.3)
106
- cucumber-gherkin (20.0.1)
107
- cucumber-messages (~> 17.0, >= 17.0.1)
108
- cucumber-html-formatter (16.0.1)
109
- cucumber-messages (~> 17.0, >= 17.0.1)
110
- cucumber-messages (17.1.1)
111
- cucumber-tag-expressions (3.0.1)
112
- cucumber-wire (6.1.1)
113
- cucumber-core (~> 10.0, >= 10.0.1)
114
- cucumber-cucumber-expressions (~> 12.1, >= 12.1.2)
115
- cucumber-messages (~> 17.0, >= 17.0.1)
116
- diff-lcs (1.4.4)
117
- escape (0.0.4)
118
- ethon (0.14.0)
119
- ffi (>= 1.15.0)
120
- ffi (1.15.4)
121
- fourflusher (2.3.1)
122
- fuzzy_match (2.0.4)
123
- gh_inspector (1.1.3)
124
- gli (2.19.0)
125
- httpclient (2.8.3)
126
- i18n (1.8.10)
127
- concurrent-ruby (~> 1.0)
128
- json (2.5.1)
129
- mime-types (3.3.1)
130
- mime-types-data (~> 3.2015)
131
- mime-types-data (3.2021.0901)
132
- minitest (5.14.4)
133
- molinillo (0.8.0)
134
- multi_test (0.1.2)
135
- nanaimo (0.3.0)
136
- nap (1.1.0)
137
- netrc (0.11.0)
138
- parallel (1.21.0)
139
- public_suffix (4.0.6)
140
- rake (12.3.3)
141
- rdoc (6.3.2)
142
- rexml (3.2.5)
143
- rspec-expectations (3.10.1)
144
- diff-lcs (>= 1.2.0, < 2.0)
145
- rspec-support (~> 3.10.0)
146
- rspec-support (3.10.2)
147
- ruby-macho (2.5.1)
148
- sys-uname (1.2.2)
149
- ffi (~> 1.1)
150
- thor (1.1.0)
151
- typhoeus (1.4.0)
152
- ethon (>= 0.9.0)
153
- tzinfo (2.0.4)
154
- concurrent-ruby (~> 1.0)
155
- xcodeproj (1.21.0)
156
- CFPropertyList (>= 2.3.3, < 4.0)
157
- atomos (~> 0.1.3)
158
- claide (>= 1.0.2, < 2.0)
159
- colored2 (~> 3.1)
160
- nanaimo (~> 0.3.0)
161
- rexml (~> 3.2.4)
162
- zeitwerk (2.4.2)
163
-
164
- PLATFORMS
165
- ruby
166
-
167
- DEPENDENCIES
168
- aruba
169
- luna-binary-uploader!
170
- rake (~> 12.0)
171
- rdoc
172
-
173
- BUNDLED WITH
174
- 2.1.4