cocoapods-bb-PodAssistant 0.1.8 → 0.1.9.2

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: 95c6d433814654744108bb1b8d1051ac00b37dff52e8d0c73fbb03bbb7d67d52
4
- data.tar.gz: d804e3f603a8ed9e8612fb4edf6c5ed19ae543d2328dfaf92bf335664f0da421
3
+ metadata.gz: 32ae7a754051168b335839ef24e3241e10ae8c1ce9772b65ae1add131a591744
4
+ data.tar.gz: fabd94ec00e74cd9b40dcbbf176baca21d88e54d640ddaf82b3c085520649807
5
5
  SHA512:
6
- metadata.gz: 75858bf2163338409042d5e4be54e38d6c08a8ea93df77341870af4a0425bd1dc9a1b8a905376775b958318b554b537d4a0b9ad0f822f92d67ed53b82d0ccf04
7
- data.tar.gz: 8216d2c5d5df66e7ff8526ae9394ba0a11c1391ac3f6c835e997458417aacab84d3372b346f9caaa565f087679448d094719c5b80ad48c29aeb04de1ed4691d6
6
+ metadata.gz: 3945a8e16d272daa2b8a13e6fa412127bd055b1f85f97b6dbee51c56df0465dce8a8403d913139bb669239e1c7926341e6f8e5a7a60f619b49f614983cb1f387
7
+ data.tar.gz: 1d27d7075c0fae3e206182a07b2c061f2d1f67907083ff938084ed34d4bc4d872d19d6a55a1e09abfaaf3879b99ec47ec3fd2c101ff10e1eb617c9598ff23509
data/README.md CHANGED
@@ -15,14 +15,26 @@ pod stable --help
15
15
 
16
16
  * 初始化本地lock文件
17
17
  ```
18
- pod stable --init
18
+ pod stable init
19
19
  ```
20
20
 
21
21
  * 同步lock文件
22
22
  ```
23
- pod stable
23
+ pod stable sync
24
24
  ```
25
25
 
26
+ * pod install
27
+ ```
28
+ pod stable install
29
+ ```
30
+
31
+ * pod update
32
+ ```
33
+ pod stable update [组件名称] --sync
34
+ ```
35
+ > `--sync`选项可选,会自动同步远端标签,不带默认不更新远端版本
36
+ 更多用法,参照:pod stable update --help
37
+
26
38
  ## linkline使用
27
39
  支持动态/静态库
28
40
 
@@ -13,12 +13,16 @@ class BabybusInstallEnv
13
13
  rootPath = getProjectRootPath
14
14
  bundleIdentifier = getProjectBundleIdentifier
15
15
  path = File.join(rootPath, "Configs", "#{bundleIdentifier}/BBPlistMacro.h")
16
+ puts "查找PlistMacro文件1:#{path}"
16
17
  if !File.file?(path)
17
18
  path = File.join(rootPath, "Configs/PlistMacro", "#{bundleIdentifier}/BBPlistMacro.h")
19
+ puts "查找PlistMacro文件2:#{path}"
18
20
  if !File.file?(path)
19
21
  path = File.join(rootPath, "Configs/PlistMacro", "#{bundleIdentifier}_BBPlistMacro.h")
22
+ puts "查找PlistMacro文件3:#{path}"
20
23
  if !File.file?(path)
21
24
  path = File.join(rootPath, "Configs/PlistMacro", "BBPlistMacro.h")
25
+ puts "查找PlistMacro文件4:#{path}"
22
26
  end
23
27
  end
24
28
  end
@@ -51,12 +55,16 @@ class BabybusInstallEnv
51
55
  rootPath = getProjectRootPath
52
56
  bundleIdentifier = getProjectBundleIdentifier
53
57
  path = File.join(rootPath, "Configs", "#{bundleIdentifier}/UnityFramework.framework")
58
+ puts "查找UnityFramework产物1:#{path}"
54
59
  if !File.file?(path)
55
60
  path = File.join(rootPath, "Configs/UnityFramework", "#{bundleIdentifier}/UnityFramework.framework")
61
+ puts "查找UnityFramework产物2:#{path}"
56
62
  if !File.directory?(path)
57
63
  path = File.join(rootPath, "Configs/UnityFramework", "#{bundleIdentifier}_UnityFramework.framework")
64
+ puts "查找UnityFramework产物3:#{path}"
58
65
  if !File.directory?(path)
59
66
  path = File.join(rootPath, "Configs/UnityFramework", "UnityFramework.framework")
67
+ puts "查找UnityFramework产物4:#{path}"
60
68
  end
61
69
  end
62
70
  end
@@ -78,7 +86,7 @@ class BabybusInstallEnv
78
86
  system "rm -rf #{replaceFilePath}; cp -af #{path} #{replaceFilePath}"
79
87
  puts "替换UnityFramework文件成功".yellow
80
88
  else
81
- puts "找不到UnityFramework配置文件,替换失败path:#{path}".red
89
+ puts "找不到UnityFramework产物文件,替换失败".red
82
90
  end
83
91
  end
84
92
  # 2D母包替换
@@ -24,12 +24,20 @@ def forceAddDebugTool
24
24
  forceAddDebugTool = BB::PodUtils.getValueFromInfoPlist("ForceAddDebugTool")
25
25
  return forceAddDebugTool === "true"
26
26
  end
27
- # 是否3d产品
27
+ # 是否3d产品(968开始切新版unity2022引擎)
28
28
  def isUnity3DApp
29
- isU3dValue = BB::PodUtils.getValueFromInfoPlist("Unity3D")
30
- return isU3dValue === "true"
29
+ if isUnityApp
30
+ # 1=>Cocos2D; 2=>Unity2D; 3=>普通 Unity3D; 4=>新版 Unity 3D; 5=>2D融合 打包机负责写入
31
+ value = BB::PodUtils.getValueFromInfoPlist("packer_engines_id")
32
+ return value === "4"
33
+ end
34
+ return false
35
+ end
36
+ # 是否unity产品,包含2d/3d
37
+ def isUnityApp
38
+ value = BB::PodUtils.getValueFromInfoPlist("Unity3D")
39
+ return value === "true"
31
40
  end
32
-
33
41
  # 是否需要第三方支付sdk
34
42
  def isThirdPaySdk
35
43
  value = BB::PodUtils.getValueFromInfoPlist("Third_Purcharse")
@@ -7,36 +7,46 @@ require 'cocoapods-bb-PodAssistant/babybus/business/babybus_install_environment'
7
7
  require 'cocoapods-bb-PodAssistant/helpers/pod_utils'
8
8
 
9
9
  class PodPostInstaller
10
- def initialize(lib, deployment_target="11.0", unity_deployment_target="11.0")
11
- @lib = lib
12
- @deployment_target = deployment_target
13
- @unity_deployment_target = unity_deployment_target
10
+ def initialize(lib, deployment_target=nil)
11
+ @lib = lib
12
+ puts "====isUnity3DApp:#{isUnity3DApp}".red
13
+ if deployment_target.nil?
14
+ @deployment_target = isUnity3DApp ? "12.0" : "11.0" # Unity2022引擎最低支持iOS12.0
15
+ else
16
+ @deployment_target = deployment_target
17
+ end
14
18
  end
15
19
  def run
16
20
  env = BabybusInstallEnv.new()
17
21
  is_xcode15 = BB::PodUtils.compare_xcode_15_version
18
22
  # 是否Untify项目
19
- isUnityProject = isUnity3DApp
20
-
23
+ isUnityProject = isUnityApp
21
24
  # Untify项目需要移除cocos项目res/src目录
22
25
  if (isUnityProject) then
23
26
  env.createCocosResource
24
27
  end
25
- ios_deployment_target = isUnityProject ? @unity_deployment_target : @deployment_target
26
- puts "当前工程最低支持iOS系统===>#{ios_deployment_target.to_s.send(:red)}".green
28
+ ios_deployment_target = @deployment_target
29
+ puts "当前工程最低支持iOS系统 ===> #{ios_deployment_target.to_s.send(:red)}".green
27
30
  @lib.aggregate_targets.first.user_project.save # 解决Xcode13 pod update操作出现failed to save pods.xcodeproj问题 by hm 21/11/8
28
31
  project = Xcodeproj::Project.open(BB::PodUtils.getXcodeprojPath)
29
32
  project.targets.each do |target|
30
33
  target.build_configurations.each do |config|
31
- if config.name.include? 'Debug' # 只有debug环境才进行替换操作,其它环境交由打包机处理
32
- puts "[#{target.name}/#{config.name}] 环境替换PlistMacro文件操作!!!开发者debug环境自行打开👇替换操作,禁止提交版本控制,谢谢🙏"
33
- env.copyPlistMacro # 开发自行打开不能提交到版本控制,避免test包出现配置不正确情况 by hm 22/5/17
34
- end
35
- # iOS17适配添加ld64
36
- if (is_xcode15 == true) then
37
- config.build_settings['OTHER_LDFLAGS'] = "$(inherited) -lxml2 -lz -ObjC -lstdc++ -ld64"
38
- else
39
- config.build_settings['OTHER_LDFLAGS'] = "$(inherited) -lxml2 -lz -ObjC -lstdc++"
34
+ if !target.name.include? '_test' # 过滤target test 工程
35
+ if config.name.include? 'Debug' # 只有debug环境才进行替换操作,其它环境交由打包机处理
36
+ puts "[#{target.name}/#{config.name}] 开发者debug环境环境替换[PlistMacro/cocos/unity]文件操作,其它环境交由打包机处理".red
37
+ env.copyPlistMacro # 开发自行打开不能提交到版本控制,避免test包出现配置不正确情况 by hm 22/5/17
38
+ if (isUnityProject) then
39
+ env.copyUnityFramework
40
+ else
41
+ env.copyCocosPackage
42
+ end
43
+ end
44
+ # iOS17适配添加ld64
45
+ if (is_xcode15 == true) then
46
+ config.build_settings['OTHER_LDFLAGS'] = "$(inherited) -lxml2 -lz -ObjC -lstdc++ -ld64"
47
+ else
48
+ config.build_settings['OTHER_LDFLAGS'] = "$(inherited) -lxml2 -lz -ObjC -lstdc++"
49
+ end
40
50
  end
41
51
  end
42
52
  end
@@ -8,7 +8,9 @@ module BB
8
8
  stable_source = StableSource.stable_default_source
9
9
  end
10
10
  @stable_source = stable_source
11
- @bundleId = BB::PodUtils.getProjectBundleIdentifier
11
+ if File.exist?(File.join(Pathname.pwd, "Podfile"))
12
+ @bundleId = BB::PodUtils.getProjectBundleIdentifier
13
+ end
12
14
  if @bundleId.nil?
13
15
  @bundleId = 'stable'
14
16
  end
@@ -11,7 +11,7 @@ module BB
11
11
  env = BB::StableEnv.new()
12
12
  # puts "SourceManager env:#{env}".red
13
13
  @businessSpecName = env.business_stable
14
- @stableMgr = BB::StableManager.new()
14
+ @stableMgr = BB::StableManager.new(env)
15
15
  end
16
16
 
17
17
  # 公共源路径(远端)
@@ -1,3 +1,3 @@
1
1
  module CocoapodsBbPodassistant
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9.2"
3
3
  end
@@ -73,17 +73,24 @@ module BB
73
73
  # 获取info配置文件路径
74
74
  def self.getInfoPlistPath
75
75
  path = File.join(getProjectPath, "bbframework/Resources/Info.plist")
76
- # puts "InfoPlist:#{path}"
77
- raise Informative, "#{path} File no exist, please check" unless File.exist?(path)
78
- return path
76
+ if File.exist?(path)
77
+ return path
78
+ end
79
+ puts "无法找打工程Info.plist配置文件,工程目录:#{getProjectPath}".yellow
80
+ return nil
81
+ # raise Informative, "#{path} File no exist, please check" unless File.exist?(path)
82
+ # return path
79
83
  end
80
84
  # 获取info配置key对应的值
81
85
  def self.getValueFromInfoPlist(key)
82
86
  plistPath = getInfoPlistPath
83
- value = `/usr/libexec/PlistBuddy -c "Print #{key}" #{plistPath}`
84
- value = value.rstrip()
85
- puts "#{key} => #{value}"
86
- return value
87
+ if !plistPath.nil?
88
+ value = `/usr/libexec/PlistBuddy -c "Print #{key}" #{plistPath}`
89
+ value = value.rstrip()
90
+ puts "#{key} => #{value}"
91
+ return value
92
+ end
93
+ return ""
87
94
  end
88
95
  # 获取Xcode版本
89
96
  def self.xcode_version
@@ -49,7 +49,7 @@ module BB
49
49
  if verify_branch_exists
50
50
  if stable_tag || stable_branch
51
51
  if stable_branch
52
- system "cd #{cachePath}; git checkout #{stable_branch}; git reset --hard origin/#{stable_branch}"
52
+ system "cd #{cachePath}; git checkout #{stable_branch}; git reset --hard origin/#{stable_branch}; git pull --all"
53
53
  end
54
54
  if stable_tag
55
55
  system "cd #{cachePath}; git checkout #{stable_tag};"
@@ -57,7 +57,7 @@ module BB
57
57
  else
58
58
  result =`git symbolic-ref refs/remotes/origin/HEAD`
59
59
  protechBranch = result.split("/").last.strip || default_branch
60
- system "cd #{cachePath}; git checkout #{protechBranch}; git reset --hard origin/#{protechBranch}"
60
+ system "cd #{cachePath}; git checkout #{protechBranch}; git reset --hard origin/#{protechBranch}; git pull --all"
61
61
  end
62
62
  else
63
63
  puts "❌ stable配置无效分支信息source:#{@stable_source} branch:#{stable_branch}".red
@@ -1,9 +1,11 @@
1
1
  require 'cocoapods-bb-PodAssistant/config/stable_specs'
2
2
  require 'cocoapods-bb-PodAssistant/helpers'
3
+ require 'cocoapods-bb-PodAssistant/helpers/stable_env_helper'
3
4
 
4
5
  module BB
5
6
  class StableManager
6
- def initialize()
7
+ def initialize(env = nil)
8
+ @env = env
7
9
  end
8
10
 
9
11
  # podfile 更新配置文件使用(通用)
@@ -11,8 +13,16 @@ module BB
11
13
  update_stable_lock(public_stable_yaml, pod_targets)
12
14
  end
13
15
  # podfile 更新配置文件使用(业务线)
14
- def update_business_stable_lock(businessSpecName, pod_targets)
15
- update_stable_lock(business_stable_yaml(businessSpecName), pod_targets)
16
+ def update_business_stable_lock(pod_targets)
17
+ if @env.nil?
18
+ @env = BB::StableEnv.new()
19
+ end
20
+ businessSpecName = @env.business_stable
21
+ if !businessSpecName.nil?
22
+ update_stable_lock(business_stable_yaml(businessSpecName), pod_targets)
23
+ else
24
+ puts "没有配置业务线公共源,请确认!!!".yellow
25
+ end
16
26
  end
17
27
  # podfile 更新配置文件使用(项目)
18
28
  def update_product_stable_lock(pod_targets)
@@ -65,21 +75,24 @@ module BB
65
75
  stableMgr.update_common_stable_lock(pod_targets)
66
76
  end
67
77
  # podfile 更新配置文件使用(业务线)
68
- def self.updateBusinessStableLock(businessSpecName, pod_targets)
78
+ def self.updateBusinessStableLock(pod_targets)
69
79
  stableMgr = StableManager.new()
70
- stableMgr.update_stable_lock(businessSpecName, pod_targets)
80
+ stableMgr.update_business_stable_lock(pod_targets)
71
81
  end
72
82
  # 更新产品lock
73
83
  def self.updateProductStableLock(pod_targets)
74
84
  stableMgr = StableManager.new()
75
85
  stableMgr.update_product_stable_lock(pod_targets)
76
86
  end
87
+ # pod助手ruby文件路径
88
+ def self.pod_assistant_path()
89
+ stableMgr = StableManager.new()
90
+ return File.join(stableMgr.cachePath, "PodAssistant/PodAssistant.rb") #名称固定
91
+ end
92
+ # pod助手机器人ruby文件路径
93
+ def self.pod_assistant_robot_path()
94
+ stableMgr = StableManager.new()
95
+ return File.join(stableMgr.cachePath, "PodAssistant/robot.rb") #名称固定
96
+ end
77
97
  end
78
-
79
- # class << self
80
- # def updateCommonStableLock(pod_targets)
81
- # stableMgr = StableManager.new()
82
- # stableMgr.update_common_stable_lock(pod_targets)
83
- # end
84
- # end
85
98
  end
@@ -82,8 +82,17 @@ module Pod
82
82
  BB::StableManager.updateCommonStableLock(installer.pod_targets)
83
83
  end
84
84
  # 更新业务公共lock
85
- def update_business_stable_lock(businessSpecName, pod_targets)
86
- BB::StableManager.updateBusinessStableLock(businessSpecName, pod_targets)
85
+ def update_business_stable_lock(installer)
86
+ BB::StableManager.updateBusinessStableLock(installer.pod_targets)
87
+ end
88
+
89
+ # pod助手ruby文件路径
90
+ def pod_assistant_path()
91
+ return BB::StableManager.pod_assistant_path
92
+ end
93
+ # pod助手机器人ruby文件路径
94
+ def pod_assistant_robot_path()
95
+ return BB::StableManager.pod_assistant_robot_path
87
96
  end
88
97
 
89
98
  # 从列表中搜索得到对应配置
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-bb-PodAssistant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - humin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-16 00:00:00.000000000 Z
11
+ date: 2023-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods-core