Module: PodUpdater

Defined in:
lib/podUpdater.rb,
lib/podUpdater/version.rb,
lib/podUpdater/pod_push.rb,
lib/podUpdater/git_tag_flow.rb,
lib/podUpdater/modify_podspec.rb

Constant Summary collapse

VERSION =
"0.1.9"

Instance Method Summary collapse

Instance Method Details

#git_tag_flow(path, msg, tag_version) ⇒ Object

提供路径,然后将项目打包上git,标记tag



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/podUpdater/git_tag_flow.rb', line 5

def git_tag_flow(path,msg,tag_version)

  cmd = []

  cmd << %(cd #{path})
  cmd << 'git add .'
  cmd << %(git commit -m  "#{msg}")
  cmd << 'git push'
  cmd << %(git tag -a #{tag_version} -m "#{msg}")
  cmd << 'git push --tags'

  # TODO: 尝试在每次即将执行该命令时,打印出这次的命令
  IO.popen(cmd.join(" && ")) do |io|
    io.each do |line|
      puts line
    end
    io.close
  end

end

#modifyPodspec(path: "", version: "0.0.0") ⇒ Object

修改podspec的s.verison的值



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
# File 'lib/podUpdater/modify_podspec.rb', line 5

def modifyPodspec(path:"",version:"0.0.0")

  if version == "0.0.0"
    puts "请指定版本好的值,如 modifyPodspec version:#{version}"
    return
  end
  unless version =~ /^\d{1,}.\d.\d$|^\d{1,}.\d$|^\d{1,}$/
    puts "version:#{version}的格式不对"
    return

#pushPodToSevice(path, version) ⇒ Object

给定pod库项目的路径,以及新版pod库的版本,将自己的pod提交到git,然后打上tag,再push trunk到pod服务器去



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
# File 'lib/podUpdater/pod_push.rb', line 8

def pushPodToSevice(path,version)
  # FOR_DEBUG:
  # path = "/Users/qwkj/Documents/WZ_GitHub/WZ_Framework"
  # END

  podFilePath = pathWithPodspecSuffix(path)

  unless podFilePath 
    puts "未找到相应的podspec文件"
    return
  end

  msg = "for pod version:#{version}"

  modifyPodspec(path:podFilePath,version:version)

  git_tag_flow(path,msg,version)

  cmd = []
  cmd << %(pod trunk push #{podFilePath} --allow-warnings)

  IO.popen(cmd.join('')) do |io|
    io.each do |line|
      puts line
    end
  end
  
end

#runObject



6
7
8
9
10
# File 'lib/podUpdater.rb', line 6

def run

 path = Dir.pwd;
 pushPodToSevice(path,'1.0.3')  
end