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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23fa671eda74bc0725c373a76fc45fd4ae2cda88
4
- data.tar.gz: 94add5ebc004fc24c4eb31b23002722b2e7f372f
3
+ metadata.gz: b5744cb65933374c507bd8494480b6831d2d91dd
4
+ data.tar.gz: 00f0e5320287b4fb03c8c8fd31dc6b288d2ddf2c
5
5
  SHA512:
6
- metadata.gz: d9ca3f462ee816e218ab1a36d6585d6bf8bede6e5b40378c81873be6f98a6d722b61a8039a15facbabac47283214cfca75cc2bc721cfcff64bca5882bb380917
7
- data.tar.gz: e174c5625f4dee82df208cfca252e1bbd465c7ab0e7bbde3123655a1328a01700131b7cdc9b49a793eccc5f794ec3afbeb89bd5f7cb90b1a4ce418289ad86230
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.
@@ -2,5 +2,5 @@ module Simp; end
2
2
  module Simp::Rake; end
3
3
 
4
4
  class Simp::Rake::Helpers
5
- VERSION = '3.3.0'
5
+ VERSION = '3.4.0'
6
6
  end
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.3.0
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-03-07 00:00:00.000000000 Z
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: ' "simp-rake-helpers provides common methods for SIMP Rake Tasks"
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: []