releasinator 0.6.0 → 0.6.1

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
  SHA1:
3
- metadata.gz: 514f2117423fc276d733afa1e3ada8409d294c3f
4
- data.tar.gz: 518e7c826e1ecb8588fddaed5c21de54709d96d3
3
+ metadata.gz: 99035e7fd8c9c4f656989abf3691c485f9e68bd8
4
+ data.tar.gz: 6a473481db9b7a4f66195c70f398e0fbc0b6cc01
5
5
  SHA512:
6
- metadata.gz: 110da6dcf745e7d20133ae31ba19c6ed6f984bc6447325bb0e00ac8a1331d25220a46f40875950df6967e70b63f98c0b13dad82806f7e91ecd5ea3b156e25392
7
- data.tar.gz: 025592dcb88660d3270e0b9aa4dafd97d1b54b7acef72a7e3fa06ac47659b2d4eda94a08a940c01c6935019b69d8183fc20820d81ce2752a324770d99e3bc9f2
6
+ metadata.gz: cc52ac52529e6437ffae30a61db4395eb2485e81d8d2e9825ea204decb16624dd03f2b5f71697232387639950c5694686417649f2a96bc258fd6cc7f544d2789
7
+ data.tar.gz: 1383396a3df9378566522756524e3913f736ab582ebdb40382a4219da2c6298921fe61cbf70e298ee12751faa98b81d311cca8aa933bab341dbc694c10526f4a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Releasinator release notes
2
2
  ==========================
3
3
 
4
+ 0.6.1
5
+ -----
6
+ * Improve some error messages.
7
+ * Add more filetypes to `validate:eof_newlines`.
8
+ * Disable bullet punctuation detection until multi-line comments can be addressed.
9
+
4
10
  0.6.0
5
11
  -----
6
12
  * Validate all bulleted items in `CHANGELOG.md` end in punctuation.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- releasinator (0.6.0)
4
+ releasinator (0.6.1)
5
5
  colorize (~> 0.7)
6
6
  configatron (~> 4.5)
7
7
  json (~> 1.8)
@@ -13,7 +13,7 @@ GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
15
  addressable (2.4.0)
16
- colorize (0.8.0)
16
+ colorize (0.8.1)
17
17
  configatron (4.5.0)
18
18
  faraday (0.9.2)
19
19
  multipart-post (>= 1.2, < 3)
data/lib/git_util.rb CHANGED
@@ -101,15 +101,24 @@ module Releasinator
101
101
  end
102
102
 
103
103
  def self.get_local_head_sha1
104
- CommandProcessor.command("git rev-parse --verify head").strip
104
+ rev_parse("head")
105
105
  end
106
106
 
107
107
  def self.get_local_branch_sha1(branch_name)
108
- CommandProcessor.command("git rev-parse --verify #{branch_name}").strip
108
+ rev_parse(branch_name)
109
109
  end
110
110
 
111
111
  def self.get_remote_branch_sha1(branch_name)
112
- CommandProcessor.command("git rev-parse --verify origin/#{branch_name}").strip
112
+ rev_parse("origin/#{branch_name}")
113
+ end
114
+
115
+ def self.rev_parse(branch_name)
116
+ output = CommandProcessor.command("git rev-parse --verify #{branch_name} 2>&1 | cat").strip
117
+ if output.include? 'fatal: Needed a single revision'
118
+ puts "error: branch or commit '#{branch_name}' does not exist. You may need to checkout this branch.".red
119
+ abort()
120
+ end
121
+ output
113
122
  end
114
123
 
115
124
  def self.tag(new_tag, changelog)
data/lib/publisher.rb CHANGED
@@ -5,8 +5,8 @@ require_relative 'printer'
5
5
 
6
6
  module Releasinator
7
7
  class Publisher
8
- def initialize(config)
9
- @config = config
8
+ def initialize(releasinator_config)
9
+ @releasinator_config = releasinator_config
10
10
  end
11
11
 
12
12
  def publish(repo_url, release)
@@ -18,7 +18,7 @@ module Releasinator
18
18
  release.version,
19
19
  :name => release.version,
20
20
  :body => release.changelog
21
- puts github_release.inspect if @config[:trace]
21
+ puts github_release.inspect if @releasinator_config[:trace]
22
22
  rescue => error
23
23
  #This will fail if the user does not have push permissions.
24
24
  Printer.fail(error.inspect)
@@ -46,7 +46,7 @@ module Releasinator
46
46
  head,
47
47
  "Update #{product_name} to #{release.version}",
48
48
  release.changelog
49
- puts github_pull_request.inspect if @config[:trace]
49
+ puts github_pull_request.inspect if @releasinator_config[:trace]
50
50
  rescue => error
51
51
  #This will fail if there's already a pull request
52
52
  Printer.fail(error.inspect)
@@ -1,3 +1,3 @@
1
1
  module Releasinator
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
data/lib/validator.rb CHANGED
@@ -9,6 +9,41 @@ require_relative 'printer'
9
9
  require_relative 'validator_changelog'
10
10
  require_relative 'releasinator/version'
11
11
 
12
+ TEXT_FILE_EXTENSIONS = [
13
+ ".md",
14
+ ".txt",
15
+ ".ini",
16
+ ".in",
17
+ ".xml",
18
+ ".gitignore",
19
+ ".npmignore",
20
+ ".html",
21
+ ".css",
22
+ ".h",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ ".rspec",
26
+ ".gemspec",
27
+ ".podspec",
28
+ ".rb",
29
+ ".java",
30
+ ".php",
31
+ ".py",
32
+ ".js",
33
+ ".yaml",
34
+ ".json",
35
+ ".sh",
36
+ ".groovy",
37
+ ".gemspec",
38
+ ".gradle",
39
+ ".settings",
40
+ ".properties",
41
+ "LICENSE",
42
+ "Rakefile",
43
+ "Dockerfile"
44
+ # TODO include C# file types
45
+ ]
46
+
12
47
  module Releasinator
13
48
  class Validator
14
49
 
@@ -33,10 +68,11 @@ module Releasinator
33
68
 
34
69
  def validate_eof_newlines
35
70
  all_git_files = GitUtil.all_files.split
36
- text_file_extensions = [".md", ".txt", ".gitignore", "Gemfile", "Gemfile.lock", "LICENSE", "Rakefile", ".rb"]
37
71
 
38
- important_git_text_files = all_git_files.select{
39
- |filename| text_file_extensions.any? { |extension| filename.end_with?(extension) }
72
+ important_git_text_files = all_git_files.select{ |filename|
73
+ TEXT_FILE_EXTENSIONS.any? { |extension|
74
+ filename.end_with?(extension)
75
+ }
40
76
  }
41
77
 
42
78
  important_git_text_files.each do |filename|
@@ -200,7 +236,7 @@ module Releasinator
200
236
 
201
237
  Dir.chdir(dir) do
202
238
  if !GitUtil.exist?(expected_file_name)
203
- puts "#{dir}/#{expected_file_name} not found. Searching for similar files.".yellow
239
+ puts "#{dir}/#{expected_file_name} not found using a case sensitive search within git, searching for similar files...".yellow
204
240
 
205
241
  # search for files that are somewhat similar to the file being searched, ignoring case
206
242
  filename_prefix = expected_file_name[0,5]
@@ -108,7 +108,6 @@ module Releasinator
108
108
  if line.match /^\s*\*\s+.*$/ # regex matches bulleted points
109
109
  if !line.match /^\s*\*\s+.*[\!,\?:\.]$/ # regex matches bullet points with punctuation
110
110
  Printer.fail("'#{line}' is invalid. Bulleted points should end in punctuation.")
111
- abort()
112
111
  end
113
112
  end
114
113
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: releasinator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - PayPal
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-01 00:00:00.000000000 Z
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler