tworingtools 3.0.2 → 4.2.0

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: c09250511b87bb9ed4e1f1da967f5c5712b45c343e7213451dcab4fd1c7586ab
4
- data.tar.gz: ac6720085431eb198ac48b69b8823b20aa616346abf79f2446f81b4b3a24339b
3
+ metadata.gz: c8bc4d66ed425f70865ff455a17d5f0cc03af48003f7e994d7cad3d7a4708a4b
4
+ data.tar.gz: 2f030b6eb9d7fc50105fb91af19ca1d6abf226e896d035665497f2b497e223bd
5
5
  SHA512:
6
- metadata.gz: a6eff7ef2d44889e7114bcd90e865fc10ad469771c4fc2a25511f581655f6718a3358fed338e81f86cb5f71e47d403c2996ca633dbc9ed2146c6d4771e757b67
7
- data.tar.gz: 4b24b67f638695591f6fa109e6dae3684e7002bd47bb70692445ff02d85c7a416c5da2a2f50c4d357259f38ea70a07104a3f19e81f5473f318c91502b3944553
6
+ metadata.gz: 55a216baf1583ebab6759bc0a425079841f1f5ad92fa50301623f7997b2a2ef537e3cca6e956f77e5aacaf2809168f4b0e342c3c28478d6f6a5c253a0ffad5cc
7
+ data.tar.gz: 468218eb24849365f2482d50fdafe29eafdafcd7fc45e004f5e2a92719b834e8ec2ea2087bbf5b1a753cbec311914f7aebadcef94d0d43d7b47e9a15ac968ae6
@@ -5,7 +5,8 @@ require 'optparse'
5
5
  require_relative '../lib/git_check'
6
6
  require_relative '../lib/echoexec'
7
7
 
8
- podspec = ARGV[0]
8
+ version_file = ARGV[0]
9
+ podspec = version_file.split('/')[-1].split('.podspec')[0]
9
10
 
10
11
  # failure modes
11
12
  PODSPEC_FAILED_VALIDATION = 65
@@ -14,7 +15,7 @@ options = {}
14
15
  parser = OptionParser.new do |opts|
15
16
  opts.banner = <<~BANNER
16
17
 
17
- Usage: prerelease-podspec [options] <podspec-name>
18
+ Usage: prerelease-podspec [options] <podspec-path>
18
19
 
19
20
  Branch and create/push a release candidate tag, modify the podspec to use that version tag, and try linting it.
20
21
 
@@ -23,9 +24,12 @@ parser = OptionParser.new do |opts|
23
24
  BANNER
24
25
  opts.on('-w', '--allow-warnings', 'Pass \'--allow-warnings\' to \'cocoapods spec lint\'.') do |force| options[:allow_warnings] = true end
25
26
  opts.on('-v', '--verbose', 'Pass \'--verbose\' to \'cocoapods spec lint\'.') do |name| options[:verbose] = true end
26
- opts.on('-n', '--podspec-name-in-tag', 'When forming the tag name for a release candidate, prefix the podspec‘s name to the version string. Helps when you have multiple podspecs in a repository and tag versions for each.') do |podspec_name_in_tag| options[:podspec_name_in_tag] = true end
27
+ opts.on('-s', '--skip-tests', 'Pass \'--skip-tests\' to \'cocoapods spec lint\'.') do |skip_tests| options[:skip_tests] = true end
28
+ opts.on('-p', '--podspec-name-in-tag', 'When forming the tag name for a release candidate, prefix the podspec‘s name to the version string. Helps when you have multiple podspecs in a repository and tag versions for each.') do |podspec_name_in_tag| options[:podspec_name_in_tag] = true end
27
29
  opts.on('-n', '--no-branch', 'Make any changes on the current branch instead of creating a temporary new branch.') do |no_branch| options[:no_branch] = true end
28
30
  opts.on('-cCHANGELOG', '--changelog=CHANGELOG', 'Location of a CHANGELOG document adhering to https://keepachangelog.com/en/1.0.0/ whose version entry should be extracted into an annotated tag for this release candidate.') do |changelog| options[:changelog] = changelog end
31
+ opts.on('-tTAG', '--tag=TAG', 'Override for the name of the git tag to form. If set, --podspec-name-in-tag is ignored.') do |tag| options[:tag] = tag end
32
+ opts.on('-rRC', '--release-candidate=RC', 'Override for the release candidate number, which is otherwise formulated by counting the previous amount of tags with the same version number and incrementing by one.') do |rc| options[:rc] = rc end
29
33
  opts.on('-h', '--help', 'Print this help message.') do
30
34
  puts opts
31
35
  exit
@@ -35,8 +39,6 @@ parser.parse!
35
39
 
36
40
  git_check unless options[:no_commit]
37
41
 
38
- version_file = "#{podspec}.podspec"
39
-
40
42
  current_version = `vrsn --read --file #{version_file}`.strip
41
43
  unless options[:no_branch] then
42
44
  branch = "#{podspec}-#{current_version}-release"
@@ -44,11 +46,18 @@ unless options[:no_branch] then
44
46
  end
45
47
 
46
48
  version_root = "#{current_version}-RC"
47
- release_candidate_number = `git tag --list | grep #{version_root} | wc -l`.strip.to_i + 1
49
+ release_candidate_number = String.new
50
+ if options[:rc] then
51
+ release_candidate_number = options[:rc]
52
+ else
53
+ release_candidate_number = `git tag --list | grep #{version_root} | wc -l`.strip.to_i + 1
54
+ end
48
55
  release_candidate_version = "#{version_root}#{release_candidate_number}"
49
56
 
50
57
  tag_value = String.new
51
- if options[:podspec_name_in_tag] then
58
+ if options[:tag] then
59
+ tag_value = options[:tag]
60
+ elsif options[:podspec_name_in_tag] then
52
61
  tag_value = "#{podspec}-#{release_candidate_version}"
53
62
  else
54
63
  tag_value = "#{release_candidate_version}"
@@ -75,7 +84,10 @@ end
75
84
  if options[:verbose] != nil then
76
85
  spec_lint_flags << '--verbose'
77
86
  end
78
- stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{podspec}.podspec #{spec_lint_flags.join ' '}"
87
+ if options[:skip_tests] != nil then
88
+ spec_lint_flags << '--skip-tests'
89
+ end
90
+ stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{version_file} #{spec_lint_flags.join ' '}"
79
91
 
80
92
  puts "stdout: #{stdout}"
81
93
 
@@ -6,13 +6,14 @@ require_relative '../lib/echoexec'
6
6
  require_relative '../lib/errors'
7
7
  require_relative '../lib/git_check'
8
8
 
9
- podspec = ARGV[0]
9
+ podspec_path = ARGV[0]
10
+ podspec = podspec_path.split('/')[-1].split('.podspec')[0]
10
11
 
11
12
  options = {}
12
13
  parser = OptionParser.new do |opts|
13
14
  opts.banner = <<~BANNER
14
15
 
15
- Usage: release-podspec [options] <podspec-name>
16
+ Usage: release-podspec [options] <podspec-path>
16
17
 
17
18
  Form Git tags and push them to remote, then push the podspec to CocoaPods trunk.
18
19
 
@@ -21,10 +22,11 @@ parser = OptionParser.new do |opts|
21
22
  BANNER
22
23
  opts.on('-w', '--allow-warnings', 'Pass \'--allow-warnings\' to \'cocoapods spec lint\'.') do |force| options[:allow_warnings] = true end
23
24
  opts.on('-s', '--skip-tests', 'Pass \'--skip-tests\' to \'cocoapods spec lint\'.') do |skip_tests| options[:skip_tests] = true end
24
- opts.on('-n', '--podspec-name-in-tag', 'When forming the tag name for a release candidate, prefix the podspec‘s name to the version string. Helps when you have multiple podspecs in a repository and tag versions for each.') do |podspec_name_in_tag| options[:podspec_name_in_tag] = true end
25
+ opts.on('-p', '--podspec-name-in-tag', 'When forming the tag name for a release candidate, prefix the podspec‘s name to the version string. Helps when you have multiple podspecs in a repository and tag versions for each.') do |podspec_name_in_tag| options[:podspec_name_in_tag] = true end
25
26
  opts.on('-v', '--verbose', 'Pass \'--verbose\' to \'cocoapods spec lint\'.') do |name| options[:verbose] = true end
26
27
  opts.on('-rREPO', '--repo=REPO', 'By default, release-podspec pushes the podspec to CocoaPods trunk. By supplying this argument, instead of \`pod trunk push\`, \`pod repo push\` is used instead.') do |repo| options[:repo] = repo end
27
28
  opts.on('-cCHANGELOG_PATH', '--changelog-path=CHANGELOG_PATH', 'By default, release-podspec looks for //CHANGELOG.md. You can specify another location with this option.') do |changelog_path| options[:changelog_path] = changelog_path end
29
+ opts.on('-tTAG', '--tag=TAG', 'Override for the name of the git tag to form. If set, --podspec-name-in-tag is ignored.') do |tag| options[:tag] = tag end
28
30
  opts.on('--e', '--changelog-entry=CHANGELOG_ENTRY', 'The name of the changelog entry, if it differs from the tag name.') do |changelog_entry_name_override| options[:changelog_entry_name_override] = changelog_entry_name_override end
29
31
  opts.on('-h', '--help', 'Print this help message.') do
30
32
  puts opts
@@ -39,16 +41,20 @@ changelog_path = 'CHANGELOG.md'
39
41
  if options[:changelog_path] != nil then
40
42
  changelog_path = options[:changelog_path]
41
43
  end
42
- version = `vrsn --read --file #{podspec}.podspec`.strip
43
- name_prefix = String.new
44
- if options[:podspec_name_in_tag] then
45
- name_prefix = podspec + '-'
44
+ version = `vrsn --read --file #{podspec_path}`.strip
45
+ tag_value = String.new
46
+ if options[:tag] then
47
+ tag_value = options[:tag]
48
+ elsif options[:podspec_name_in_tag] then
49
+ tag_value = podspec + '-' + version
50
+ else
51
+ tag_value = version
46
52
  end
47
53
  changelog_entry_name = String.new
48
54
  if options[:changelog_entry_name_override] != nil then
49
55
  changelog_entry_name = "--name " + options[:changelog_entry_name_override]
50
56
  end
51
- echo_and_exec "rbenv exec bundle exec changetag #{changelog_path} #{name_prefix}#{version} #{changelog_entry_name}"
57
+ echo_and_exec "rbenv exec bundle exec changetag #{changelog_path} #{tag_value} #{changelog_entry_name}"
52
58
  echo_and_exec 'git push --tags'
53
59
 
54
60
  spec_lint_flags = Array.new
@@ -66,7 +72,7 @@ command = String.new
66
72
  if options[:repo] != nil then
67
73
  command = "rbenv exec bundle exec pod repo push #{options[:repo]} #{spec_lint_flags.join ' '}"
68
74
  else
69
- command = "rbenv exec bundle exec pod trunk push #{podspec}.podspec #{spec_lint_flags.join ' '}"
75
+ command = "rbenv exec bundle exec pod trunk push #{podspec_path} #{spec_lint_flags.join ' '}"
70
76
  end
71
77
 
72
78
  puts command
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tworingtools
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew McKnight
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-20 00:00:00.000000000 Z
11
+ date: 2020-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: github_api