simp-rake-helpers 1.0.14 → 1.0.15

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OWJhYmVkZTM0MGM3MjU2ZTgzZTExYzBiZjdiYWViN2VhNGYwMDdjOQ==
4
+ N2ZmNDFjZDQ0NWFjNTNkNWQ3MTFlYjgwYmJlNWUxOWFlZmE5YjQ3ZQ==
5
5
  data.tar.gz: !binary |-
6
- MzkwYjg2Zjg4NmU1YjdiMzgxZjY5MzNlNDQ0YmNiNmI2Y2ZlNTk5NQ==
6
+ NTFhZTA4YTQ2ZGM5N2NhYTRjMGRmY2Y1ZjI4ODJjOWMzNDYxODU2Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZGQ5NTQwYzBlMjg3MzYxYWEwMjQ0NTQ4MjQ4OWI2ZmM2M2ZhMGFjYmFmZjRj
10
- YTBlNTdkYWNjYjNiNzgxNzQzMWI2MmYxZDRhODQyZmMwYTI0NTAzMmU4YzJi
11
- ZWM4ZmQyYTc0ZjIxZmE0NTFmZGM0NmNjNzMwMDQ4ZjcxNzY2ZTM=
9
+ NGQ1MDMyOTUyOTQyYzQ0NTBmMmVjMzhmNTBkZDA3NDgxMWQ0ZGQ2Mjk5YzAy
10
+ YTFkOWVhZTdiMWM3YjM1YmU4YTU3OTk3YzdiOTYwODBmMmI2OTg3MmMwNmY1
11
+ OTBmZjc4YzY1NGI4YjVlN2NiNjA3NDA1ZmQ5OTQ0NDUyOGY2MGU=
12
12
  data.tar.gz: !binary |-
13
- MjE1MDVlMGZkZDNjNWQzMDAxZjY4MjQyZDU5M2ViZGE0OWYyODcyYjg3NzY1
14
- MDljNjU2ZmI2M2FmNmVhNmFkOGZlZGMwYmZhN2Y2ZjkyZmVlOGRlOWM1ZDEz
15
- NDAzMDJkMzA3MTBhZWY2MmRiZWFlNmEyOGI1M2NmYzgwNDY5OTU=
13
+ NWQxNTRmNzI1NmM5ZGRjZjNhYjIyNTE3MzMxN2YxMjBlNTIzMjFlMzlhMDMy
14
+ NWE3MGI0MGFmZTFhMTEwYWEyZjc3NzdmYjJmMmExZTg2OTMxZDQ1YWQ4MGEy
15
+ Y2RjM2RiNzY3NzFhOTlhMTRiYTlkMzcyYzU4MGZhNjgyNWIzNDY=
data/Gemfile CHANGED
@@ -12,3 +12,4 @@ gemspec
12
12
  if puppetversion
13
13
  gem 'puppet', puppetversion
14
14
  end
15
+
data/README.md CHANGED
@@ -45,10 +45,16 @@ gem 'simp-rake-helpers'
45
45
 
46
46
 
47
47
  ## Usage
48
- Within a project's Rakefile:
48
+ ### In a Rubygem
49
+ Within the project's Rakefile:
49
50
 
50
51
  ```ruby
51
- require 'simp/rake/helpers'
52
+ require 'simp/rake/rubygem'
53
+
54
+ # e.g., "simp-rake-helpers"
55
+ package = 'name-of-rubygem'
56
+ Simp::Rake::Rubygem.new(package, File.direname(__FILE__)
57
+
52
58
  ```
53
59
 
54
60
  To see the extra rake tasks:
data/Rakefile CHANGED
@@ -9,57 +9,8 @@ require 'rspec/core/rake_task'
9
9
  @package='simp-rake-helpers'
10
10
  @rakefile_dir=File.dirname(__FILE__)
11
11
 
12
- CLEAN.include "#{@package}-*.gem"
13
- CLEAN.include 'pkg'
14
- CLEAN.include 'dist'
15
- CLEAN.include 'spec/acceptance/files/testpackage/dist'
16
- Find.find( @rakefile_dir ) do |path|
17
- if File.directory? path
18
- CLEAN.include path if File.basename(path) == 'tmp'
19
- else
20
- Find.prune
21
- end
22
- end
12
+ require 'simp/rake/rubygem'
13
+ Simp::Rake::Rubygem.new(@package, @rakefile_dir)
23
14
 
24
- desc 'Ensure gemspec-safe permissions on all files'
25
- task :chmod do
26
- gemspec = File.expand_path( "#{@package}.gemspec", @rakefile_dir ).strip
27
- spec = Gem::Specification::load( gemspec )
28
- spec.files.each do |file|
29
- FileUtils.chmod 'go=r', file
30
- end
31
- end
32
-
33
- namespace :pkg do
34
- desc "build rubygem package for #{@package}"
35
- task :gem => :chmod do
36
- Dir.chdir @rakefile_dir
37
- Dir['*.gemspec'].each do |spec_file|
38
- cmd = %Q{SIMP_RPM_BUILD=0 bundle exec gem build "#{spec_file}"}
39
- sh cmd
40
- FileUtils.mkdir_p 'dist'
41
- FileUtils.mv Dir.glob("#{@package}*.gem"), 'dist/'
42
- end
43
- end
44
-
45
- desc "build and install rubygem package for #{@package}"
46
- task :install_gem => [:clean, :gem] do
47
- Dir.chdir @rakefile_dir
48
- Dir.glob("dist/#{@package}*.gem") do |pkg|
49
- sh %Q{bundle exec gem install #{pkg}}
50
- end
51
- end
52
- end
53
-
54
- desc "Run acceptance tests"
55
- RSpec::Core::RakeTask.new(:acceptance) do |t|
56
- t.pattern = 'spec/acceptance'
57
- end
58
-
59
- desc "Run spec tests"
60
- RSpec::Core::RakeTask.new(:spec) do |t|
61
- t.rspec_opts = ['--color']
62
- t.pattern = 'spec/lib/simp/**/*_spec.rb'
63
- end
64
15
 
65
16
  # vim: syntax=ruby
@@ -0,0 +1,81 @@
1
+ module Simp; end
2
+ module Simp::Rake
3
+ class Fixtures < ::Rake::TaskLib
4
+ def initialize
5
+ ###::CLEAN.include( '.fixtures.yml.local' )
6
+ define
7
+ end
8
+
9
+ def define
10
+ namespace :fixtures do
11
+ def flatten_fixtures_hash(_f)
12
+ _f
13
+ .map{|k,v| v.values}
14
+ .flatten
15
+ .reduce({}){|h,pairs|
16
+ pairs.each{|k,v|
17
+ (h[k] ||= []) << v
18
+ }; h
19
+ }
20
+ .keys
21
+ .uniq
22
+ .sort
23
+ end
24
+
25
+ def fixtures_yml_local(_f)
26
+ _f_m = flatten_fixtures_hash(_f)
27
+
28
+ _s = Hash[_f_m.map{|k|
29
+ v= _f['fixtures']['repositories'].key?(k) ? "#\{source_dir\}/../#{k}": _f['fixtures']['symlinks'].fetch(k)
30
+ [k, v ]}
31
+ ]
32
+
33
+ {'fixtures'=> {'symlinks'=> _s }}
34
+ end
35
+
36
+ desc 'generate .fixtures.yml.local formm the entries in .fixtures.yml'
37
+ task :generate do
38
+ pwd = File.expand_path(File.dirname(__FILE__))
39
+ _f = YAML.load_file(File.join(pwd,'.fixtures.yml'))
40
+ _l = fixtures_yml_local( _f )
41
+ _o = File.join(pwd,'.fixtures.yml.local')
42
+ File.open( _o,'w'){|f| puts _l.to_yaml; f.puts _l.to_yaml}
43
+ puts
44
+ puts "# written to '#{_o}'"
45
+ end
46
+
47
+
48
+ desc "check for missing .fixture modules"
49
+ task :diff do
50
+ require 'yaml'
51
+ pwd = File.expand_path(File.dirname(__FILE__))
52
+ _f = YAML.load_file(File.join(pwd,'.fixtures.yml'))
53
+ _fl = YAML.load_file(File.join(pwd,'.fixtures.yml.local'))
54
+
55
+ # reduce modules
56
+ _f_m = flatten_fixtures_hash(_f)
57
+ _fl_m = flatten_fixtures_hash(_fl)
58
+ _f_u = (_f_m-_fl_m)
59
+ _fl_u = (_fl_m-_f_m)
60
+
61
+ if (_f_u.size + _fl_u.size) > 0
62
+ warn ''
63
+ warn "WARNING: .fixtures.yml & .fixtures.yml.local have different files!"
64
+ warn ''
65
+ if _f_u.size > 0
66
+ warn 'Unique modules to .fixtures.yml:'
67
+ _f_u.each{|x| warn " - #{x}"}
68
+ warn ''
69
+ end
70
+ if _fl_u.size > 0
71
+ warn 'Unique modules to .fixtures.yml.local:'
72
+ _fl_u.each{|x| warn " - #{x}"}
73
+ warn ''
74
+ end
75
+ exit 1
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -1,6 +1,16 @@
1
+ require File.expand_path('pkg', File.dirname(__FILE__))
2
+ require File.expand_path('fixtures', File.dirname(__FILE__))
3
+
1
4
  module Simp; end
2
5
  module Simp::Rake; end
3
-
4
6
  class Simp::Rake::Helpers
5
- VERSION = '1.0.14'
7
+
8
+ def initialize( dir = Dir.pwd )
9
+ Simp::Rake::Pkg.new( dir ) do | t |
10
+ t.clean_list << "#{t.base_dir}/spec/fixtures/hieradata/hiera.yaml"
11
+ end
12
+
13
+ Simp::Rake::Fixtures.new
14
+ end
15
+
6
16
  end
@@ -0,0 +1,6 @@
1
+ module Simp; end
2
+ module Simp::Rake; end
3
+
4
+ class Simp::Rake::Helpers
5
+ VERSION = '1.0.15'
6
+ end
@@ -0,0 +1,69 @@
1
+ module Simp; end
2
+ module Simp::Rake
3
+ class Rubygem < ::Rake::TaskLib
4
+ def initialize( package, rakefile_dir = File.pwd )
5
+ @package = package
6
+ @rakefile_dir = rakefile_dir
7
+ define
8
+ end
9
+
10
+ def define_clean_paths
11
+ CLEAN.include "#{@package}-*.gem"
12
+ CLEAN.include 'pkg'
13
+ CLEAN.include 'dist'
14
+ CLEAN.include 'spec/acceptance/files/testpackage/dist'
15
+ Find.find( @rakefile_dir ) do |path|
16
+ if File.directory? path
17
+ CLEAN.include path if File.basename(path) == 'tmp'
18
+ else
19
+ Find.prune
20
+ end
21
+ end
22
+ end
23
+
24
+ def define
25
+ define_clean_paths
26
+
27
+ desc 'Ensure gemspec-safe permissions on all files'
28
+ task :chmod do
29
+ gemspec = File.expand_path( "#{@package}.gemspec", @rakefile_dir ).strip
30
+ spec = Gem::Specification::load( gemspec )
31
+ spec.files.each do |file|
32
+ FileUtils.chmod 'go=r', file
33
+ end
34
+ end
35
+
36
+ namespace :pkg do
37
+ desc "build rubygem package for #{@package}"
38
+ task :gem => :chmod do
39
+ Dir.chdir @rakefile_dir
40
+ Dir['*.gemspec'].each do |spec_file|
41
+ cmd = %Q{SIMP_RPM_BUILD=#{ENV.fetch('SIMP_RPM_BUILD',1)} bundle exec gem build "#{spec_file}"}
42
+ sh cmd
43
+ FileUtils.mkdir_p 'dist'
44
+ FileUtils.mv Dir.glob("#{@package}*.gem"), 'dist/'
45
+ end
46
+ end
47
+
48
+ desc "build and install rubygem package for #{@package}"
49
+ task :install_gem => [:clean, :gem] do
50
+ Dir.chdir @rakefile_dir
51
+ Dir.glob("dist/#{@package}*.gem") do |pkg|
52
+ sh %Q{bundle exec gem install #{pkg}}
53
+ end
54
+ end
55
+ end
56
+
57
+ desc "Run acceptance tests"
58
+ RSpec::Core::RakeTask.new(:acceptance) do |t|
59
+ t.pattern = 'spec/acceptance'
60
+ end
61
+
62
+ desc "Run spec tests"
63
+ RSpec::Core::RakeTask.new(:spec) do |t|
64
+ t.rspec_opts = ['--color']
65
+ t.pattern = 'spec/lib/simp/**/*_spec.rb'
66
+ end
67
+ end
68
+ end
69
+ end
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: 1.0.14
4
+ version: 1.0.15
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: 2016-02-20 00:00:00.000000000 Z
12
+ date: 2016-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -289,8 +289,11 @@ files:
289
289
  - Rakefile
290
290
  - bin/simp_rake_helpers
291
291
  - lib/simp/rake.rb
292
+ - lib/simp/rake/fixtures.rb
292
293
  - lib/simp/rake/helpers.rb
294
+ - lib/simp/rake/helpers/version.rb
293
295
  - lib/simp/rake/pkg.rb
296
+ - lib/simp/rake/rubygem.rb
294
297
  - lib/simp/rpm.rb
295
298
  - spec/acceptance/files/testpackage/Rakefile
296
299
  - spec/acceptance/files/testpackage/build/testpackage.spec