tworingtools 3.0.2 → 4.2.0

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: 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