disloku 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 114b22aa9d4750cc34ec61df2eaa35db116d2019
4
- data.tar.gz: e3ca011d1d3b297c073dec2a226fce5d290c6ef4
3
+ metadata.gz: 2f64d1e3ee54cc8b840c1c8d2a3e38093b71e35a
4
+ data.tar.gz: 03382e354613f9d820ff86ef242dbf4d156de129
5
5
  SHA512:
6
- metadata.gz: 405cdd36e1552d1504d660cb604ce12d3bb3c5e05507b593c710a4bd761b24f031b12d98f02cb3e81e06d5d85353457212deed90ad235ad5bd21acfd5cd7ba1a
7
- data.tar.gz: a098da49f71bbec30fdc13b55572e6f7d19a640cf52c2d9408d6861b7fd5518399796de84dbb3707b35a719d7389f88982674ae459283f702fc1064c4de11a1e
6
+ metadata.gz: 92fbd584e6295b784211813fd578caa6a9f276f52b3059ac6824ab1f1ac3e4020292ace0b87b28cb5e1ce37fbfcb96549eab94a7f56cc1de4546571bc07cd860
7
+ data.tar.gz: bf16508627508a393ac4dc89755a13a21491660a00d015e3286be7d74aba55c36213f5fae16a621d250c66f91dddb174a38fc90bfafdc3ea4dcdb119f931b272
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2014 Lukas Angerer
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/bin/disloku CHANGED
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require('disloku')
4
- DislokuCli.start()
4
+ begin
5
+ DislokuCli.start()
6
+ rescue Interrupt => e
7
+ $stderr.puts("Disloku was killed with CTRL+C")
8
+ end
@@ -1,12 +1,12 @@
1
- require 'Forwardable'
2
- require 'Pathname'
1
+ require('forwardable')
2
+ require('pathname')
3
3
 
4
4
  module Disloku
5
5
  class ChangeSet
6
6
  include Enumerable
7
7
  extend Forwardable
8
8
  def_delegators :@changes, :each, :<<
9
-
9
+
10
10
  def initialize()
11
11
  @changes = Array.new()
12
12
  end
@@ -2,12 +2,13 @@
2
2
  module Disloku
3
3
  class ChangeSetProvider
4
4
  attr_accessor :repository
5
-
5
+
6
6
  def initialize(repository)
7
7
  @repository = repository
8
8
  end
9
-
10
- def getChangeSet(from, to)
9
+
10
+ def getChangeSets(from, to)
11
+ raise NotImplementedError.new()
11
12
  end
12
13
  end
13
14
  end
@@ -1,4 +1,4 @@
1
- require('YAML')
1
+ require('yaml')
2
2
  require_relative('util/Hash')
3
3
 
4
4
  module Disloku
@@ -39,12 +39,12 @@ module Disloku
39
39
  end
40
40
 
41
41
  def buildPackage(from, to)
42
- changeset = @repository.getChangeSet(from, to)
42
+ changesets = @repository.getChangeSets(from, to)
43
43
 
44
44
  folderInput = {
45
45
  :options => @options,
46
46
  :allowOverride => false,
47
- :changesets => [changeset],
47
+ :changesets => changesets,
48
48
  :target => nil,
49
49
  }
50
50
 
@@ -57,12 +57,12 @@ module Disloku
57
57
  end
58
58
 
59
59
  def deployPackage(from, to)
60
- changeset = @repository.getChangeSet(from, to)
60
+ changesets = @repository.getChangeSets(from, to)
61
61
 
62
62
  folderInput = {
63
63
  :options => @options,
64
64
  :allowOverride => false,
65
- :changesets => [changeset],
65
+ :changesets => changesets,
66
66
  :target => nil,
67
67
  }
68
68
 
data/lib/disloku/Log.rb CHANGED
@@ -1,33 +1,42 @@
1
- require('Singleton')
2
- require('Logger')
1
+ require_relative('util/Kernel')
2
+ require('singleton')
3
+ require('logger')
3
4
 
4
5
  module Disloku
5
6
  class Log
6
7
  include Singleton
7
-
8
+
8
9
  def initialize()
9
10
  @logger = Logger.new(STDOUT)
10
11
  @logger.formatter = proc { |severity, datetime, progname, msg|
11
12
  "#{msg}\n"
12
13
  }
13
14
  end
14
-
15
+
16
+ def level()
17
+ return @logger.level
18
+ end
19
+
20
+ def level=(level)
21
+ @logger.level = level
22
+ end
23
+
15
24
  def debug(message)
16
25
  @logger.debug(message)
17
26
  end
18
-
27
+
19
28
  def info(message)
20
29
  @logger.debug(message)
21
30
  end
22
-
31
+
23
32
  def warn(message)
24
33
  @logger.debug(message)
25
34
  end
26
-
35
+
27
36
  def error(message)
28
37
  @logger.debug(message)
29
38
  end
30
-
39
+
31
40
  def fatal(message)
32
41
  @logger.debug(message)
33
42
  end
@@ -1,6 +1,8 @@
1
+ require_relative('Log')
1
2
  require_relative('Config')
2
- require('fileutils')
3
+ require_relative('util/Kernel')
3
4
  require('tmpdir')
5
+ require('fileutils')
4
6
 
5
7
  module Disloku
6
8
  class Options
@@ -22,8 +24,14 @@ module Disloku
22
24
  end
23
25
 
24
26
  if (@options[:packageDir] == :temp)
25
- puts("creating tempdir")
26
27
  @options[:packageDir] = Dir.mktmpdir("disloku")
28
+ Log.instance.debug("Creating tmp directory #{@options[:packageDir]}")
29
+
30
+ # make sure the temp directory is deleted when the program exists
31
+ at_exit {
32
+ Log.instance.debug("Removing tmp directory #{@options[:packageDir]}")
33
+ FileUtils.rm_r(@options[:packageDir], :force => true)
34
+ }
27
35
  end
28
36
  end
29
37
 
@@ -20,10 +20,11 @@ module Disloku
20
20
  end
21
21
 
22
22
  def getProvider()
23
+ raise NotImplementedError.new()
23
24
  end
24
25
 
25
- def getChangeSet(from = nil, to = nil)
26
- return @provider.getChangeSet(from, to)
26
+ def getChangeSets(from = nil, to = nil)
27
+ return @provider.getChangeSets(from, to)
27
28
  end
28
29
  end
29
30
  end
@@ -20,7 +20,7 @@ module Disloku
20
20
  }
21
21
 
22
22
  class ChangeSetProvider < Disloku::ChangeSetProvider
23
- def getChangeSet(from = nil, to = nil)
23
+ def getChangeSets(from = nil, to = nil)
24
24
  if (from == nil)
25
25
  from = "HEAD"
26
26
  end
@@ -37,7 +37,7 @@ module Disloku
37
37
  result << FileChange.new(repository, match[2], getChangeType(match[1]))
38
38
  end
39
39
 
40
- return result
40
+ return [result]
41
41
  end
42
42
 
43
43
  def getChangeType(changeChar)
@@ -21,7 +21,7 @@ module Disloku
21
21
  }
22
22
 
23
23
  class ChangeSetProvider < Disloku::ChangeSetProvider
24
- def getChangeSet(from, to)
24
+ def getChangeSets(from, to)
25
25
  status = SysCmd.new("svn status #{repository.root}").execute()
26
26
 
27
27
  result = ChangeSet.new()
@@ -30,7 +30,7 @@ module Disloku
30
30
  result << FileChange.new(repository, match[2], getChangeType(match[1]))
31
31
  end
32
32
 
33
- return result
33
+ return [result]
34
34
  end
35
35
 
36
36
  def getChangeType(changeChar)
@@ -1,5 +1,6 @@
1
1
  require_relative('../Log')
2
2
  require_relative('../BaseTask')
3
+ require_relative('../util/Kernel')
3
4
  require('fileutils')
4
5
  require('stringio')
5
6
 
@@ -1,6 +1,6 @@
1
1
  require_relative('../Log')
2
2
  require_relative('../BaseTask')
3
- require('Open3')
3
+ require('open3')
4
4
 
5
5
  module Disloku
6
6
  module Tasks
@@ -0,0 +1,10 @@
1
+
2
+ module Kernel
3
+ def suppress_warnings()
4
+ original_verbosity = $VERBOSE
5
+ $VERBOSE = nil
6
+ result = yield
7
+ $VERBOSE = original_verbosity
8
+ return result
9
+ end
10
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: disloku
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Angerer
@@ -9,7 +9,63 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-03-05 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.18.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.18.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: net-sftp
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 2.1.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: 2.1.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 10.1.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 10.1.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.14.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.14.1
13
69
  description: A deployment tool that allows copying of Git changesets via sftp
14
70
  email: executor.dev@gmail.com
15
71
  executables:
@@ -46,9 +102,11 @@ files:
46
102
  - lib/disloku/tasks/PsFtpTask.rb
47
103
  - lib/disloku/util/File.rb
48
104
  - lib/disloku/util/Hash.rb
105
+ - lib/disloku/util/Kernel.rb
49
106
  - lib/disloku.rb
107
+ - LICENSE
50
108
  - bin/disloku
51
- homepage:
109
+ homepage: https://rubygems.org/gems/disloku
52
110
  licenses:
53
111
  - MIT
54
112
  metadata: {}