Skip to content
This repository was archived by the owner on Jun 2, 2019. It is now read-only.

Commit b53fdc3

Browse files
authored
Merge pull request #61 from madelaney/master
-- #60: adding support for the Maven security file
2 parents 0a8dbfc + 9a34651 commit b53fdc3

File tree

4 files changed

+41
-2
lines changed

4 files changed

+41
-2
lines changed

manifests/settings.pp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,10 @@
128128
#
129129
# activeProfiles => [ 'profile1', 'profile2', ...]
130130
#
131-
define maven::settings( $home = undef, $user = 'root', $group = 'root',
131+
define maven::settings($home = undef, $user = 'root', $group = 'root',
132132
$servers = [], $mirrors = [], $default_repo_config = undef, $repos = [],
133133
$properties = {}, $local_repo = '', $dir_mask = '700', $file_mask = '600',
134-
$proxies = [], $profiles = {}, $active_profiles = []) {
134+
$proxies = [], $profiles = {}, $active_profiles = [], $master_password = undef) {
135135

136136
if $home == undef {
137137
$home_real = $user ? {
@@ -156,4 +156,13 @@
156156
content => template('maven/settings.xml.erb'),
157157
}
158158

159+
unless $master_password == undef {
160+
file { "${home_real}/.m2/settings-security.xml":
161+
owner => $user,
162+
group => $group,
163+
mode => $file_mask,
164+
content => template('maven/settings-security.xml.erb'),
165+
require => File["${home_real}/.m2"],
166+
}
167+
}
159168
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<settingsSecurity>
2+
<master>{7837*#&$*i878283mkjdksf=}</master>
3+
</settingsSecurity>

spec/defines/settings_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ def read_file(filename)
1313
end
1414
end
1515

16+
shared_examples :maven_settings_security do |expected_file|
17+
18+
def read_file(filename)
19+
IO.read(File.expand_path(filename, File.dirname(__FILE__)))
20+
end
21+
22+
it { should contain_file(expected_filename).with_owner('u') }
23+
24+
it 'should generate valid settings.xml' do
25+
should contain_file(expected_filename).with_content(read_file(expected_file))
26+
end
27+
end
28+
1629
describe "maven::settings" do
1730
let(:title) { 'settings' }
1831
let(:params) { {
@@ -244,4 +257,15 @@ def read_file(filename)
244257

245258
it_behaves_like :maven_settings, "active-profiles-settings.xml"
246259
end
260+
261+
context "with master password", :compile do
262+
let(:expected_filename) { '/home/u/.m2/settings-security.xml' }
263+
let(:params) {{
264+
:user => "u",
265+
:home => "/home/u",
266+
:master_password => '{7837*#&$*i878283mkjdksf=}'
267+
}}
268+
269+
it_behaves_like :maven_settings_security, "default-settings-security.xml"
270+
end
247271
end

templates/settings-security.xml.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<settingsSecurity>
2+
<master><%= @master_password %></master>
3+
</settingsSecurity>

0 commit comments

Comments
 (0)