capistrano-former03 0.0.2 → 0.0.3

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.
data/bin/f03capinstall ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require 'capistrano/former03/install'
3
+ Capistrano::Former03::Install.new.run
@@ -0,0 +1,115 @@
1
+ require 'ostruct'
2
+ require 'optparse'
3
+ require 'logger'
4
+ require 'erb'
5
+ require 'fileutils'
6
+
7
+ module Capistrano
8
+ module Former03
9
+ # Install application
10
+ class Install
11
+ @@name = 'f03capinstall'
12
+
13
+ def initialize
14
+ @options = {}
15
+ @argv = nil
16
+ @log = Logger.new(STDOUT)
17
+ @log.level = Logger::INFO
18
+
19
+
20
+ end
21
+
22
+ def parse_arguments
23
+ options = OpenStruct.new
24
+ options.stages = ['production','staging','development']
25
+ options.force = false
26
+ options.verbose = false
27
+
28
+ opt_parser = OptionParser.new do |opts|
29
+ opts.banner = "Usage: #{@@name} [options]"
30
+ # Boolean switch
31
+ opts.on("-s", "--stages [#{options.stages.join(',')}]", Array, "Specify custom stage names") do |s|
32
+ options.stages = stages
33
+ end
34
+
35
+ opts.on("-f", "--force", "Overwrite existing files") do |v|
36
+ options.force = v
37
+ end
38
+
39
+ opts.on("-v", "--verbose", "Run verbosely") do |v|
40
+ options.verbose = v
41
+ end
42
+ end
43
+
44
+ opt_parser.parse!(@argv)
45
+
46
+ @options = options
47
+
48
+ if @options.verbose
49
+ @log.level = Logger::DEBUG
50
+ end
51
+ end
52
+
53
+ def setup_templates
54
+ template_dir = Pathname.new(File.expand_path("../templates/", __FILE__))
55
+ @log.debug "Search for templates in path '#{template_dir}'"
56
+ @template_deploy_rb = ERB.new template_dir.join('deploy.rb.erb').read
57
+ @template_stage_rb = ERB.new template_dir.join('stage.rb.erb').read
58
+ @template_capfile = ERB.new template_dir.join('Capfile').read
59
+ end
60
+
61
+ def generate_files
62
+ pwd = Pathname.pwd
63
+ generate_file pwd.join('Capfile'), @template_capfile
64
+ generate_file pwd.join('config/deploy.rb'), @template_deploy_rb
65
+ @options.stages.each do |stage|
66
+ generate_file pwd.join("config/deploy/#{stage}.rb"), @template_stage_rb, stage
67
+ end
68
+ end
69
+
70
+ def generate_file (path,template,stage=nil)
71
+ require 'capistrano/version'
72
+
73
+ if not path.dirname.directory?
74
+ @log.debug "create directory '#{path.dirname}"
75
+ FileUtils.mkdir_p path.dirname
76
+ end
77
+
78
+ if path.exist?
79
+ if @options.force
80
+ @log.warn "Overwriting file '#{path}'. To overwrite it use flag --force"
81
+ path.delete
82
+ else
83
+ @log.warn "won't overwrite already existing file '#{path}'. To overwrite it use flag --force"
84
+ return
85
+ end
86
+ end
87
+
88
+ f=path.open('w')
89
+ f.write(template.result(binding))
90
+ f.close
91
+
92
+ @log.info "Wrote file '#{path}'"
93
+ end
94
+
95
+ # Main method of application
96
+ def run
97
+ @argv = ARGV.dup
98
+
99
+ # Parse arguments
100
+ parse_arguments
101
+
102
+ # logging
103
+ @log.debug "#{@@name} is starting with arguments: #{ARGV}"
104
+ @log.debug "Parsed options: #{@options}"
105
+
106
+ # setup templates
107
+ setup_templates
108
+
109
+ # generate the actual files
110
+ generate_files
111
+
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,8 @@
1
+ # Load DSL and Setup Up Stages
2
+ require 'capistrano/setup'
3
+
4
+ # Includes default deployment tasks
5
+ require 'capistrano/deploy'
6
+
7
+ # Includes the former03 extensions
8
+ require 'capistrano/former03'
@@ -0,0 +1,38 @@
1
+ # ensure this version of capistrano is used
2
+ lock '<%= Capistrano::VERSION %>'
3
+
4
+ set :application, '<MY_APP_NAME>'
5
+
6
+ # Link files into deploy destination
7
+ # set :linked_files, ['wwwroot/config.inc.php']
8
+
9
+ # Link directories into deploy destination
10
+ # set :linked_dirs, ['wwwroot/typo3temp']
11
+
12
+ # Default value for keep_releases is 5
13
+ # set :keep_releases, 5
14
+
15
+ # Ensure rights for all files/dirs
16
+ # set :ensure_file_mode, '644'
17
+ # set :ensure_dir_mode, '755'
18
+
19
+ # Special rights for single files
20
+ #set :ensure_path_mode, {
21
+ # 'wwwroot/secret.conf' => '400',
22
+ # 'wwwroot/public_writable_dir' => '777',
23
+ #}
24
+
25
+ # Execute custom task after local stage (example default task)
26
+ =begin
27
+ namespace :custom do
28
+ desc 'Run rakefile'
29
+ task :rakefile do
30
+ run_locally do
31
+ within fetch(:local_stage_path) do
32
+ execute 'bundle exec rake'
33
+ end
34
+ end
35
+ end
36
+ end
37
+ after 'former03:local:stage', 'custom:rakefile'
38
+ =end
@@ -0,0 +1,27 @@
1
+ # Force deployment of busybox for standard commadns
2
+ #set :deploy_busybox_bin, true
3
+
4
+ # Force deployment of own rsync binary
5
+ #set :deploy_rsync_bin, true
6
+
7
+ # Move current dir to current/current, workaround for symlink problems
8
+ #set :current_path_real_dir, true
9
+
10
+ # Example for password authentication (you probably want to use public keys)
11
+ =begin
12
+ set :ssh_options, {
13
+ :forward_agent => false,
14
+ :auth_methods => %w(password),
15
+ :password => '<passw0rd>',
16
+ }
17
+ =end
18
+
19
+ # Destination directory for deployment
20
+ set :deploy_to, '<DESTDIR>'
21
+
22
+ # Configure remote server
23
+ server '<DNSNAME>',
24
+ roles: %w{web},
25
+ user: '<USER>'
26
+
27
+
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module Former03
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-former03
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Christian Simon
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-05-30 00:00:00.000000000 Z
12
+ date: 2014-06-04 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: capistrano
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - '='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - '='
25
28
  - !ruby/object:Gem::Version
@@ -27,63 +30,72 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: bundler
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rake
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: capistrano-spec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rspec
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: 2.5.0
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: 2.5.0
83
94
  description: Capistrano with extensions for FORMER 03
84
95
  email:
85
96
  - simon@swine.de
86
- executables: []
97
+ executables:
98
+ - f03capinstall
87
99
  extensions: []
88
100
  extra_rdoc_files: []
89
101
  files:
@@ -92,11 +104,16 @@ files:
92
104
  - LICENSE.txt
93
105
  - README.md
94
106
  - Rakefile
107
+ - bin/f03capinstall
95
108
  - capistrano-former03.gemspec
96
109
  - lib/capistrano/former03.rb
97
110
  - lib/capistrano/former03/deploy_command.rb
111
+ - lib/capistrano/former03/install.rb
98
112
  - lib/capistrano/former03/rsync.rb
99
113
  - lib/capistrano/former03/symlink.rb
114
+ - lib/capistrano/former03/templates/Capfile
115
+ - lib/capistrano/former03/templates/deploy.rb.erb
116
+ - lib/capistrano/former03/templates/stage.rb.erb
100
117
  - lib/capistrano/former03/version.rb
101
118
  - lib/capistrano/tasks/former03.rake
102
119
  - share/build_rsync.sh
@@ -110,26 +127,33 @@ files:
110
127
  homepage: https://github.com/former03/capistrano-former03
111
128
  licenses:
112
129
  - MIT
113
- metadata: {}
114
130
  post_install_message:
115
131
  rdoc_options: []
116
132
  require_paths:
117
133
  - lib
118
134
  required_ruby_version: !ruby/object:Gem::Requirement
135
+ none: false
119
136
  requirements:
120
- - - '>='
137
+ - - ! '>='
121
138
  - !ruby/object:Gem::Version
122
139
  version: '0'
140
+ segments:
141
+ - 0
142
+ hash: 2410931206260644472
123
143
  required_rubygems_version: !ruby/object:Gem::Requirement
144
+ none: false
124
145
  requirements:
125
- - - '>='
146
+ - - ! '>='
126
147
  - !ruby/object:Gem::Version
127
148
  version: '0'
149
+ segments:
150
+ - 0
151
+ hash: 2410931206260644472
128
152
  requirements: []
129
153
  rubyforge_project:
130
- rubygems_version: 2.2.2
154
+ rubygems_version: 1.8.23
131
155
  signing_key:
132
- specification_version: 4
156
+ specification_version: 3
133
157
  summary: Capistrano with extensions for FORMER 03
134
158
  test_files:
135
159
  - spec/helpers.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 67b7d66c381ef6c78c06b1140493b6fcb76e37a4
4
- data.tar.gz: 2b982ebdf4ad4d78b89b2c95d5fa66a6106bb042
5
- SHA512:
6
- metadata.gz: 659d77f10ccd256f5cc3763adc5a870f7d92e06d56f2a2523fdb0e0f73b55e38374fc15ea843ba645ae37df518a2fcd4786d0d8e86d94795d547500e3ca23e19
7
- data.tar.gz: fda656e846548a2a32c77e4a526a0a3e87ea2419dc115e0e4fc144ee7746e303b1cb86cd17da2e9030132408f79a8a5a6e7f1295fb000e41269d6b743208eeb1