simp-rake-helpers 1.0.14 → 1.0.15

Sign up to get free protection for your applications and to get access to all the features.
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