Class: Tuya::SpecRepo

Inherits:
Object
  • Object
show all
Defined in:
lib/tycli/spec_repo.rb

Class Method Summary collapse

Class Method Details

.push(version, is_commit_all, podspec) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/tycli/spec_repo.rb', line 3

def self.push(version, is_commit_all, podspec)

	require 'tycli/repo/spec'
	require 'tycli/git'
	require 'colored'

	if is_commit_all
		Tuya::TuyaGit.commit_all('feat: update all by tuya-cli repo push')
	end

	podspecs = Tuya::PodSpec.update(podspec, version)
	podspecs.each do |podspec_file|
		Tuya::TuyaGit.commit_file(podspec_file, "feat: update version #{version} by tuya-cli repo push")
	end

	require 'tycli/executable'

	puts "\nPush podspec(git)...".yellow
	git_push_commands = [
		%W(push)
	]
	Tuya::EXE.multi_exe('git', git_push_commands, true)

	puts "\nAdd tag: #{version}...".yellow
	git_tag_commands = [
		%W(tag -a #{version} -m 'add\ tag:\ #{version}\ by\ tuya-cli\ repo\ push')
	]
	Tuya::EXE.multi_exe('git', git_tag_commands, true)

	puts "\nPush tag: #{version}...".yellow
	git_tag_push_commands = [
		%W(push origin --tags)
	]
	Tuya::EXE.multi_exe('git', git_tag_push_commands, true)

	require 'tycli/system'

	system = Tuya::System.instance

	group = system.group

	podspecs.each do |podspec_file|

		puts "\nPush #{podspec_file}...".yellow

		pod_push =  "pod repo push #{group.spec} #{podspec_file} --sources='#{group.url},https://github.com/CocoaPods/Specs.git,https://github.com/TuyaInc/TYPublicSpecs.git' --use-libraries --allow-warnings"

		pod_push_result = `#{pod_push}`

		pod_push_result.each_line do |s|
			if s.include?("fatal") || s.include?("Couldn't find")
				puts "!!!#{s}".red
			end
		end
	end
end