rake-distribute 1.1.0 → 1.2.0
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/History.txt +9 -0
- data/Manifest.txt +1 -0
- data/lib/rake/distribute.rb +4 -0
- data/lib/rake/distribute/core.rb +2 -25
- data/lib/rake/distribute/item/erbfile.rb +40 -34
- data/lib/rake/distribute/item/file.rb +22 -21
- data/lib/rake/distribute/task.rb +13 -0
- data/lib/rake/distribute/version.rb +1 -1
- metadata +13 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c6ad4b2a387c85f4422d91c5c091d46f1eec338a
|
4
|
+
data.tar.gz: 76aa433d5e1d344749d604e26097473aa56e4b4d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7edf209195e045e9409554216b65fb1196153922a86e1d8b3f92d62646fe13d7d21d22af184f60c441de7a6e1d22ce7f5ab8a76ea03a53fab947947f02af5c5
|
7
|
+
data.tar.gz: 1ff4fdc6d3e4a1d847e0c018474a7d1722241bb76d6f5b1a1568b3764549c9955e642b564e2e75100ea9582d84cb3025683f47718afe5e33a1e1cf0dd6805864
|
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/lib/rake/distribute.rb
CHANGED
data/lib/rake/distribute/core.rb
CHANGED
@@ -15,35 +15,12 @@ module Rake::Distribute
|
|
15
15
|
|
16
16
|
def initialize
|
17
17
|
@items = []
|
18
|
-
|
19
|
-
# unify task descriptions
|
20
|
-
namespace :distribute do
|
21
|
-
desc "distribute"
|
22
|
-
task :install
|
23
|
-
|
24
|
-
desc "build for distribution"
|
25
|
-
task :build
|
26
|
-
|
27
|
-
desc "clean temporary items"
|
28
|
-
task :clean
|
29
|
-
|
30
|
-
desc "clean all unnecessary items"
|
31
|
-
task :clobber => :clean
|
32
|
-
|
33
|
-
desc "diff the distributed from the source"
|
34
|
-
task :diff
|
35
|
-
|
36
|
-
desc "uninstall the distributed"
|
37
|
-
task :uninstall
|
38
|
-
end
|
39
|
-
task :clean => "distribute:clean"
|
40
|
-
task :clobber => "distribute:clobber"
|
41
18
|
end
|
42
19
|
|
43
|
-
def distribute(item_class, &block)
|
20
|
+
def distribute(item_class, options={}, &block)
|
44
21
|
item = get_item_class(item_class).new(&block)
|
45
22
|
item.sanity?
|
46
|
-
item.define_tasks
|
23
|
+
item.define_tasks(options)
|
47
24
|
@items << item
|
48
25
|
end
|
49
26
|
|
@@ -33,48 +33,54 @@ module Rake::Distribute
|
|
33
33
|
@context = context
|
34
34
|
end
|
35
35
|
|
36
|
-
def define_tasks
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
end
|
36
|
+
def define_tasks(options={})
|
37
|
+
|
38
|
+
dest_dir = @dest.pathmap("%d")
|
39
|
+
directory dest_dir
|
40
|
+
directory @build_dir
|
41
|
+
|
42
|
+
build_file = File.join(@build_dir,
|
43
|
+
"#{Item.sn.to_s}-#{@src.pathmap('%n')}")
|
44
|
+
file build_file => @src do
|
45
|
+
File.open(build_file, 'w') do |f|
|
46
|
+
erb = ERB.new(File.read(@src))
|
47
|
+
f.write(erb.result(ErbContext.new(@context).get_binding))
|
48
|
+
f.flush
|
50
49
|
end
|
50
|
+
end
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
file @dest => build_file do
|
53
|
+
install build_file, @dest, @dest_options
|
54
|
+
end
|
55
55
|
|
56
|
-
|
57
|
-
|
56
|
+
desc "distribute: build"
|
57
|
+
task :build => [@build_dir, build_file]
|
58
|
+
|
59
|
+
desc "distribute: install"
|
60
|
+
task :install => [@build_dir, build_file, dest_dir, @dest]
|
58
61
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
+
desc "distribute: uninstall"
|
63
|
+
task :uninstall do
|
64
|
+
safe_unlink @dest if File.exists?(@dest)
|
65
|
+
end
|
62
66
|
|
63
|
-
|
64
|
-
|
65
|
-
|
67
|
+
desc "distribute: clean"
|
68
|
+
task :clean do
|
69
|
+
safe_unlink build_file if File.exists?(build_file)
|
70
|
+
end
|
66
71
|
|
67
|
-
|
68
|
-
|
69
|
-
|
72
|
+
desc "distribute: clobber"
|
73
|
+
task :clobber => [:clean] do
|
74
|
+
rmdir @build_dir
|
75
|
+
end
|
70
76
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
77
|
+
desc "distribute: diff"
|
78
|
+
task :diff => [@build_dir, build_file] do
|
79
|
+
diff = Diffy::Diff.new(
|
80
|
+
@dest, build_file, :source => 'files', :allow_empty_diff => true
|
81
|
+
).to_s(:text)
|
75
82
|
|
76
|
-
|
77
|
-
end
|
83
|
+
@diff_proc.call(@dest, build_file) unless diff.empty?
|
78
84
|
end
|
79
85
|
end
|
80
86
|
|
@@ -24,27 +24,28 @@ module Rake::Distribute
|
|
24
24
|
@diff_proc = block if block_given?
|
25
25
|
end
|
26
26
|
|
27
|
-
def define_tasks
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
27
|
+
def define_tasks(options={})
|
28
|
+
dest_folder = @dest.pathmap("%d")
|
29
|
+
directory dest_folder
|
30
|
+
file @dest => @src do
|
31
|
+
install @src, @dest, @dest_options
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "distribute: install"
|
35
|
+
task :install => [dest_folder, @dest]
|
36
|
+
|
37
|
+
desc "distribute: uninstall"
|
38
|
+
task :uninstall do
|
39
|
+
safe_unlink @dest
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "distribute: diff"
|
43
|
+
task :diff do
|
44
|
+
diffy = Diffy::Diff.new(
|
45
|
+
@dest, @src, :source => 'files', :allow_empty_diff => true
|
46
|
+
).to_s(:text)
|
47
|
+
|
48
|
+
@diff_proc.call(@dest, @src) unless diffy.empty?
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Rake
|
2
|
+
|
3
|
+
class Task
|
4
|
+
alias_method :_add_comment, :add_comment
|
5
|
+
# Add a comment to the task. Ignore duplicated comment
|
6
|
+
def add_comment(comment)
|
7
|
+
return if @full_comment.eql?(comment)
|
8
|
+
_add_comment(comment)
|
9
|
+
end
|
10
|
+
|
11
|
+
end # class Rake::Task
|
12
|
+
end
|
13
|
+
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-distribute
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Zhao Cai
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-04-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: diffy
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,23 +41,20 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rdoc
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
47
|
+
version: '4.0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
54
|
+
version: '4.0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: hoe
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,18 +62,14 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '3.5'
|
78
|
-
description:
|
79
|
-
items (files, templates, directories, etc.) to difference locations.
|
69
|
+
description: |-
|
70
|
+
Generate rake distribute:install, uninstall, and diff tasks to distribute items (files, templates, directories, etc.) to difference locations.
|
80
71
|
|
81
|
-
|
82
|
-
It is the saver to use rake tasks to manage 1 -> n file distribution. Commonly applied
|
83
|
-
cases are runcom files, Makefiles, etc. Those files exists in many locations and
|
84
|
-
are almost identical with slight difference.'
|
72
|
+
It is the saver to use rake tasks to manage 1 -> n file distribution. Commonly applied cases are runcom files, Makefiles, etc. Those files exists in many locations and are almost identical with slight difference.
|
85
73
|
email:
|
86
74
|
- caizhaoff@gmail.com
|
87
75
|
executables: []
|
@@ -103,6 +91,7 @@ files:
|
|
103
91
|
- lib/rake/distribute/item.rb
|
104
92
|
- lib/rake/distribute/item/erbfile.rb
|
105
93
|
- lib/rake/distribute/item/file.rb
|
94
|
+
- lib/rake/distribute/task.rb
|
106
95
|
- lib/rake/distribute/version.rb
|
107
96
|
- rake-distribute.gemspec
|
108
97
|
- test/minitest_helper.rb
|
@@ -110,6 +99,7 @@ files:
|
|
110
99
|
- .gemtest
|
111
100
|
homepage: https://github.com/zhaocai/rake-distribute
|
112
101
|
licenses: []
|
102
|
+
metadata: {}
|
113
103
|
post_install_message:
|
114
104
|
rdoc_options:
|
115
105
|
- --main
|
@@ -117,22 +107,20 @@ rdoc_options:
|
|
117
107
|
require_paths:
|
118
108
|
- lib
|
119
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
-
none: false
|
121
110
|
requirements:
|
122
|
-
- -
|
111
|
+
- - '>='
|
123
112
|
- !ruby/object:Gem::Version
|
124
113
|
version: '0'
|
125
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
-
none: false
|
127
115
|
requirements:
|
128
|
-
- -
|
116
|
+
- - '>='
|
129
117
|
- !ruby/object:Gem::Version
|
130
118
|
version: '0'
|
131
119
|
requirements: []
|
132
120
|
rubyforge_project: rake-distribute
|
133
|
-
rubygems_version:
|
121
|
+
rubygems_version: 2.0.3
|
134
122
|
signing_key:
|
135
|
-
specification_version:
|
123
|
+
specification_version: 4
|
136
124
|
summary: Generate rake distribute:install, uninstall, and diff tasks to distribute
|
137
125
|
items (files, templates, directories, etc.) to difference locations
|
138
126
|
test_files:
|