modulesync 0.10.0 → 1.0.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
  SHA256:
3
- metadata.gz: cf47637269ebb272e17ffe11db44344aff0677e8a93fec636d7fcf6ed4d66e01
4
- data.tar.gz: c2496e33b76a8af894707b6615662f05bcdb4ff73378020238a633b88915f433
3
+ metadata.gz: 16cd854b2ba5a64f73b1051081fbf1e3bdbe39bbec2b7dacf5de3a3f37750625
4
+ data.tar.gz: d45c398dd5e7fc20d4bbf257ca0303bda0faa91ea49d3b6804d34fdbb25e1175
5
5
  SHA512:
6
- metadata.gz: b9bc5072c017bff505be1f43e4e0bc2630645d0acee00bbb0a8a2d5b23804e4150414c904126570a5418e310ae873073ce207f91887e8f849db5f9cdc61fd680
7
- data.tar.gz: 45588886c292dd533923614af9ea94d74685743a7b7708b3caeb4cbfbfe0539adafa2f78a8183d0d2384a4cd9d8f0c03535935b99c8278031f487317d36370e3
6
+ metadata.gz: 38ae3613c9b28a0d679445350dcf6d625ad0db7156db8e26df7b4a4703a79713b471ce786d20d879a4bcdf8cd23830ac8277f259435f6fb191eede8a5a49ac9f
7
+ data.tar.gz: 62cacbdc9b002371957bc732727774c79d3b5783280469e3a2a34379265b784a8b6c0a6bccf1ce47ceb4bccea27cdb0273933b86381a37d57fd39e011b382d49
@@ -18,3 +18,7 @@ Style/TrailingCommaInLiteral:
18
18
  # would require external library
19
19
  Layout/IndentHeredoc:
20
20
  Enabled: false
21
+
22
+ # sane line length
23
+ Metrics/LineLength:
24
+ Max: 120
@@ -25,11 +25,6 @@ Metrics/ClassLength:
25
25
  Metrics/CyclomaticComplexity:
26
26
  Max: 13
27
27
 
28
- # Offense count: 29
29
- # Configuration parameters: AllowURI, URISchemes.
30
- Metrics/LineLength:
31
- Max: 319
32
-
33
28
  # Offense count: 8
34
29
  # Configuration parameters: CountComments.
35
30
  Metrics/MethodLength:
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 2019-09-19 - 1.0.0
4
+
5
+ This is the first stable release! 🎉
6
+
7
+ * Use namespace in directory structure when cloning repositories - [#152](https://github.com/voxpupuli/modulesync/pull/152)
8
+ * Fix minor typo in help output - [#165](https://github.com/voxpupuli/modulesync/pull/165)
9
+ * Small improvements and fixes - [#166](https://github.com/voxpupuli/modulesync/pull/166)
10
+ * Fix overwriting of :global values - [#169](https://github.com/voxpupuli/modulesync/pull/169)
11
+
3
12
  ## 2018-12-27 - 0.10.0
4
13
 
5
14
  This is another awesome release!
@@ -23,7 +23,7 @@ Given 'a remote module repository' do
23
23
  CONFIG
24
24
  end
25
25
 
26
- Given /a remote module repository with "(.+?)" as the default branch/ do |branch| # rubocop:disable Lint/AmbiguousRegexpLiteral
26
+ Given Regexp.new(/a remote module repository with "(.+?)" as the default branch/) do |branch|
27
27
  steps %(
28
28
  Given a directory named "sources"
29
29
  And I run `git clone --mirror https://github.com/maestrodev/puppet-test sources/puppet-test`
@@ -31,7 +31,7 @@ Feature: update
31
31
  Files added:
32
32
  test
33
33
  """
34
- Given I run `cat modules/puppet-test/test`
34
+ Given I run `cat modules/maestrodev/puppet-test/test`
35
35
  Then the output should contain "aruba"
36
36
 
37
37
  Scenario: Using skip_broken option and adding a new file to repo without write access
@@ -113,14 +113,14 @@ Feature: update
113
113
  Then the exit status should be 0
114
114
  And the output should match:
115
115
  """
116
- Warning: using './moduleroot//test' as template without '.erb' suffix
116
+ Warning: using './moduleroot/test' as template without '.erb' suffix
117
117
  """
118
118
  And the output should match:
119
119
  """
120
120
  Files added:
121
121
  test
122
122
  """
123
- Given I run `cat modules/puppet-test/test`
123
+ Given I run `cat modules/maestrodev/puppet-test/test`
124
124
  Then the output should contain "aruba"
125
125
 
126
126
  Scenario: Adding a new file using global values
@@ -153,7 +153,7 @@ Feature: update
153
153
  Files added:
154
154
  test
155
155
  """
156
- Given I run `cat modules/puppet-test/test`
156
+ Given I run `cat modules/maestrodev/puppet-test/test`
157
157
  Then the output should contain "aruba"
158
158
 
159
159
  Scenario: Adding a new file overriding global values
@@ -189,7 +189,7 @@ Feature: update
189
189
  Files added:
190
190
  test
191
191
  """
192
- Given I run `cat modules/puppet-test/test`
192
+ Given I run `cat modules/maestrodev/puppet-test/test`
193
193
  Then the output should contain "aruba"
194
194
 
195
195
  Scenario: Adding a new file ignoring global values
@@ -225,7 +225,7 @@ Feature: update
225
225
  Files added:
226
226
  test
227
227
  """
228
- Given I run `cat modules/puppet-test/test`
228
+ Given I run `cat modules/maestrodev/puppet-test/test`
229
229
  Then the output should contain "aruba"
230
230
 
231
231
  Scenario: Adding a file that ERB can't parse
@@ -342,7 +342,7 @@ Feature: update
342
342
  Files changed:
343
343
  +diff --git a/Gemfile b/Gemfile
344
344
  """
345
- Given I run `cat modules/puppet-test/Gemfile`
345
+ Given I run `cat modules/maestrodev/puppet-test/Gemfile`
346
346
  Then the output should contain:
347
347
  """
348
348
  source 'https://somehost.com'
@@ -405,7 +405,7 @@ Feature: update
405
405
  Not managing Gemfile in puppet-test
406
406
  """
407
407
  And the exit status should be 0
408
- Given I run `cat modules/puppet-test/Gemfile`
408
+ Given I run `cat modules/maestrodev/puppet-test/Gemfile`
409
409
  Then the output should contain:
410
410
  """
411
411
  source 'https://rubygems.org'
@@ -488,8 +488,8 @@ Feature: update
488
488
  """
489
489
  some spec_helper fud
490
490
  """
491
- And a directory named "modules/puppetlabs-apache/spec"
492
- And a file named "modules/puppetlabs-apache/spec/spec_helper.rb" with:
491
+ And a directory named "modules/puppetlabs/puppetlabs-apache/spec"
492
+ And a file named "modules/puppetlabs/puppetlabs-apache/spec/spec_helper.rb" with:
493
493
  """
494
494
  This is a fake spec_helper!
495
495
  """
@@ -499,7 +499,7 @@ Feature: update
499
499
  Not managing spec/spec_helper.rb in puppetlabs-apache
500
500
  """
501
501
  And the exit status should be 0
502
- Given I run `cat modules/puppetlabs-apache/spec/spec_helper.rb`
502
+ Given I run `cat modules/puppetlabs/puppetlabs-apache/spec/spec_helper.rb`
503
503
  Then the output should contain:
504
504
  """
505
505
  This is a fake spec_helper!
@@ -538,7 +538,7 @@ Feature: update
538
538
  Files added:
539
539
  spec/spec_helper.rb
540
540
  """
541
- Given I run `cat modules/puppet-test/spec/spec_helper.rb`
541
+ Given I run `cat modules/maestrodev/puppet-test/spec/spec_helper.rb`
542
542
  Then the output should contain:
543
543
  """
544
544
  require 'puppetlabs_spec_helper/module_helper'
@@ -577,7 +577,7 @@ Feature: update
577
577
  Given a file named "managed_modules.yml" with:
578
578
  """
579
579
  ---
580
- - puppet-test
580
+ - maestrodev/puppet-test
581
581
  """
582
582
  And a file named "modulesync.yml" with:
583
583
  """
@@ -597,8 +597,8 @@ Feature: update
597
597
  require '<%= required %>'
598
598
  <% end %>
599
599
  """
600
- Given I run `git init modules/puppet-test`
601
- Given a file named "modules/puppet-test/.git/config" with:
600
+ Given I run `git init modules/maestrodev/puppet-test`
601
+ Given a file named "modules/maestrodev/puppet-test/.git/config" with:
602
602
  """
603
603
  [core]
604
604
  repositoryformatversion = 0
@@ -667,7 +667,7 @@ Feature: update
667
667
  Files added:
668
668
  test
669
669
  """
670
- Given I run `cat modules/puppet-test/test`
670
+ Given I run `cat modules/maestrodev/puppet-test/test`
671
671
  Then the output should contain "aruba"
672
672
 
673
673
  Scenario: When specifying configurations in managed_modules.yml and using a filter
@@ -702,9 +702,9 @@ Feature: update
702
702
  Files added:
703
703
  test
704
704
  """
705
- Given I run `cat modules/puppet-test/test`
705
+ Given I run `cat modules/maestrodev/puppet-test/test`
706
706
  Then the output should contain "aruba"
707
- And a directory named "modules/puppet-blacksmith" should not exist
707
+ And a directory named "modules/maestrodev/puppet-blacksmith" should not exist
708
708
 
709
709
  Scenario: When specifying configurations in managed_modules.yml and using a negative filter
710
710
  Given a file named "managed_modules.yml" with:
@@ -738,15 +738,15 @@ Feature: update
738
738
  Files added:
739
739
  test
740
740
  """
741
- Given I run `cat modules/puppet-test/test`
741
+ Given I run `cat modules/maestrodev/puppet-test/test`
742
742
  Then the output should contain "aruba"
743
- And a directory named "modules/puppet-blacksmith" should not exist
743
+ And a directory named "modules/maestrodev/puppet-blacksmith" should not exist
744
744
 
745
745
  Scenario: Updating a module with a .sync.yml file
746
746
  Given a file named "managed_modules.yml" with:
747
747
  """
748
748
  ---
749
- - puppet-test
749
+ - maestrodev/puppet-test
750
750
  """
751
751
  And a file named "modulesync.yml" with:
752
752
  """
@@ -756,6 +756,9 @@ Feature: update
756
756
  And a file named "config_defaults.yml" with:
757
757
  """
758
758
  ---
759
+ :global:
760
+ global-default: some-default
761
+ global-to-overwrite: to-be-overwritten
759
762
  spec/spec_helper.rb:
760
763
  require:
761
764
  - puppetlabs_spec_helper/module_helper
@@ -766,8 +769,14 @@ Feature: update
766
769
  require '<%= required %>'
767
770
  <% end %>
768
771
  """
769
- Given I run `git init modules/puppet-test`
770
- Given a file named "modules/puppet-test/.git/config" with:
772
+ And a file named "moduleroot/global-test.md.erb" with:
773
+ """
774
+ <%= @configs['global-default'] %>
775
+ <%= @configs['global-to-overwrite'] %>
776
+ <%= @configs['module-default'] %>
777
+ """
778
+ Given I run `git init modules/maestrodev/puppet-test`
779
+ Given a file named "modules/maestrodev/puppet-test/.git/config" with:
771
780
  """
772
781
  [core]
773
782
  repositoryformatversion = 0
@@ -780,9 +789,12 @@ Feature: update
780
789
  url = https://github.com/maestrodev/puppet-test.git
781
790
  fetch = +refs/heads/*:refs/remotes/origin/*
782
791
  """
783
- Given a file named "modules/puppet-test/.sync.yml" with:
792
+ Given a file named "modules/maestrodev/puppet-test/.sync.yml" with:
784
793
  """
785
794
  ---
795
+ :global:
796
+ global-to-overwrite: it-is-overwritten
797
+ module-default: some-value
786
798
  spec/spec_helper.rb:
787
799
  unmanaged: true
788
800
  """
@@ -792,6 +804,13 @@ Feature: update
792
804
  """
793
805
  Not managing spec/spec_helper.rb in puppet-test
794
806
  """
807
+ Given I run `cat modules/maestrodev/puppet-test/global-test.md`
808
+ Then the output should match:
809
+ """
810
+ some-default
811
+ it-is-overwritten
812
+ some-value
813
+ """
795
814
 
796
815
  Scenario: Module with custom namespace
797
816
  Given a file named "managed_modules.yml" with:
@@ -824,9 +843,9 @@ Feature: update
824
843
  Files added:
825
844
  test
826
845
  """
827
- Given I run `cat modules/puppet-test/.git/config`
846
+ Given I run `cat modules/maestrodev/puppet-test/.git/config`
828
847
  Then the output should contain "url = https://github.com/maestrodev/puppet-test.git"
829
- Given I run `cat modules/puppet-lib-file_concat/.git/config`
848
+ Given I run `cat modules/electrical/puppet-lib-file_concat/.git/config`
830
849
  Then the output should contain "url = https://github.com/electrical/puppet-lib-file_concat.git"
831
850
 
832
851
  Scenario: Modifying an existing file with values exposed by the module
@@ -858,7 +877,7 @@ Feature: update
858
877
  Files changed:
859
878
  +diff --git a/README.md b/README.md
860
879
  """
861
- Given I run `cat modules/puppet-test/README.md`
880
+ Given I run `cat modules/maestrodev/puppet-test/README.md`
862
881
  Then the output should contain:
863
882
  """
864
883
  echo 'https://github.com/maestrodev'
@@ -29,31 +29,39 @@ module ModuleSync
29
29
  end
30
30
 
31
31
  def self.local_file(config_path, file)
32
- "#{config_path}/#{MODULE_FILES_DIR}/#{file}"
32
+ File.join(config_path, MODULE_FILES_DIR, file)
33
33
  end
34
34
 
35
- def self.module_file(project_root, puppet_module, file)
36
- "#{project_root}/#{puppet_module}/#{file}"
35
+ def self.module_file(project_root, namespace, puppet_module, file)
36
+ File.join(project_root, namespace, puppet_module, file)
37
37
  end
38
38
 
39
- def self.local_files(path)
40
- if File.exist?(path)
41
- # only select *.erb files, and strip the extension. This way all the code will only have to handle bare paths, except when reading the actual ERB text
42
- local_files = Find.find(path).find_all { |p| p =~ /.erb$/ && !File.directory?(p) }.collect { |p| p.chomp('.erb') }.to_a
39
+ # List all template files.
40
+ #
41
+ # Only select *.erb files, and strip the extension. This way all the code will only have to handle bare paths,
42
+ # except when reading the actual ERB text
43
+ def self.find_template_files(local_template_dir)
44
+ if File.exist?(local_template_dir)
45
+ Find.find(local_template_dir).find_all { |p| p =~ /.erb$/ && !File.directory?(p) }
46
+ .collect { |p| p.chomp('.erb') }
47
+ .to_a
43
48
  else
44
- puts "#{path} does not exist. Check that you are working in your module configs directory or that you have passed in the correct directory with -c."
49
+ puts "#{local_template_dir} does not exist." \
50
+ ' Check that you are working in your module configs directory or' \
51
+ ' that you have passed in the correct directory with -c.'
45
52
  exit
46
53
  end
47
54
  end
48
55
 
49
- def self.module_files(local_files, path)
50
- local_files.map { |file| file.sub(/#{path}/, '') }
56
+ def self.relative_names(file_list, path)
57
+ file_list.map { |file| file.sub(/#{path}/, '') }
51
58
  end
52
59
 
53
60
  def self.managed_modules(config_file, filter, negative_filter)
54
61
  managed_modules = Util.parse_config(config_file)
55
62
  if managed_modules.empty?
56
- puts "No modules found in #{config_file}. Check that you specified the right :configs directory and :managed_modules_conf file."
63
+ puts "No modules found in #{config_file}." \
64
+ ' Check that you specified the right :configs directory and :managed_modules_conf file.'
57
65
  exit
58
66
  end
59
67
  managed_modules.select! { |m| m =~ Regexp.new(filter) } unless filter.nil?
@@ -78,16 +86,17 @@ module ModuleSync
78
86
  end
79
87
 
80
88
  def self.manage_file(filename, settings, options)
89
+ namespace = settings.additional_settings[:namespace]
81
90
  module_name = settings.additional_settings[:puppet_module]
82
91
  configs = settings.build_file_configs(filename)
83
92
  if configs['delete']
84
- Renderer.remove(module_file(options[:project_root], module_name, filename))
93
+ Renderer.remove(module_file(options[:project_root], namespace, module_name, filename))
85
94
  else
86
95
  templatename = local_file(options[:configs], filename)
87
96
  begin
88
97
  erb = Renderer.build(templatename)
89
98
  template = Renderer.render(erb, configs)
90
- Renderer.sync(template, module_file(options[:project_root], module_name, filename))
99
+ Renderer.sync(template, module_file(options[:project_root], namespace, module_name, filename))
91
100
  rescue # rubocop:disable Lint/RescueWithoutErrorClass
92
101
  STDERR.puts "Error while rendering #{filename}"
93
102
  raise
@@ -101,20 +110,19 @@ module ModuleSync
101
110
  raise unless options[:skip_broken]
102
111
  end
103
112
 
104
- puts "Syncing #{puppet_module}"
105
113
  namespace, module_name = module_name(puppet_module, options[:namespace])
114
+ git_repo = File.join(namespace, module_name)
106
115
  unless options[:offline]
107
- git_base = options[:git_base]
108
- git_uri = "#{git_base}#{namespace}"
109
- Git.pull(git_uri, module_name, options[:branch], options[:project_root], module_options || {})
116
+ Git.pull(options[:git_base], git_repo, options[:branch], options[:project_root], module_options || {})
110
117
  end
111
- module_configs = Util.parse_config("#{options[:project_root]}/#{module_name}/#{MODULE_CONF_FILE}")
118
+
119
+ module_configs = Util.parse_config(module_file(options[:project_root], namespace, module_name, MODULE_CONF_FILE))
112
120
  settings = Settings.new(defaults[GLOBAL_DEFAULTS_KEY] || {},
113
121
  defaults,
114
122
  module_configs[GLOBAL_DEFAULTS_KEY] || {},
115
123
  module_configs,
116
124
  :puppet_module => module_name,
117
- :git_base => git_base,
125
+ :git_base => options[:git_base],
118
126
  :namespace => namespace)
119
127
  settings.unmanaged_files(module_files).each do |filename|
120
128
  puts "Not managing #{filename} in #{module_name}"
@@ -124,14 +132,14 @@ module ModuleSync
124
132
  files_to_manage.each { |filename| manage_file(filename, settings, options) }
125
133
 
126
134
  if options[:noop]
127
- Git.update_noop(module_name, options)
135
+ Git.update_noop(git_repo, options)
128
136
  elsif !options[:offline]
129
137
  # Git.update() returns a boolean: true if files were pushed, false if not.
130
- pushed = Git.update(module_name, files_to_manage, options)
138
+ pushed = Git.update(git_repo, files_to_manage, options)
131
139
  return nil unless pushed && options[:pr]
132
140
 
133
141
  # We only do GitHub PR work if the GITHUB_TOKEN variable is set in the environment.
134
- repo_path = "#{namespace}/#{module_name}"
142
+ repo_path = File.join(namespace, module_name)
135
143
  puts "Submitting PR '#{options[:pr_title]}' on GitHub to #{repo_path} - merges #{options[:branch]} into master"
136
144
  github = Octokit::Client.new(:access_token => GITHUB_TOKEN)
137
145
  pr = github.create_pull_request(repo_path, 'master', options[:branch], options[:pr_title], options[:message])
@@ -152,13 +160,15 @@ module ModuleSync
152
160
 
153
161
  def self.update(options)
154
162
  options = config_defaults.merge(options)
155
- defaults = Util.parse_config("#{options[:configs]}/#{CONF_FILE}")
163
+ defaults = Util.parse_config(File.join(options[:configs], CONF_FILE))
156
164
 
157
- path = "#{options[:configs]}/#{MODULE_FILES_DIR}"
158
- local_files = self.local_files(path)
159
- module_files = self.module_files(local_files, path)
165
+ local_template_dir = File.join(options[:configs], MODULE_FILES_DIR)
166
+ local_files = find_template_files(local_template_dir)
167
+ module_files = relative_names(local_files, local_template_dir)
160
168
 
161
- managed_modules = self.managed_modules("#{options[:configs]}/#{options[:managed_modules_conf]}", options[:filter], options[:negative_filter])
169
+ managed_modules = self.managed_modules(File.join(options[:configs], options[:managed_modules_conf]),
170
+ options[:filter],
171
+ options[:negative_filter])
162
172
 
163
173
  errors = false
164
174
  # managed_modules is either an array or a hash
@@ -43,7 +43,8 @@ module ModuleSync
43
43
  :default => CLI.defaults[:git_base] || 'git@github.com:'
44
44
  class_option :namespace,
45
45
  :aliases => '-n',
46
- :desc => 'Remote github namespace (user or organization) to clone from and push to. Defaults to puppetlabs',
46
+ :desc => 'Remote github namespace (user or organization) to clone from and push to.' \
47
+ ' Defaults to puppetlabs',
47
48
  :default => CLI.defaults[:namespace] || 'puppetlabs'
48
49
  class_option :filter,
49
50
  :aliases => '-f',
@@ -53,7 +54,8 @@ module ModuleSync
53
54
  :desc => 'A regular expression to skip repositories.'
54
55
  class_option :branch,
55
56
  :aliases => '-b',
56
- :desc => 'Branch name to make the changes in. Defaults to the default branch of the upstream repository, but falls back to "master".',
57
+ :desc => 'Branch name to make the changes in.' \
58
+ ' Defaults to the default branch of the upstream repository, but falls back to "master".',
57
59
  :default => CLI.defaults[:branch]
58
60
 
59
61
  desc 'update', 'Update the modules in managed_modules.yml'
@@ -63,7 +65,8 @@ module ModuleSync
63
65
  :default => CLI.defaults[:message]
64
66
  option :configs,
65
67
  :aliases => '-c',
66
- :desc => 'The local directory or remote repository to define the list of managed modules, the file templates, and the default values for template variables.'
68
+ :desc => 'The local directory or remote repository to define the list of managed modules,' \
69
+ ' the file templates, and the default values for template variables.'
67
70
  option :remote_branch,
68
71
  :aliases => '-r',
69
72
  :desc => 'Remote branch name to push the changes to. Defaults to the branch name.',
@@ -114,18 +117,21 @@ module ModuleSync
114
117
  option :tag_pattern,
115
118
  :desc => 'The pattern to use when tagging releases.'
116
119
  option :pre_commit_script,
117
- :desc => 'A script to be run before commiting',
120
+ :desc => 'A script to be run before committing',
118
121
  :default => CLI.defaults[:pre_commit_script]
119
122
  option :fail_on_warnings,
120
123
  :type => :boolean,
121
124
  :aliases => '-F',
122
- :desc => 'Produce a failure exit code when there are warnings (only has effect when --skip_broken is enabled)',
125
+ :desc => 'Produce a failure exit code when there are warnings' \
126
+ ' (only has effect when --skip_broken is enabled)',
123
127
  :default => false
124
128
 
125
129
  def update
126
130
  config = { :command => 'update' }.merge(options)
127
131
  config = Util.symbolize_keys(config)
128
- raise Thor::Error, 'No value provided for required option "--message"' unless config[:noop] || config[:message] || config[:offline]
132
+ raise Thor::Error, 'No value provided for required option "--message"' unless config[:noop] \
133
+ || config[:message] \
134
+ || config[:offline]
129
135
  config[:git_opts] = { 'amend' => config[:amend], 'force' => config[:force] }
130
136
  ModuleSync.update(config)
131
137
  end
@@ -46,12 +46,13 @@ module ModuleSync
46
46
  end
47
47
 
48
48
  def self.pull(git_base, name, branch, project_root, opts)
49
+ puts "Syncing #{name}"
49
50
  Dir.mkdir(project_root) unless Dir.exist?(project_root)
50
51
 
51
52
  # Repo needs to be cloned in the cwd
52
53
  if !Dir.exist?("#{project_root}/#{name}") || !Dir.exist?("#{project_root}/#{name}/.git")
53
54
  puts 'Cloning repository fresh'
54
- remote = opts[:remote] || (git_base.start_with?('file://') ? "#{git_base}/#{name}" : "#{git_base}/#{name}.git")
55
+ remote = opts[:remote] || (git_base.start_with?('file://') ? "#{git_base}#{name}" : "#{git_base}#{name}.git")
55
56
  local = "#{project_root}/#{name}"
56
57
  puts "Cloning from #{remote}"
57
58
  repo = ::Git.clone(remote, local)
@@ -19,10 +19,9 @@ module ModuleSync
19
19
 
20
20
  def build_file_configs(target_name)
21
21
  file_def = lookup_config(defaults, target_name)
22
- file_md = lookup_config(module_defaults, target_name)
23
22
  file_mc = lookup_config(module_configs, target_name)
24
23
 
25
- global_defaults.merge(file_def).merge(file_md).merge(file_mc).merge(additional_settings)
24
+ global_defaults.merge(file_def).merge(module_defaults).merge(file_mc).merge(additional_settings)
26
25
  end
27
26
 
28
27
  def managed?(target_name)
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'modulesync'
6
- spec.version = '0.10.0'
6
+ spec.version = '1.0.0'
7
7
  spec.authors = ['Vox Pupuli']
8
8
  spec.email = ['voxpupuli@groups.io']
9
9
  spec.summary = 'Puppet Module Synchronizer'
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe ModuleSync do
4
4
  context '::update' do
5
5
  it 'loads the managed modules from the specified :managed_modules_conf' do
6
- allow(ModuleSync).to receive(:local_files).and_return([])
6
+ allow(ModuleSync).to receive(:find_template_files).and_return([])
7
7
  allow(ModuleSync::Util).to receive(:parse_config).with('./config_defaults.yml').and_return({})
8
8
  expect(ModuleSync).to receive(:managed_modules).with('./test_file.yml', nil, nil).and_return([])
9
9
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modulesync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-27 00:00:00.000000000 Z
11
+ date: 2019-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  requirements: []
196
- rubygems_version: 3.0.1
196
+ rubygems_version: 3.0.6
197
197
  signing_key:
198
198
  specification_version: 4
199
199
  summary: Puppet Module Synchronizer