simp-rake-helpers 3.3.0 → 3.4.0

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: 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: []