depengine 3.0.20 → 3.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -0
  3. data/.rubocop_todo.yml +52 -0
  4. data/Gemfile.lock +16 -1
  5. data/Rakefile +9 -9
  6. data/bin/cdb_crypt +2 -2
  7. data/bin/de +1 -1
  8. data/bin/depengine +2 -2
  9. data/bin/spec_setup +2 -2
  10. data/depengine.gemspec +22 -21
  11. data/lib/depengine/asserter/url.rb +8 -9
  12. data/lib/depengine/cli.rb +12 -14
  13. data/lib/depengine/dsl/cdb.rb +16 -17
  14. data/lib/depengine/dsl/deployment.rb +42 -50
  15. data/lib/depengine/dsl/dweb.rb +10 -11
  16. data/lib/depengine/dsl/executor.rb +5 -5
  17. data/lib/depengine/dsl/fileops.rb +3 -4
  18. data/lib/depengine/dsl/helper.rb +26 -28
  19. data/lib/depengine/dsl/iis.rb +21 -24
  20. data/lib/depengine/dsl/patch.rb +22 -46
  21. data/lib/depengine/dsl/publisher.rb +14 -14
  22. data/lib/depengine/dsl/remote.rb +11 -13
  23. data/lib/depengine/dsl/repository.rb +19 -21
  24. data/lib/depengine/dsl/template.rb +19 -19
  25. data/lib/depengine/dsl/zip.rb +24 -24
  26. data/lib/depengine/helper/cli_helper.rb +9 -11
  27. data/lib/depengine/helper/hudson.rb +15 -19
  28. data/lib/depengine/helper/mail.rb +19 -25
  29. data/lib/depengine/helper/properties.rb +33 -52
  30. data/lib/depengine/helper/smb.rb +19 -25
  31. data/lib/depengine/helper/validations.rb +7 -7
  32. data/lib/depengine/helper/yaml.rb +7 -9
  33. data/lib/depengine/log/log.rb +3 -6
  34. data/lib/depengine/processor/erb_template.rb +42 -47
  35. data/lib/depengine/processor/fileops.rb +39 -48
  36. data/lib/depengine/processor/local_execute.rb +6 -4
  37. data/lib/depengine/processor/properties.rb +34 -56
  38. data/lib/depengine/processor/sed.rb +8 -12
  39. data/lib/depengine/processor/tags.rb +9 -10
  40. data/lib/depengine/processor/template.rb +27 -32
  41. data/lib/depengine/processor/zip.rb +16 -20
  42. data/lib/depengine/provider/cdb.rb +64 -71
  43. data/lib/depengine/provider/cdb_filesystem.rb +18 -26
  44. data/lib/depengine/provider/git.rb +37 -42
  45. data/lib/depengine/provider/repository.rb +161 -176
  46. data/lib/depengine/publisher/dweb.rb +74 -90
  47. data/lib/depengine/publisher/iis.rb +23 -30
  48. data/lib/depengine/publisher/rsync.rb +14 -17
  49. data/lib/depengine/publisher/samba.rb +12 -14
  50. data/lib/depengine/publisher/sftp.rb +51 -61
  51. data/lib/depengine/publisher/ssh.rb +19 -22
  52. data/lib/depengine/publisher/tomcat.rb +19 -21
  53. data/lib/depengine/reporter/cdb.rb +2 -3
  54. data/lib/depengine/version.rb +1 -1
  55. data/lib/depengine.rb +1 -2
  56. data/spec/cdb_spec.rb +8 -10
  57. data/spec/demo_recipe/recipes/demo.rb +10 -10
  58. data/spec/deployhelper_spec.rb +20 -21
  59. data/spec/fileops_spec.rb +11 -12
  60. data/spec/git_spec.rb +8 -4
  61. data/spec/helper_spec.rb +75 -75
  62. data/spec/junit.rb +47 -49
  63. data/spec/local_execute.rb +7 -7
  64. data/spec/log_spec.rb +17 -18
  65. data/spec/properties_spec.rb +13 -15
  66. data/spec/recipe_spec.rb +15 -16
  67. data/spec/repository_spec.rb +20 -20
  68. data/spec/ssh_spec.rb +18 -19
  69. data/spec/template_spec.rb +30 -30
  70. data/spec/zip_spec.rb +7 -7
  71. metadata +18 -2
@@ -13,40 +13,40 @@ require_relative '../lib/depengine/log/log'
13
13
  $log = Log::DeploymentLogger.new
14
14
  $log.writer.level = Log4r::DEBUG
15
15
 
16
- describe "getting a file" do
17
- context "with maven" do
18
- it "should get from a remote repository" do
16
+ describe 'getting a file' do
17
+ context 'with maven' do
18
+ it 'should get from a remote repository' do
19
19
  tmp_dir = Dir.mktmpdir
20
20
  begin
21
- test = Provider::Repository.new()
22
- test.repository = "http://repo1.maven.org/maven2/"
23
- test.user = ""
24
- test.password = ""
25
- test.method = "maven"
21
+ test = Provider::Repository.new
22
+ test.repository = 'http://repo1.maven.org/maven2/'
23
+ test.user = ''
24
+ test.password = ''
25
+ test.method = 'maven'
26
26
 
27
- test.get_from_repository("org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar", tmp_dir)
28
- File.file?(tmp_dir+'/maven-model-2.2.1.jar').should be true
27
+ test.get_from_repository('org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar', tmp_dir)
28
+ File.file?(tmp_dir + '/maven-model-2.2.1.jar').should be true
29
29
  ensure
30
30
  FileUtils.remove_entry tmp_dir
31
31
  end
32
32
  end
33
33
  end
34
34
 
35
- context "with SCP" do
36
- it "should get a file from a remote host" do
35
+ context 'with SCP' do
36
+ it 'should get a file from a remote host' do
37
37
  tmp_dir = Dir.mktmpdir
38
38
  begin
39
- FileUtils.mkdir tmp_dir+"/source"
40
- FileUtils.touch tmp_dir+"/source/test.file"
39
+ FileUtils.mkdir tmp_dir + '/source'
40
+ FileUtils.touch tmp_dir + '/source/test.file'
41
41
 
42
- test = Provider::Repository.new()
43
- test.host = "localhost"
42
+ test = Provider::Repository.new
43
+ test.host = 'localhost'
44
44
  test.user = ENV['USER']
45
- test.sshkey = ENV['HOME']+"/.ssh/id_rsa"
46
- test.method = "scp"
45
+ test.sshkey = ENV['HOME'] + '/.ssh/id_rsa'
46
+ test.method = 'scp'
47
47
 
48
- test.get_from_repository(tmp_dir+"/source/test.file", tmp_dir)
49
- File.file?(tmp_dir+'/test.file').should be true
48
+ test.get_from_repository(tmp_dir + '/source/test.file', tmp_dir)
49
+ File.file?(tmp_dir + '/test.file').should be true
50
50
  ensure
51
51
  FileUtils.remove_entry tmp_dir
52
52
  end
data/spec/ssh_spec.rb CHANGED
@@ -12,60 +12,59 @@ $log = Log::DeploymentLogger.new
12
12
  $log.writer.level = Log4r::INFO
13
13
  $exec_file_path = __FILE__
14
14
 
15
- describe "the ssh publisher" do
16
- it "should execute a command on a remote host" do
15
+ describe 'the ssh publisher' do
16
+ it 'should execute a command on a remote host' do
17
17
  worker = Publisher::Ssh.new
18
18
  worker.remote_host = 'localhost'
19
19
  worker.remote_user = ENV['USER']
20
- worker.ssh_key_file = ENV['HOME']+"/.ssh/id_rsa"
20
+ worker.ssh_key_file = ENV['HOME'] + '/.ssh/id_rsa'
21
21
 
22
- result = ''
23
22
  result = worker.remote_execute('ls -l /')
24
- result.should include("drwx")
23
+ result.should include('drwx')
25
24
  end
26
25
 
27
- it "removes old releases" do
26
+ it 'removes old releases' do
28
27
  tmp_dir = Dir.mktmpdir
29
28
  begin
30
29
  elements = 10
31
30
  elements.times do |i|
32
- random_time_in_the_past_days = (Time.now-25*60*60*i-((rand*10000).to_i))
33
- FileUtils.mkdir_p(File.join(tmp_dir,random_time_in_the_past_days.strftime("%Y-%m-%d_%s")))
31
+ random_time_in_the_past_days = (Time.now - 25 * 60 * 60 * i - ((rand * 10_000).to_i))
32
+ FileUtils.mkdir_p(File.join(tmp_dir, random_time_in_the_past_days.strftime('%Y-%m-%d_%s')))
34
33
  end
35
- Dir.glob(tmp_dir+"/*").size.should be elements
34
+ Dir.glob(tmp_dir + '/*').size.should be elements
36
35
 
37
36
  worker = Publisher::Ssh.new
38
37
  worker.remote_host = 'localhost'
39
38
  worker.remote_user = ENV['USER']
40
- worker.ssh_key_file = ENV['HOME']+"/.ssh/id_rsa"
39
+ worker.ssh_key_file = ENV['HOME'] + '/.ssh/id_rsa'
41
40
 
42
- newest_release = Time.now.strftime("%Y-%m-%d_%s")
41
+ newest_release = Time.now.strftime('%Y-%m-%d_%s')
43
42
  FileUtils.mkdir_p(File.join(tmp_dir, newest_release))
44
43
 
45
44
  worker.remove_old_releases(tmp_dir, 1, /[0-9]{4}\-[0-9]{2}\-[0-9]{2}_[0-9]+.*/)
46
- Dir.glob(tmp_dir+"/*").size.should be 1
47
- Dir.glob(tmp_dir+"/*").first.should include(newest_release)
45
+ Dir.glob(tmp_dir + '/*').size.should be 1
46
+ Dir.glob(tmp_dir + '/*').first.should include(newest_release)
48
47
 
49
48
  ensure
50
49
  FileUtils.remove_entry tmp_dir
51
50
  end
52
51
  end
53
52
 
54
- context "when no previous release" do
55
- it "does not remove anything" do
53
+ context 'when no previous release' do
54
+ it 'does not remove anything' do
56
55
  tmp_dir = Dir.mktmpdir
57
56
  begin
58
57
  worker = Publisher::Ssh.new
59
58
  worker.remote_host = 'localhost'
60
59
  worker.remote_user = ENV['USER']
61
- worker.ssh_key_file = ENV['HOME']+"/.ssh/id_rsa"
60
+ worker.ssh_key_file = ENV['HOME'] + '/.ssh/id_rsa'
62
61
 
63
- newest_release = Time.now.strftime("%Y-%m-%d_%s")
62
+ newest_release = Time.now.strftime('%Y-%m-%d_%s')
64
63
  FileUtils.mkdir_p(File.join(tmp_dir, newest_release))
65
64
 
66
65
  worker.remove_old_releases(tmp_dir, 2, /[0-9]{4}\-[0-9]{2}\-[0-9]{2}_[0-9]+.*/)
67
- Dir.glob(tmp_dir+"/*").size.should be 1
68
- Dir.glob(tmp_dir+"/*").first.should include(newest_release)
66
+ Dir.glob(tmp_dir + '/*').size.should be 1
67
+ Dir.glob(tmp_dir + '/*').first.should include(newest_release)
69
68
 
70
69
  ensure
71
70
  FileUtils.remove_entry tmp_dir
@@ -13,77 +13,77 @@ require_relative '../lib/depengine/helper/validations'
13
13
  $log = Log::DeploymentLogger.new
14
14
  $log.writer.level = Log4r::ERROR
15
15
 
16
- describe "the template mechanism" do
16
+ describe 'the template mechanism' do
17
17
 
18
- context "given a string" do
19
- it "should render a template" do
20
- result = Processor::Template.parse(">Template< ><t:echo>Content</t:echo><", {})
21
- expect(result).to include(">Template< >Content<")
18
+ context 'given a string' do
19
+ it 'should render a template' do
20
+ result = Processor::Template.parse('>Template< ><t:echo>Content</t:echo><', {})
21
+ expect(result).to include('>Template< >Content<')
22
22
  end
23
23
  end
24
24
 
25
- context "given a single file as source" do
26
- it "should render a template" do
25
+ context 'given a single file as source' do
26
+ it 'should render a template' do
27
27
  result = Processor::Template.parse('spec/templates/single.tpl', {})
28
- expect(result).to include(">Template< >Content<")
28
+ expect(result).to include('>Template< >Content<')
29
29
  end
30
30
 
31
- it "should create Tags from the content hash and provide it to the template" do
32
- content = {'parameter' => 'value'}
31
+ it 'should create Tags from the content hash and provide it to the template' do
32
+ content = { 'parameter' => 'value' }
33
33
  result = Processor::Template.parse('spec/templates/single_hash.tpl', content)
34
- expect(result).to include(">Template< >value<")
34
+ expect(result).to include('>Template< >value<')
35
35
  end
36
36
 
37
- it "should honor the excludes" do
37
+ it 'should honor the excludes' do
38
38
  tmp_dir = Dir.mktmpdir
39
39
  begin
40
40
  worker = Processor::Template.new
41
41
  worker.basepath = File.join(File.dirname(__FILE__), 'templates')
42
- worker.parse_template('base/sub1/single.tpl', {}, tmp_dir, {:excludes => ["single"]})
42
+ worker.parse_template('base/sub1/single.tpl', {}, tmp_dir, excludes: ['single'])
43
43
 
44
- expect(File.file?(File.join(tmp_dir, "base/sub1/single"))).to be false
44
+ expect(File.file?(File.join(tmp_dir, 'base/sub1/single'))).to be false
45
45
  ensure
46
46
  FileUtils.remove_entry tmp_dir
47
47
  end
48
48
  end
49
49
 
50
- it "should create a directory structure in analogy to the source tree" do
50
+ it 'should create a directory structure in analogy to the source tree' do
51
51
  tmp_dir = Dir.mktmpdir
52
52
  begin
53
53
  worker = Processor::Template.new
54
54
  worker.basepath = File.join(File.dirname(__FILE__), 'templates')
55
55
  worker.parse_template('base/sub1/single.tpl', {}, tmp_dir)
56
56
 
57
- expect(File.open(File.join(tmp_dir,"base/sub1/single"), 'r').read).to include(">Template< >Content<")
57
+ expect(File.open(File.join(tmp_dir, 'base/sub1/single'), 'r').read).to include('>Template< >Content<')
58
58
  ensure
59
59
  FileUtils.remove_entry tmp_dir
60
60
  end
61
61
  end
62
62
  end
63
63
 
64
- context "given a directory" do
65
- it "should create a directory structure in analogy to the source tree" do
64
+ context 'given a directory' do
65
+ it 'should create a directory structure in analogy to the source tree' do
66
66
  tmp_dir = Dir.mktmpdir
67
67
  begin
68
68
  worker = Processor::Template.new
69
69
  worker.basepath = File.join(File.dirname(__FILE__), 'templates')
70
70
  worker.parse_template('base/sub2', {}, tmp_dir)
71
71
 
72
- expect(File.open(File.join(tmp_dir, "base/sub2/multi2"), 'r').read).to include(">Template< >Content<")
72
+ expect(File.open(File.join(tmp_dir, 'base/sub2/multi2'), 'r').read).to include('>Template< >Content<')
73
73
  ensure
74
74
  FileUtils.remove_entry tmp_dir
75
75
  end
76
76
  end
77
77
 
78
- it "should not use any excluded file" do
78
+ it 'should not use any excluded file' do
79
79
  tmp_dir = Dir.mktmpdir
80
80
  begin
81
81
  worker = Processor::Template.new
82
82
  worker.basepath = File.join(File.dirname(__FILE__), 'templates')
83
- worker.parse_template('base/sub2', {}, tmp_dir, {:excludes => ["multi2"]})
83
+ worker.parse_template('base/sub2', {}, tmp_dir, excludes: ['multi2'])
84
84
 
85
- expect(File.file?(File.join(tmp_dir, "base/sub2/multi2"))).to be false
86
- expect(File.file?(File.join(tmp_dir, "base/sub2/multi1"))).to be true
85
+ expect(File.file?(File.join(tmp_dir, 'base/sub2/multi2'))).to be false
86
+ expect(File.file?(File.join(tmp_dir, 'base/sub2/multi1'))).to be true
87
87
  ensure
88
88
  FileUtils.remove_entry tmp_dir
89
89
  end
@@ -92,14 +92,14 @@ describe "the template mechanism" do
92
92
  end
93
93
 
94
94
  describe "the template DSL method 'parse_template'" do
95
- it "calls the processor" do
95
+ it 'calls the processor' do
96
96
  tmp_dir = Dir.mktmpdir
97
- begin
98
- hack_object = Class.new.class.class_eval("include Deployment::Methods::Template")
99
- hack_object.parse_template("base/sub1/single.tpl", tmp_dir, {}, {:basepath => File.join(File.dirname(__FILE__), 'templates'), })
100
- ensure
101
- FileUtils.remove_entry tmp_dir
102
- end
97
+ begin
98
+ hack_object = Class.new.class.class_eval('include Deployment::Methods::Template')
99
+ hack_object.parse_template('base/sub1/single.tpl', tmp_dir, {}, basepath: File.join(File.dirname(__FILE__), 'templates'))
100
+ ensure
101
+ FileUtils.remove_entry tmp_dir
102
+ end
103
103
  end
104
104
 
105
105
  end
data/spec/zip_spec.rb CHANGED
@@ -7,17 +7,17 @@ require_relative '../lib/depengine/log/log'
7
7
  $log = Log::DeploymentLogger.new
8
8
  $log.writer.level = Log4r::ERROR
9
9
 
10
- describe "the zipper" do
10
+ describe 'the zipper' do
11
11
  include Processor
12
12
 
13
- it "should extract all files from an archive" do
13
+ it 'should extract all files from an archive' do
14
14
  tmp_dir = Dir.mktmpdir
15
15
  begin
16
- unzip_file(File.join(File.dirname(__FILE__),'zip/source/dummy.zip'), tmp_dir)
17
- File.file?(File.join(tmp_dir,'dummy1')).should be_true
18
- File.file?(File.join(tmp_dir,'dummy2')).should be_true
19
- File.file?(File.join(tmp_dir,'dummy3')).should be_true
20
- File.file?(File.join(tmp_dir,'sub1/sub2/sub3/dummy4')).should be_true
16
+ unzip_file(File.join(File.dirname(__FILE__), 'zip/source/dummy.zip'), tmp_dir)
17
+ File.file?(File.join(tmp_dir, 'dummy1')).should be_true
18
+ File.file?(File.join(tmp_dir, 'dummy2')).should be_true
19
+ File.file?(File.join(tmp_dir, 'dummy3')).should be_true
20
+ File.file?(File.join(tmp_dir, 'sub1/sub2/sub3/dummy4')).should be_true
21
21
  ensure
22
22
  FileUtils.remove_entry tmp_dir
23
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: depengine
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.20
4
+ version: 3.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Team Automatisierung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-01 00:00:00.000000000 Z
11
+ date: 2014-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: 3.2.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: rubocop
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.24.1
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.24.1
195
209
  description: Simply generates Depengine text.
196
210
  email:
197
211
  - team-automatisierung@sinnerschrader.com
@@ -203,6 +217,8 @@ executables:
203
217
  extensions: []
204
218
  extra_rdoc_files: []
205
219
  files:
220
+ - ".rubocop.yml"
221
+ - ".rubocop_todo.yml"
206
222
  - Gemfile
207
223
  - Gemfile.lock
208
224
  - Rakefile