tworingtools 3.0.1 → 4.1.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: 0d1e943f0032f7f125bdefd52aebd9c5d6402116c9eb9f79b784e8a3579eb8f8
4
- data.tar.gz: e5ca242d35928396d457048f6f0d76a24a3af54f9b7fa17462a9cfa383a7a90f
3
+ metadata.gz: 16466bf2984dbc3a05e95e3208cad9414c0c94bb87d0c915083774bdd363ecfe
4
+ data.tar.gz: d8dc97b07602e173dbc040ceb41e5b3d3a7044e829d0344faee012bfacb82881
5
5
  SHA512:
6
- metadata.gz: 7c4f49838b822c793ca96090ec9bd3851aa923bcd104382c57b861fcfdbf70ecd554f3cfe2b722acaebea081805dbabacddef0c08f08df5a4c16f9252cecdfdd
7
- data.tar.gz: ed215d75ba0f9be16868cdc42d5c0f4f1a7086e5ed1fdcf11769a393a6d18753b06b9e2e20c0c697a15233697abb3f85959d2abab082a3b5a244aea6b0fc68d6
6
+ metadata.gz: cdeb0282e4960dfdb932691fe7b2acf5acdd8c68686c72e0295047e627320a775b9b0dcc100d694d1ba10dad16fb3965e5311ed487e101e11ff39d78ec5cd129
7
+ data.tar.gz: a771775e2fb4378f3c279916b3c6794cab9005333e0b2b258ce9ada4908d177f8dd845ffa94b20907306d16eae93ef669fe1988e24b0244aa93decc468990055
@@ -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,11 @@ 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
29
32
  opts.on('-h', '--help', 'Print this help message.') do
30
33
  puts opts
31
34
  exit
@@ -35,8 +38,6 @@ parser.parse!
35
38
 
36
39
  git_check unless options[:no_commit]
37
40
 
38
- version_file = "#{podspec}.podspec"
39
-
40
41
  current_version = `vrsn --read --file #{version_file}`.strip
41
42
  unless options[:no_branch] then
42
43
  branch = "#{podspec}-#{current_version}-release"
@@ -48,7 +49,9 @@ release_candidate_number = `git tag --list | grep #{version_root} | wc -l`.strip
48
49
  release_candidate_version = "#{version_root}#{release_candidate_number}"
49
50
 
50
51
  tag_value = String.new
51
- if options[:podspec_name_in_tag] then
52
+ if options[:tag] then
53
+ tag_value = options[:tag]
54
+ elsif options[:podspec_name_in_tag] then
52
55
  tag_value = "#{podspec}-#{release_candidate_version}"
53
56
  else
54
57
  tag_value = "#{release_candidate_version}"
@@ -75,7 +78,10 @@ end
75
78
  if options[:verbose] != nil then
76
79
  spec_lint_flags << '--verbose'
77
80
  end
78
- stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{podspec}.podspec #{spec_lint_flags.join ' '}"
81
+ if options[:skip_tests] != nil then
82
+ spec_lint_flags << '--skip-tests'
83
+ end
84
+ stdout, stderr, status = Open3.capture3 "rbenv exec bundle exec pod spec lint #{version_file} #{spec_lint_flags.join ' '}"
79
85
 
80
86
  puts "stdout: #{stdout}"
81
87
 
@@ -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.1
4
+ version: 4.1.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
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.18'
19
+ version: '0.19'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.18'
26
+ version: '0.19'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement