capistrano-utils 0.0.4 → 0.0.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.
- data/capistrano-utils.gemspec +2 -2
- data/lib/capistrano/ext/git.rb +0 -6
- data/lib/capistrano/ext/helpers.rb +38 -55
- metadata +4 -4
data/capistrano-utils.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
14
|
gem.name = 'capistrano-utils'
|
15
15
|
gem.require_paths = ['lib']
|
16
|
-
gem.version = '0.0.
|
16
|
+
gem.version = '0.0.5'
|
17
17
|
|
18
18
|
gem.add_dependency 'rake'
|
19
|
-
gem.add_dependency 'capistrano'
|
19
|
+
gem.add_dependency 'capistrano', '>= 2.12.0'
|
20
20
|
end
|
data/lib/capistrano/ext/git.rb
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
require 'capistrano/ext/helpers'
|
2
|
-
|
3
|
-
unless Capistrano::Configuration.respond_to?(:instance)
|
4
|
-
abort 'capistrano/ext/contao requires capistrano 2'
|
5
|
-
end
|
6
|
-
|
7
1
|
Capistrano::Configuration.instance(:must_exist).load do
|
8
2
|
set :repository,
|
9
3
|
fetch(:project_repository, `git remote show -n origin | grep 'URL' | awk '{print $3}' | head -n 1`.strip)
|
@@ -1,10 +1,6 @@
|
|
1
1
|
require 'digest/sha1'
|
2
2
|
require 'highline'
|
3
3
|
|
4
|
-
unless Capistrano::Configuration.respond_to?(:instance)
|
5
|
-
abort 'capistrano/ext/helpers requires capistrano 2'
|
6
|
-
end
|
7
|
-
|
8
4
|
Capistrano::Configuration.instance(:must_exist).load do
|
9
5
|
# Taken from the capistrano code.
|
10
6
|
def _cset(name, *args, &block)
|
@@ -30,63 +26,50 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
30
26
|
end
|
31
27
|
end
|
32
28
|
|
33
|
-
#
|
34
|
-
|
35
|
-
# @param [String] Absolute path to folder from which to link
|
36
|
-
# @param [String] Absolute path to folder to which to link
|
37
|
-
# @return [Array]
|
38
|
-
def exhaustive_list_of_files_to_link(from, to)
|
29
|
+
# Deeply link files from a folder to another
|
30
|
+
def deep_link(from, to)
|
39
31
|
script = <<-END
|
40
|
-
exhaustive_list_of_files_to_link() {
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
};
|
32
|
+
exhaustive_list_of_files_to_link() {
|
33
|
+
files="";
|
34
|
+
|
35
|
+
for file in `ls -A1 ${1}`; do
|
36
|
+
dest_file="${2}/${file}";
|
37
|
+
file="${1}/${file}";
|
38
|
+
if [ -e "${dest_file}" ]; then
|
39
|
+
files="${files} `exhaustive_list_of_files_to_link ${file} ${dest_file}`";
|
40
|
+
else
|
41
|
+
files="${files} ${file}:${dest_file}";
|
42
|
+
fi;
|
43
|
+
done;
|
44
|
+
echo "${files}";
|
45
|
+
};
|
46
|
+
|
47
|
+
files=`exhaustive_list_of_files_to_link '#{from}' '#{to}'`;
|
48
|
+
for file in ${files}; do
|
49
|
+
ln -s "`echo "${file}" | cut -d: -f1`" \
|
50
|
+
"`echo "${file}" | cut -d: -f2`";
|
51
|
+
done;
|
54
52
|
END
|
55
53
|
|
56
|
-
script
|
57
|
-
|
58
|
-
begin
|
59
|
-
files = capture(script).strip.split(' ')
|
60
|
-
files.map {|f| f.split(':')}
|
61
|
-
rescue Capistrano::CommandError
|
62
|
-
abort "Unable to get files list"
|
63
|
-
end
|
54
|
+
run script
|
64
55
|
end
|
65
56
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
run <<-CMD
|
81
|
-
#{try_sudo} touch #{path}/#{file_name}
|
82
|
-
CMD
|
83
|
-
logger.info "WARNING: You should edit '#{path}/#{file_name}' or re-create it as a folder if that's your intention."
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
57
|
+
# Link all items
|
58
|
+
def link_items(from, to)
|
59
|
+
script = <<-END
|
60
|
+
symlink_all_shared_items() {
|
61
|
+
for file in `ls -A1 ${1}`; do
|
62
|
+
dest_file="${2}/`echo "${file}" | tr ',' '/'`";
|
63
|
+
file="${1}/${file}";
|
64
|
+
mkdir -p "`dirname "${dest_file}"`";
|
65
|
+
ln -nsf "${file}" "${dest_file}";
|
66
|
+
done;
|
67
|
+
};
|
68
|
+
|
69
|
+
symlink_all_shared_items '#{from}' '#{to}';
|
70
|
+
END
|
87
71
|
|
88
|
-
|
89
|
-
end
|
72
|
+
run script
|
90
73
|
end
|
91
74
|
|
92
75
|
def gen_pass( len = 8 )
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: 2.12.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 2.12.0
|
46
46
|
description: Capistrano small recipes and methods
|
47
47
|
email:
|
48
48
|
- wael.nasreddine@gmail.com
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
78
|
version: '0'
|
79
79
|
segments:
|
80
80
|
- 0
|
81
|
-
hash: -
|
81
|
+
hash: -3673788544776060832
|
82
82
|
requirements: []
|
83
83
|
rubyforge_project:
|
84
84
|
rubygems_version: 1.8.23
|