tworingtools 3.0.1 → 4.1.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: 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