packaging_rake_tasks 1.2.1 → 1.3.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
  SHA1:
3
- metadata.gz: 6a6c2f335bedf85cca66fadb1412b1573c61b2a8
4
- data.tar.gz: ec31791f04fbc8811acf023de7b21faae6857049
3
+ metadata.gz: 07be7d847721fb9cd00e02a81a61181036ea3c95
4
+ data.tar.gz: 40d1a420ffdc26ce7a72c66de362365684247428
5
5
  SHA512:
6
- metadata.gz: 088613d225ff99c913058e471931fa0daab456f3c3916d8e0d92dfad33dc44c64143718fe16f65ccaaa20a581c3353a4e1d5fa87cded244a0440622685bebe7b
7
- data.tar.gz: c5d0825bb4fb74382b68dffa8ca25d0860de8c15fcb55fca0eb23c7a72c7654798c322281724092695017505104bab7c5e7393e4299e71ee2de25d6d75416f6b
6
+ metadata.gz: 4236b2291ea9d9a345650354b97647e132842d9c114e1eb71392111aa89f8e3b3dde0fda6f1fe20978fe0ce51989f86a87266ffbcbebcec54f63134bc13f0d3b
7
+ data.tar.gz: 427112492ed7493be6d74be0a4f7aad8c9fc666ac6f584955f134ee1ee6ebad8279883bb117b9062308eadb2cf3ed62fb4cac6b9650d132f821a87d1231bebf6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.1
1
+ 1.3.0
@@ -30,6 +30,7 @@ module Packaging
30
30
  @obs_target = "openSUSE_Factory"
31
31
  @skip_license_check = []
32
32
  @maintenance_mode = false
33
+ @documentation_minimal = 0
33
34
  end
34
35
 
35
36
  #custom package name, by default directory name
@@ -58,6 +59,9 @@ module Packaging
58
59
  attr_accessor :skip_license_check
59
60
  # Specify if project is in maintenance mode. If so, then it create maintenance request instead of pull request
60
61
  attr_accessor :maintenance_mode
62
+ # Minimal documentation coverage to pass check:doc
63
+ # Default value is 0.
64
+ attr_accessor :documentation_minimal
61
65
 
62
66
  def package_name
63
67
  @package_name ||= Dir.pwd.split("/").last
@@ -0,0 +1,66 @@
1
+ # Copyright (C) 2017 SUSE LLC
2
+ # This library is free software; you can redistribute it and/or modify
3
+ # it only under the terms of version 2.1 of the GNU Lesser General Public
4
+ # License as published by the Free Software Foundation.
5
+ #
6
+ # This library is distributed in the hope that it will be useful, but WITHOUT
7
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
8
+ # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
9
+ # details.
10
+ #
11
+ # You should have received a copy of the GNU Lesser General Public
12
+ # License along with this library; if not, contact SUSE LLC.
13
+ #
14
+ # To contact SUSE LLC about this file by physical or electronic mail, you may
15
+ # find current contact information at www.suse.com.
16
+
17
+ require "packaging/configuration"
18
+
19
+ def check_doc_output
20
+ ENV["LANG"] = "C"
21
+ puts "Generating documentation..." if verbose
22
+ result = `yardoc`
23
+ if $?.exitstatus != 0
24
+ raise "yardoc failed"
25
+ end
26
+
27
+ puts result if verbose
28
+
29
+ lines = result.lines
30
+
31
+ warn_lines = lines.grep(/\[warn\]:/)
32
+ if !warn_lines.empty?
33
+ raise "There are #{warn_lines.size} warning/-s in yardoc output"
34
+ end
35
+
36
+ coverage_line = lines.grep(/% documented/).first
37
+ if !coverage_line
38
+ raise "Sorry, output format of yardoc changed. Please report issue for packaging rake tasks "\
39
+ " and include output of your yardoc and its version"
40
+ end
41
+
42
+ coverage = coverage_line[/(\d+\.?\d*)% documented/, 1].to_f
43
+ if coverage < Packaging::Configuration.instance.documentation_minimal
44
+ raise "Too low documentation coverage #{coverage}%."
45
+ end
46
+ end
47
+
48
+ def check_doc
49
+ if !File.exist?(".yardopts")
50
+ puts ".yardopts not found, skipping documentation check"
51
+ return
52
+ end
53
+
54
+ if !system("which", "yardoc")
55
+ raise "yardoc not found"
56
+ end
57
+
58
+ check_doc_output
59
+ end
60
+
61
+ namespace "check" do
62
+ desc "Check for errors in documentation and minimal coverage (supported: rubydoc)"
63
+ task :doc do
64
+ check_doc
65
+ end
66
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging_rake_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Reidinger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2017-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,6 +38,7 @@ files:
38
38
  - lib/packaging/tasks.rb
39
39
  - lib/tasks/check_changelog.rake
40
40
  - lib/tasks/check_committed.rake
41
+ - lib/tasks/check_doc.rake
41
42
  - lib/tasks/check_license.rake
42
43
  - lib/tasks/check_osc.rake
43
44
  - lib/tasks/check_syntax.rake
@@ -64,10 +65,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
65
  version: '0'
65
66
  requirements: []
66
67
  rubyforge_project:
67
- rubygems_version: 2.2.2
68
+ rubygems_version: 2.4.5.2
68
69
  signing_key:
69
70
  specification_version: 4
70
71
  summary: Rake tasks providing tasks to package project in git and integration with
71
72
  build service
72
73
  test_files: []
73
- has_rdoc: