tworingtools 3.1.0 → 4.3.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: d9b1c737a275e5641827ae194527d442e3b66193aa207f04986fde49baf4347b
4
- data.tar.gz: 9fa221d0138418902b99203f7ad06929c8b87e7d2b270fcce6a09996659c7c47
3
+ metadata.gz: d572bbbaf9d0cfe054678d11b46de1e9a15f01fad9758178f214b76e56199d9f
4
+ data.tar.gz: be7c5b255b83ee2db03e556eb44d2f163badea2fbaa4b0d82d05b16a66630e8d
5
5
  SHA512:
6
- metadata.gz: 52ca1d901b65ddac44e48ca3232104f7473be210bce899d919432e6debc6d9b23c77e2e0406dfc3d8ac8180f3eed7dca6f5ca45d5371cf8d723b62d606eaac5e
7
- data.tar.gz: 5fc053973986ad6b0ea4139be05dc8f062e328604ddcc59a62f4518bdf2b6c6335120263c864b1b0b3c9c9f6bc31974a6dbe56b5948f44ad761d734263659774
6
+ metadata.gz: 97d3914b21dcccaf2f2e1f261a3c1a217fdc6a30263a32b8ce905d1e9d5a0e2fe78764abd289309c87c9f995ed870650c97e1334a5c23d3965541ddac4f627ef
7
+ data.tar.gz: c0fcd5ddb92eda302ff0a77fe394e0d85144c689765c664cc4eea8baa18b801885f64017ad5e7bcb218540559c51ebcec7a59ca8e31c4fd32fa4a04c56bd02dd
@@ -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
 
@@ -24,9 +25,11 @@ parser = OptionParser.new do |opts|
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
27
  opts.on('-s', '--skip-tests', 'Pass \'--skip-tests\' to \'cocoapods spec lint\'.') do |skip_tests| options[:skip_tests] = true end
27
- 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
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
28
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
29
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
30
33
  opts.on('-h', '--help', 'Print this help message.') do
31
34
  puts opts
32
35
  exit
@@ -36,8 +39,6 @@ parser.parse!
36
39
 
37
40
  git_check unless options[:no_commit]
38
41
 
39
- version_file = "#{podspec}.podspec"
40
-
41
42
  current_version = `vrsn --read --file #{version_file}`.strip
42
43
  unless options[:no_branch] then
43
44
  branch = "#{podspec}-#{current_version}-release"
@@ -45,11 +46,18 @@ unless options[:no_branch] then
45
46
  end
46
47
 
47
48
  version_root = "#{current_version}-RC"
48
- 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
49
55
  release_candidate_version = "#{version_root}#{release_candidate_number}"
50
56
 
51
57
  tag_value = String.new
52
- 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
53
61
  tag_value = "#{podspec}-#{release_candidate_version}"
54
62
  else
55
63
  tag_value = "#{release_candidate_version}"
@@ -79,7 +87,7 @@ end
79
87
  if options[:skip_tests] != nil then
80
88
  spec_lint_flags << '--skip-tests'
81
89
  end
82
- stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{podspec}.podspec #{spec_lint_flags.join ' '}"
90
+ stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{version_file} #{spec_lint_flags.join ' '}"
83
91
 
84
92
  puts "stdout: #{stdout}"
85
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,12 @@ 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
26
+ opts.on('-n', '--no-changelog', 'Skip operations that would normally update a CHANGELOG.md.') do |skip_changelog| options[:skip_changelog] = true end
25
27
  opts.on('-v', '--verbose', 'Pass \'--verbose\' to \'cocoapods spec lint\'.') do |name| options[:verbose] = true end
26
28
  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
29
  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
30
+ 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
31
  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
32
  opts.on('-h', '--help', 'Print this help message.') do
30
33
  puts opts
@@ -39,16 +42,24 @@ changelog_path = 'CHANGELOG.md'
39
42
  if options[:changelog_path] != nil then
40
43
  changelog_path = options[:changelog_path]
41
44
  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 + '-'
45
+ version = `vrsn --read --file #{podspec_path}`.strip
46
+ tag_value = String.new
47
+ if options[:tag] then
48
+ tag_value = options[:tag]
49
+ elsif options[:podspec_name_in_tag] then
50
+ tag_value = podspec + '-' + version
51
+ else
52
+ tag_value = version
46
53
  end
47
- changelog_entry_name = String.new
48
- if options[:changelog_entry_name_override] != nil then
49
- changelog_entry_name = "--name " + options[:changelog_entry_name_override]
54
+ if options[:skip_changelog] then
55
+ changelog_entry_name = String.new
56
+ if options[:changelog_entry_name_override] != nil then
57
+ changelog_entry_name = "--name " + options[:changelog_entry_name_override]
58
+ end
59
+ echo_and_exec "rbenv exec bundle exec changetag #{changelog_path} #{tag_value} #{changelog_entry_name}"
60
+ else
61
+ echo_and_exec "git tag #{tag_value}"
50
62
  end
51
- echo_and_exec "rbenv exec bundle exec changetag #{changelog_path} #{name_prefix}#{version} #{changelog_entry_name}"
52
63
  echo_and_exec 'git push --tags'
53
64
 
54
65
  spec_lint_flags = Array.new
@@ -66,7 +77,7 @@ command = String.new
66
77
  if options[:repo] != nil then
67
78
  command = "rbenv exec bundle exec pod repo push #{options[:repo]} #{spec_lint_flags.join ' '}"
68
79
  else
69
- command = "rbenv exec bundle exec pod trunk push #{podspec}.podspec #{spec_lint_flags.join ' '}"
80
+ command = "rbenv exec bundle exec pod trunk push #{podspec_path} #{spec_lint_flags.join ' '}"
70
81
  end
71
82
 
72
83
  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.1.0
4
+ version: 4.3.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