capistrano-didi 0.4.4 → 0.4.5
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 +7 -0
- data/CHANGELOG.txt +7 -3
- data/VERSION +1 -1
- data/bin/didify +7 -6
- data/capistrano-didi.gemspec +2 -2
- data/lib/didi/recipes/didi.rb +76 -11
- metadata +36 -97
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA512:
|
|
3
|
+
data.tar.gz: f6c724b62e44dba0b97f1bb999638f291ef84c971dda7363d9934e93f7089305d24f3ccdde8dd8159b2fdd31ef46fabc462a010d4bf05a077051a6ca9374327c
|
|
4
|
+
metadata.gz: 6a0013ad8ea262cf9abae39b4ce059089df2dcc3edabd9e8db253c1a99462c9fb33f87504ca3193eeb082676e4efd214728016fce71e41fbe7778ca390737bc1
|
|
5
|
+
SHA1:
|
|
6
|
+
data.tar.gz: 349f43606d84dd6bbf717557d9d4fac959dd8dcf
|
|
7
|
+
metadata.gz: 341d92e5320779d85725ae66d0a10de7164c7143
|
data/CHANGELOG.txt
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## 0.4.5 / 3 July 2013
|
|
2
|
+
|
|
3
|
+
* added support for private files directory, using the user_private_files flag.
|
|
4
|
+
|
|
1
5
|
## 0.4.4 / 19 Oct 2012
|
|
2
6
|
|
|
3
7
|
* fixed issue where wrong previous releases folder was used during cleanup_shared_symlinks
|
|
@@ -33,8 +37,8 @@
|
|
|
33
37
|
|
|
34
38
|
## 0.3.2 / 23 Mar 2012
|
|
35
39
|
|
|
36
|
-
* added config option: enable_robots, default to false
|
|
37
|
-
* added config option: drush_path, on remote server
|
|
40
|
+
* added config option: enable_robots, default to false
|
|
41
|
+
* added config option: drush_path, on remote server
|
|
38
42
|
* added default php settings in settings.php file
|
|
39
43
|
* put site in maintenance mode during deploy
|
|
40
44
|
|
|
@@ -45,4 +49,4 @@
|
|
|
45
49
|
## 0.3.0 / 24 Nov 2011
|
|
46
50
|
|
|
47
51
|
* fix symlinks on rollback
|
|
48
|
-
* added manage:dbdump_previous task
|
|
52
|
+
* added manage:dbdump_previous task
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.4.
|
|
1
|
+
0.4.5
|
data/bin/didify
CHANGED
|
@@ -38,7 +38,7 @@ end
|
|
|
38
38
|
files = {
|
|
39
39
|
"Capfile" => unindent(<<-FILE),
|
|
40
40
|
require 'railsless-deploy' # gem install railsless-deploy
|
|
41
|
-
require 'didi/recipes/didi.rb' # gem install capistrano-didi
|
|
41
|
+
require 'didi/recipes/didi.rb' # gem install capistrano-didi
|
|
42
42
|
load 'config/deploy'
|
|
43
43
|
require 'capistrano/ext/multistage' # gem install capistrano
|
|
44
44
|
FILE
|
|
@@ -59,6 +59,7 @@ set :db_type, "mysql"
|
|
|
59
59
|
set :db_name, "database_name"
|
|
60
60
|
set :db_username, "database_user_name"
|
|
61
61
|
set :db_password, "database_password"
|
|
62
|
+
set :db_prefix, "database_prefix"
|
|
62
63
|
|
|
63
64
|
set :profile, "minimal"
|
|
64
65
|
set :domain, "default"
|
|
@@ -69,9 +70,9 @@ set :adminpass, "drupal_admin_pass"
|
|
|
69
70
|
set :baseline, "drupal_feature_to_activate_after_fresh_install"
|
|
70
71
|
',
|
|
71
72
|
"config/sql/staging.sql" => <<scrub
|
|
72
|
-
--
|
|
73
|
+
--
|
|
73
74
|
-- Scrub important information from a Drupal database.
|
|
74
|
-
--
|
|
75
|
+
--
|
|
75
76
|
|
|
76
77
|
-- Remove all email addresses.
|
|
77
78
|
UPDATE users SET mail=CONCAT('user', uid, '@example.com'), init=CONCAT('user', uid, '@example.com') WHERE uid != 0;
|
|
@@ -102,7 +103,7 @@ UPDATE users SET mail=CONCAT('user', uid, '@example.com'), init=CONCAT('user', u
|
|
|
102
103
|
-- TRUNCATE custom_customer_lead_data;
|
|
103
104
|
|
|
104
105
|
-- USER PASSWORDS
|
|
105
|
-
-- These statements assume you want to preserve real passwords for developers. Change 'rid=3' to the
|
|
106
|
+
-- These statements assume you want to preserve real passwords for developers. Change 'rid=3' to the
|
|
106
107
|
-- developer or test role you want to preserve.
|
|
107
108
|
|
|
108
109
|
-- DRUPAL 6
|
|
@@ -113,9 +114,9 @@ UPDATE users SET mail=CONCAT('user', uid, '@example.com'), init=CONCAT('user', u
|
|
|
113
114
|
-- UPDATE users SET pass = MD5('supersecret!') WHERE uid = 1;
|
|
114
115
|
|
|
115
116
|
-- DRUPAL 7
|
|
116
|
-
-- Drupal 7 requires sites to generate a hashed password specific to their site. A script in the
|
|
117
|
+
-- Drupal 7 requires sites to generate a hashed password specific to their site. A script in the
|
|
117
118
|
-- docroot/scripts directory is provided for doing this. From your docroot run the following:
|
|
118
|
-
--
|
|
119
|
+
--
|
|
119
120
|
-- scripts/password-hash.sh password
|
|
120
121
|
--
|
|
121
122
|
-- this will generate a hash for the password "password". In the following statements replace
|
data/capistrano-didi.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "capistrano-didi"
|
|
8
|
-
s.version = "0.4.
|
|
8
|
+
s.version = "0.4.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Koen Van Winckel"]
|
|
12
|
-
s.date = "
|
|
12
|
+
s.date = "2013-07-03"
|
|
13
13
|
s.description = "didi is a collection of recipes for capistrano that allow drupal to be deployed, tested and used in a CI environment"
|
|
14
14
|
s.email = "koenvw@gmail.com"
|
|
15
15
|
s.executables = ["didify", "didi"]
|
data/lib/didi/recipes/didi.rb
CHANGED
|
@@ -10,6 +10,7 @@ _cset(:db_type) { abort "Please specify the Drupal database type (:db_ty
|
|
|
10
10
|
_cset(:db_name) { abort "Please specify the Drupal database name (:db_name)." }
|
|
11
11
|
_cset(:db_username) { abort "Please specify the Drupal database username (:db_username)." }
|
|
12
12
|
_cset(:db_password) { abort "Please specify the Drupal database password (:db_password)." }
|
|
13
|
+
_cset(:db_prefix) { abort "Please specify the Drupal database prefix (:db_prefix)." }
|
|
13
14
|
|
|
14
15
|
_cset(:profile) { abort "Please specify the Drupal install profile (:profile)." }
|
|
15
16
|
_cset(:site) { abort "Please specify the Drupal site (:site)." }
|
|
@@ -37,6 +38,9 @@ set :no_disable, true
|
|
|
37
38
|
set :local_database, nil
|
|
38
39
|
set :backup_database, true
|
|
39
40
|
set :push_dump_enabled, false
|
|
41
|
+
set :make_install_profile, false
|
|
42
|
+
set :make_file, ''
|
|
43
|
+
set :use_private_files, false
|
|
40
44
|
|
|
41
45
|
ssh_options[:forward_agent] = true
|
|
42
46
|
#ssh_options[:verbose] = :debug #FIXME
|
|
@@ -48,13 +52,15 @@ ssh_options[:forward_agent] = true
|
|
|
48
52
|
# =========================================================================
|
|
49
53
|
_cset :settings, 'settings.php'
|
|
50
54
|
_cset :files, 'files'
|
|
55
|
+
_cset :private_files, 'private'
|
|
51
56
|
_cset :dbbackups, 'db_backups'
|
|
52
57
|
_cset :drush_path, ''
|
|
53
58
|
|
|
54
|
-
_cset(:shared_settings)
|
|
55
|
-
_cset(:shared_files)
|
|
56
|
-
_cset(:
|
|
57
|
-
_cset(:
|
|
59
|
+
_cset(:shared_settings) { domain.to_a.map { |d| File.join(shared_path, d, settings) } }
|
|
60
|
+
_cset(:shared_files) { domain.to_a.map { |d| File.join(shared_path, d, files) } }
|
|
61
|
+
_cset(:shared_private_files) { domain.to_a.map { |d| File.join(shared_path, d, private_files) } }
|
|
62
|
+
_cset(:dbbackups_path) { domain.to_a.map { |d| File.join(deploy_to, dbbackups, d) } }
|
|
63
|
+
_cset(:drush) { "drush -r #{current_path}" + (domain == 'default' ? '' : " -l #{domain}") } # FIXME: not in use?
|
|
58
64
|
|
|
59
65
|
# these variables are still in rails-less deploy gem
|
|
60
66
|
# but have been updated in the latest capistrano gem
|
|
@@ -71,11 +77,13 @@ set(:previous_revision) { capture("cat #{previous_release}/REVISION", :except =>
|
|
|
71
77
|
|
|
72
78
|
_cset(:release_settings) { domain.to_a.map { |d| File.join(release_path, drupal_path, 'sites', d, settings) } }
|
|
73
79
|
_cset(:release_files) { domain.to_a.map { |d| File.join(release_path, drupal_path, 'sites', d, files) } }
|
|
80
|
+
_cset(:release_private_files) { domain.to_a.map { |d| File.join(release_path, drupal_path, 'sites', d, private_files) } }
|
|
74
81
|
_cset(:release_domain) { domain.to_a.map { |d| File.join(release_path, drupal_path, 'sites', d) } }
|
|
75
82
|
|
|
76
|
-
_cset(:previous_release_settings)
|
|
77
|
-
_cset(:previous_release_files)
|
|
78
|
-
_cset(:
|
|
83
|
+
_cset(:previous_release_settings) { releases.length > 1 ? domain.to_a.map { |d| File.join(previous_release, drupal_path, 'sites', d, settings) } : nil }
|
|
84
|
+
_cset(:previous_release_files) { releases.length > 1 ? domain.to_a.map { |d| File.join(previous_release, drupal_path, 'sites', d, files) } : nil }
|
|
85
|
+
_cset(:previous_release_private_files) { releases.length > 1 ? domain.to_a.map { |d| File.join(previous_release, drupal_path, 'sites', d, private_files) } : nil }
|
|
86
|
+
_cset(:previous_release_domain) { releases.length > 1 ? domain.to_a.map { |d| File.join(previous_release, drupal_path, 'sites', d) } : nil }
|
|
79
87
|
|
|
80
88
|
_cset(:is_multisite) { domain.to_a.size > 1 }
|
|
81
89
|
|
|
@@ -135,6 +143,13 @@ namespace :deploy do
|
|
|
135
143
|
mkdir -p #{dirs.join(' ')} && #{try_sudo} chown #{user}:#{srv_usr} #{shared_files.join(' ')} && #{try_sudo} chmod g+w #{shared_files.join(' ')}
|
|
136
144
|
CMD
|
|
137
145
|
|
|
146
|
+
# Generate private files when enabled.
|
|
147
|
+
if use_private_files
|
|
148
|
+
run <<-CMD
|
|
149
|
+
mkdir -p #{shared_private_files} && #{try_sudo} chown #{user}:#{srv_usr} #{shared_private_files.join(' ')} && #{try_sudo} chmod g+w #{shared_private_files.join(' ')}
|
|
150
|
+
CMD
|
|
151
|
+
end
|
|
152
|
+
|
|
138
153
|
#create drupal config file
|
|
139
154
|
domain.each_with_index do |d, i|
|
|
140
155
|
configuration = drupal_settings(drupal_version, d)
|
|
@@ -145,6 +160,9 @@ namespace :deploy do
|
|
|
145
160
|
|
|
146
161
|
desc "[internal] Rebuild files and settings symlinks"
|
|
147
162
|
task :finalize_update, :except => { :no_release => true } do
|
|
163
|
+
if make_install_profile
|
|
164
|
+
run "cd #{current_release} && drush make #{make_file} #{drupal_path}"
|
|
165
|
+
end
|
|
148
166
|
# Specifies an on_rollback hook for the currently executing task. If this
|
|
149
167
|
# or any subsequent task then fails, and a transaction is active, this
|
|
150
168
|
# hook will be executed.
|
|
@@ -152,6 +170,9 @@ namespace :deploy do
|
|
|
152
170
|
if previous_release
|
|
153
171
|
#FIXME: won't work on mulitsite config
|
|
154
172
|
run "ln -nfs #{shared_files} #{previous_release_files} && ln -nfs #{shared_settings} #{previous_release_settings}"
|
|
173
|
+
if use_private_files
|
|
174
|
+
run "ln -nfs #{shared_private_files} #{previous_release_private_files}"
|
|
175
|
+
end
|
|
155
176
|
else
|
|
156
177
|
logger.important "no previous release to rollback to, rollback of drupal shared data skipped."
|
|
157
178
|
end
|
|
@@ -167,6 +188,14 @@ namespace :deploy do
|
|
|
167
188
|
ln -nfs #{shared_settings[i]} #{release_settings[i]}
|
|
168
189
|
CMD
|
|
169
190
|
end
|
|
191
|
+
|
|
192
|
+
if use_private_files
|
|
193
|
+
shared_private_files.each_with_index do |sf, i|
|
|
194
|
+
run <<-CMD
|
|
195
|
+
ln -nfs #{sf} #{release_private_files[i]}
|
|
196
|
+
CMD
|
|
197
|
+
end
|
|
198
|
+
end
|
|
170
199
|
end
|
|
171
200
|
|
|
172
201
|
desc "[internal] cleanup old symlinks, must run after deploy:symlink"
|
|
@@ -178,6 +207,11 @@ namespace :deploy do
|
|
|
178
207
|
rm -f #{previous_release_settings[i]} &&
|
|
179
208
|
rm -f #{previous_release_files[i]}
|
|
180
209
|
CMD
|
|
210
|
+
if use_private_files
|
|
211
|
+
run <<-CMD
|
|
212
|
+
rm -f #{previous_release_private_files[i]}
|
|
213
|
+
CMD
|
|
214
|
+
end
|
|
181
215
|
end
|
|
182
216
|
end
|
|
183
217
|
end
|
|
@@ -235,6 +269,14 @@ namespace :deploy do
|
|
|
235
269
|
ln -nfs #{shared_settings[i]} #{previous_release_settings[i]}
|
|
236
270
|
CMD
|
|
237
271
|
end
|
|
272
|
+
|
|
273
|
+
if use_private_files
|
|
274
|
+
shared_private_files.each_with_index do |sf, i|
|
|
275
|
+
run <<-CMD
|
|
276
|
+
ln -nfs #{sf} #{previous_release_private_files[i]}
|
|
277
|
+
CMD
|
|
278
|
+
end
|
|
279
|
+
end
|
|
238
280
|
else
|
|
239
281
|
abort "could not rollback the code because there is no prior release"
|
|
240
282
|
end
|
|
@@ -258,7 +300,7 @@ namespace :deploy do
|
|
|
258
300
|
end
|
|
259
301
|
|
|
260
302
|
end
|
|
261
|
-
|
|
303
|
+
|
|
262
304
|
namespace :web do
|
|
263
305
|
desc "Makes the application web-accessible again."
|
|
264
306
|
task :enable do
|
|
@@ -497,8 +539,31 @@ namespace :manage do
|
|
|
497
539
|
run "rm #{File.join(dbbackups_path, "#{sql_file}")}"
|
|
498
540
|
end
|
|
499
541
|
end
|
|
500
|
-
end
|
|
501
542
|
|
|
543
|
+
desc 'Download files and extract locally'
|
|
544
|
+
task :pull_files do
|
|
545
|
+
abort("ERROR: multisite not supported") if is_multisite
|
|
546
|
+
|
|
547
|
+
set(:runit, Capistrano::CLI.ui.ask("Do you want to download the files? type 'yes' to continue: "))
|
|
548
|
+
if runit == 'yes'
|
|
549
|
+
run "if [ ! -d #{deploy_to}/tmp ]; then mkdir #{deploy_to}/tmp; fi" # create tmp folder if needed
|
|
550
|
+
# pack and remote file
|
|
551
|
+
file = "#{deploy_to}/tmp/#{releases.last}.tar.gz"
|
|
552
|
+
run "cd #{current_path}/#{drupal_path}/sites/default && tar -zcvf #{file} files/*"
|
|
553
|
+
# copy to local
|
|
554
|
+
system "if [ ! -d build ]; then mkdir build; fi" # create build folder locally if needed
|
|
555
|
+
download "#{file}", "build/", :once => true, :via => :scp
|
|
556
|
+
run "rm #{file}"
|
|
557
|
+
set(:extract, Capistrano::CLI.ui.ask("Do you want to extract #{File.basename(file)}? type 'yes' to continue: "))
|
|
558
|
+
if extract == 'yes'
|
|
559
|
+
# extract the files
|
|
560
|
+
set(:where, Capistrano::CLI.ui.ask("Where? (default: build): "))
|
|
561
|
+
dest = where == '' ? "build" : "#{where}"
|
|
562
|
+
system "tar -zxvf build/#{File.basename(file)} -C #{dest}"
|
|
563
|
+
end
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
end
|
|
502
567
|
|
|
503
568
|
# =========================
|
|
504
569
|
# Helper methods
|
|
@@ -535,7 +600,7 @@ $databases = array ('default' => array ('default' => array (
|
|
|
535
600
|
'host' => '#{db_host}',
|
|
536
601
|
'port' => '',
|
|
537
602
|
'driver' => '#{db_type}',
|
|
538
|
-
'prefix' => '',
|
|
603
|
+
'prefix' => '#{db_prefix}',
|
|
539
604
|
)));
|
|
540
605
|
ini_set('session.gc_probability', 1);
|
|
541
606
|
ini_set('session.gc_divisor', 100);
|
|
@@ -555,4 +620,4 @@ if (file_exists($path)) {
|
|
|
555
620
|
end
|
|
556
621
|
end
|
|
557
622
|
|
|
558
|
-
end # Capistrano::Configuration.instance.load
|
|
623
|
+
end # Capistrano::Configuration.instance.load
|
metadata
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: capistrano-didi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 0
|
|
8
|
-
- 4
|
|
9
|
-
- 4
|
|
10
|
-
version: 0.4.4
|
|
4
|
+
version: 0.4.5
|
|
11
5
|
platform: ruby
|
|
12
6
|
authors:
|
|
13
7
|
- Koen Van Winckel
|
|
@@ -15,132 +9,87 @@ autorequire:
|
|
|
15
9
|
bindir: bin
|
|
16
10
|
cert_chain: []
|
|
17
11
|
|
|
18
|
-
date:
|
|
12
|
+
date: 2013-07-03 00:00:00 Z
|
|
19
13
|
dependencies:
|
|
20
14
|
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: railsless-deploy
|
|
16
|
+
prerelease: false
|
|
21
17
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
22
|
-
none: false
|
|
23
18
|
requirements:
|
|
24
19
|
- - ">="
|
|
25
20
|
- !ruby/object:Gem::Version
|
|
26
|
-
hash: 19
|
|
27
|
-
segments:
|
|
28
|
-
- 1
|
|
29
|
-
- 0
|
|
30
|
-
- 2
|
|
31
21
|
version: 1.0.2
|
|
32
|
-
version_requirements: *id001
|
|
33
|
-
name: railsless-deploy
|
|
34
|
-
prerelease: false
|
|
35
22
|
type: :development
|
|
23
|
+
version_requirements: *id001
|
|
36
24
|
- !ruby/object:Gem::Dependency
|
|
25
|
+
name: capistrano
|
|
26
|
+
prerelease: false
|
|
37
27
|
requirement: &id002 !ruby/object:Gem::Requirement
|
|
38
|
-
none: false
|
|
39
28
|
requirements:
|
|
40
29
|
- - ">="
|
|
41
30
|
- !ruby/object:Gem::Version
|
|
42
|
-
hash: 63
|
|
43
|
-
segments:
|
|
44
|
-
- 2
|
|
45
|
-
- 12
|
|
46
|
-
- 0
|
|
47
31
|
version: 2.12.0
|
|
48
|
-
version_requirements: *id002
|
|
49
|
-
name: capistrano
|
|
50
|
-
prerelease: false
|
|
51
32
|
type: :development
|
|
33
|
+
version_requirements: *id002
|
|
52
34
|
- !ruby/object:Gem::Dependency
|
|
35
|
+
name: shoulda
|
|
36
|
+
prerelease: false
|
|
53
37
|
requirement: &id003 !ruby/object:Gem::Requirement
|
|
54
|
-
none: false
|
|
55
38
|
requirements:
|
|
56
|
-
-
|
|
39
|
+
- &id006
|
|
40
|
+
- ">="
|
|
57
41
|
- !ruby/object:Gem::Version
|
|
58
|
-
hash: 3
|
|
59
|
-
segments:
|
|
60
|
-
- 0
|
|
61
42
|
version: "0"
|
|
62
|
-
version_requirements: *id003
|
|
63
|
-
name: shoulda
|
|
64
|
-
prerelease: false
|
|
65
43
|
type: :development
|
|
44
|
+
version_requirements: *id003
|
|
66
45
|
- !ruby/object:Gem::Dependency
|
|
46
|
+
name: bundler
|
|
47
|
+
prerelease: false
|
|
67
48
|
requirement: &id004 !ruby/object:Gem::Requirement
|
|
68
|
-
none: false
|
|
69
49
|
requirements:
|
|
70
50
|
- - ~>
|
|
71
51
|
- !ruby/object:Gem::Version
|
|
72
|
-
hash: 21
|
|
73
|
-
segments:
|
|
74
|
-
- 1
|
|
75
|
-
- 1
|
|
76
|
-
- 3
|
|
77
52
|
version: 1.1.3
|
|
78
|
-
version_requirements: *id004
|
|
79
|
-
name: bundler
|
|
80
|
-
prerelease: false
|
|
81
53
|
type: :development
|
|
54
|
+
version_requirements: *id004
|
|
82
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: jeweler
|
|
57
|
+
prerelease: false
|
|
83
58
|
requirement: &id005 !ruby/object:Gem::Requirement
|
|
84
|
-
none: false
|
|
85
59
|
requirements:
|
|
86
60
|
- - ~>
|
|
87
61
|
- !ruby/object:Gem::Version
|
|
88
|
-
hash: 7
|
|
89
|
-
segments:
|
|
90
|
-
- 1
|
|
91
|
-
- 6
|
|
92
|
-
- 4
|
|
93
62
|
version: 1.6.4
|
|
94
|
-
version_requirements: *id005
|
|
95
|
-
name: jeweler
|
|
96
|
-
prerelease: false
|
|
97
63
|
type: :development
|
|
64
|
+
version_requirements: *id005
|
|
98
65
|
- !ruby/object:Gem::Dependency
|
|
99
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
|
100
|
-
none: false
|
|
101
|
-
requirements:
|
|
102
|
-
- - ">="
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
hash: 3
|
|
105
|
-
segments:
|
|
106
|
-
- 0
|
|
107
|
-
version: "0"
|
|
108
|
-
version_requirements: *id006
|
|
109
66
|
name: rcov
|
|
110
67
|
prerelease: false
|
|
111
|
-
type: :development
|
|
112
|
-
- !ruby/object:Gem::Dependency
|
|
113
68
|
requirement: &id007 !ruby/object:Gem::Requirement
|
|
114
|
-
none: false
|
|
115
69
|
requirements:
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
hash: 63
|
|
119
|
-
segments:
|
|
120
|
-
- 2
|
|
121
|
-
- 12
|
|
122
|
-
- 0
|
|
123
|
-
version: 2.12.0
|
|
70
|
+
- *id006
|
|
71
|
+
type: :development
|
|
124
72
|
version_requirements: *id007
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
125
74
|
name: capistrano
|
|
126
75
|
prerelease: false
|
|
127
|
-
type: :runtime
|
|
128
|
-
- !ruby/object:Gem::Dependency
|
|
129
76
|
requirement: &id008 !ruby/object:Gem::Requirement
|
|
130
|
-
none: false
|
|
131
77
|
requirements:
|
|
132
78
|
- - ">="
|
|
133
79
|
- !ruby/object:Gem::Version
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- 1
|
|
137
|
-
- 0
|
|
138
|
-
- 2
|
|
139
|
-
version: 1.0.2
|
|
80
|
+
version: 2.12.0
|
|
81
|
+
type: :runtime
|
|
140
82
|
version_requirements: *id008
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
141
84
|
name: railsless-deploy
|
|
142
85
|
prerelease: false
|
|
86
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
87
|
+
requirements:
|
|
88
|
+
- - ">="
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: 1.0.2
|
|
143
91
|
type: :runtime
|
|
92
|
+
version_requirements: *id009
|
|
144
93
|
description: didi is a collection of recipes for capistrano that allow drupal to be deployed, tested and used in a CI environment
|
|
145
94
|
email: koenvw@gmail.com
|
|
146
95
|
executables:
|
|
@@ -169,33 +118,23 @@ files:
|
|
|
169
118
|
homepage: http://github.com/koenvw/didi
|
|
170
119
|
licenses:
|
|
171
120
|
- MIT
|
|
121
|
+
metadata: {}
|
|
122
|
+
|
|
172
123
|
post_install_message: => "didify" and "didi" commands installed. Try them out!
|
|
173
124
|
rdoc_options: []
|
|
174
125
|
|
|
175
126
|
require_paths:
|
|
176
127
|
- lib
|
|
177
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
178
|
-
none: false
|
|
179
129
|
requirements:
|
|
180
|
-
-
|
|
181
|
-
- !ruby/object:Gem::Version
|
|
182
|
-
hash: 3
|
|
183
|
-
segments:
|
|
184
|
-
- 0
|
|
185
|
-
version: "0"
|
|
130
|
+
- *id006
|
|
186
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
|
-
none: false
|
|
188
132
|
requirements:
|
|
189
|
-
-
|
|
190
|
-
- !ruby/object:Gem::Version
|
|
191
|
-
hash: 3
|
|
192
|
-
segments:
|
|
193
|
-
- 0
|
|
194
|
-
version: "0"
|
|
133
|
+
- *id006
|
|
195
134
|
requirements: []
|
|
196
135
|
|
|
197
136
|
rubyforge_project:
|
|
198
|
-
rubygems_version:
|
|
137
|
+
rubygems_version: 2.0.14
|
|
199
138
|
signing_key:
|
|
200
139
|
specification_version: 3
|
|
201
140
|
summary: didi - drupal deployment script based on capistrano
|