simp-rake-helpers 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/simp/rake/helpers/version.rb +1 -1
- data/lib/simp/rake/pkg.rb +71 -1
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5744cb65933374c507bd8494480b6831d2d91dd
|
4
|
+
data.tar.gz: 00f0e5320287b4fb03c8c8fd31dc6b288d2ddf2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da17f4c7cc829e748abc8a3b756c5c06d5735fc23d717541edaf69ab57415b946ef25e00f2de8cc958128aaa20874d689e1630005133b201bf1cfc58a5de80bf
|
7
|
+
data.tar.gz: 02bff5f622fe3aa892d1ec78526e160956de12ea440fe1a47b560f5717364a90e11b0185a7d615db9db2e3c0b4d710b8c4877c223bf298a4edf4b830ac5bc896
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### 3.4.0 / 2017-03-17
|
2
|
+
* Added a Rake task `pkg:check_version` that can be run in any module to
|
3
|
+
determine if it needs to have either the metadata.json or the CHANGELOG
|
4
|
+
version bumped
|
5
|
+
* Should be looped and manually reviewed as a pre-build task
|
6
|
+
|
1
7
|
### 3.3.0 / 2017-02-28
|
2
8
|
* Modified to no longer add the SIMP Dev key into the GPGKEYS directory and
|
3
9
|
instead add it to the root level of the DVD for local reference.
|
data/lib/simp/rake/pkg.rb
CHANGED
@@ -105,6 +105,7 @@ module Simp::Rake
|
|
105
105
|
define_pkg_srpm
|
106
106
|
define_pkg_rpm
|
107
107
|
define_pkg_scrub
|
108
|
+
define_pkg_check_version
|
108
109
|
task :default => 'pkg:tar'
|
109
110
|
|
110
111
|
Rake::Task['pkg:tar'].enhance(['pkg:restore_stash'])
|
@@ -428,9 +429,78 @@ module Simp::Rake
|
|
428
429
|
cmd = %Q(#{mock_cmd} --scrub=all)
|
429
430
|
sh cmd
|
430
431
|
end
|
431
|
-
|
432
432
|
end
|
433
|
+
end
|
433
434
|
|
435
|
+
def define_pkg_check_version
|
436
|
+
namespace :pkg do
|
437
|
+
# :pkg:check_version
|
438
|
+
# -----------------------------
|
439
|
+
desc <<-EOM
|
440
|
+
Ensure that #{@pkg_name} has a properly updated version number.
|
441
|
+
EOM
|
442
|
+
task :check_version do |t,args|
|
443
|
+
require 'json'
|
444
|
+
|
445
|
+
# Get the current version
|
446
|
+
if File.exist?('metadata.json')
|
447
|
+
mod_version = JSON.load(File.read('metadata.json'))['version'].strip
|
448
|
+
success_msg = "#{@pkg_name}: Version #{mod_version} up to date"
|
449
|
+
|
450
|
+
# If we have no tags, we need a new version
|
451
|
+
if %x(git tag).strip.empty?
|
452
|
+
puts "#{@pkg_name}: New Version Required"
|
453
|
+
else
|
454
|
+
# See if the module is newer than all tags
|
455
|
+
matching_tag = %x(git tag --points-at HEAD).strip.split("\n").first
|
456
|
+
|
457
|
+
if matching_tag.nil? || matching_tag.empty?
|
458
|
+
# We don't have a matching release
|
459
|
+
# Get the closest tag
|
460
|
+
nearest_tag = %x(git describe --abbrev=0 --tags).strip
|
461
|
+
|
462
|
+
if mod_version == nearest_tag
|
463
|
+
puts "#{@pkg_name}: Error: metadata.json needs to be updated past #{mod_version}"
|
464
|
+
else
|
465
|
+
# Check the CHANGELOG Version
|
466
|
+
if File.exist?('CHANGELOG')
|
467
|
+
changelog = File.read('CHANGELOG')
|
468
|
+
changelog_version = nil
|
469
|
+
|
470
|
+
# Find the first date line
|
471
|
+
changelog.each_line do |line|
|
472
|
+
if line =~ /\*.*(\d+\.\d+\.\d+)(-\d+)?\s*$/
|
473
|
+
changelog_version = $1
|
474
|
+
break
|
475
|
+
end
|
476
|
+
end
|
477
|
+
|
478
|
+
if changelog_version
|
479
|
+
if changelog_version == mod_version
|
480
|
+
puts success_msg
|
481
|
+
else
|
482
|
+
puts "#{@pkg_name}: Error: CHANGELOG version #{changelog_version} out of date for version #{mod_version}"
|
483
|
+
end
|
484
|
+
else
|
485
|
+
puts "#{@pkg_name}: Error: No CHANGELOG version found"
|
486
|
+
end
|
487
|
+
else
|
488
|
+
puts "#{@pkg_name}: Warning: No CHANGELOG found"
|
489
|
+
end
|
490
|
+
end
|
491
|
+
else
|
492
|
+
if mod_version != matching_tag
|
493
|
+
puts "#{@pkg_name}: Error: Tag #{matching_tag} does not match version #{mod_version}"
|
494
|
+
else
|
495
|
+
puts success_msg
|
496
|
+
end
|
497
|
+
end
|
498
|
+
end
|
499
|
+
else
|
500
|
+
puts "#{@pkg_name}: No metadata.json found"
|
501
|
+
end
|
502
|
+
end
|
503
|
+
end
|
434
504
|
end
|
435
505
|
|
436
506
|
# ------------------------------------------------------------------------------
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simp-rake-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Tessmer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-04-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -379,9 +379,8 @@ dependencies:
|
|
379
379
|
- - "~>"
|
380
380
|
- !ruby/object:Gem::Version
|
381
381
|
version: '4.0'
|
382
|
-
description:
|
383
|
-
|
384
|
-
'
|
382
|
+
description: |2
|
383
|
+
"simp-rake-helpers provides common methods for SIMP Rake Tasks"
|
385
384
|
email: simp@simp-project.org
|
386
385
|
executables: []
|
387
386
|
extensions: []
|