rake-distribute 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -1,3 +1,12 @@
1
+ === 1.2.0 / 2012-10-24
2
+
3
+ * remove extra :distribute namespace
4
+ * add monkey patch to fix duplicated task desc
5
+
6
+ === 1.1.0 / 2012-10-24
7
+ * add ErbContext class
8
+
9
+
1
10
  === 1.0.0 / 2012-10-24
2
11
 
3
12
  * 3 minor enhancement
@@ -11,6 +11,7 @@ lib/rake/distribute/error.rb
11
11
  lib/rake/distribute/item.rb
12
12
  lib/rake/distribute/item/erbfile.rb
13
13
  lib/rake/distribute/item/file.rb
14
+ lib/rake/distribute/task.rb
14
15
  lib/rake/distribute/version.rb
15
16
  rake-distribute.gemspec
16
17
  test/minitest_helper.rb
@@ -5,6 +5,10 @@ require 'rake'
5
5
  require 'diffy'
6
6
  require 'rake/distribute/version'
7
7
 
8
+ # monkey patch
9
+ require 'rake/distribute/task'
10
+
11
+
8
12
  require 'rake/distribute/core'
9
13
  require 'rake/distribute/dsl'
10
14
 
@@ -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
- namespace "distribute" do
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
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
- file @dest => build_file do
53
- install build_file, @dest, @dest_options
54
- end
52
+ file @dest => build_file do
53
+ install build_file, @dest, @dest_options
54
+ end
55
55
 
56
- task :build => [@build_dir, build_file]
57
- task :install => [@build_dir, build_file, dest_dir, @dest]
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
- task :uninstall do
60
- safe_unlink @dest if File.exists?(@dest)
61
- end
62
+ desc "distribute: uninstall"
63
+ task :uninstall do
64
+ safe_unlink @dest if File.exists?(@dest)
65
+ end
62
66
 
63
- task :clean do
64
- safe_unlink build_file if File.exists?(build_file)
65
- end
67
+ desc "distribute: clean"
68
+ task :clean do
69
+ safe_unlink build_file if File.exists?(build_file)
70
+ end
66
71
 
67
- task :clobber => [:clean] do
68
- rmdir @build_dir
69
- end
72
+ desc "distribute: clobber"
73
+ task :clobber => [:clean] do
74
+ rmdir @build_dir
75
+ end
70
76
 
71
- task :diff => [@build_dir, build_file] do
72
- diff = Diffy::Diff.new(
73
- @dest, build_file, :source => 'files', :allow_empty_diff => true
74
- ).to_s(:text)
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
- @diff_proc.call(@dest, build_file) unless diff.empty?
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
- namespace "distribute" do
29
- dest_folder = @dest.pathmap("%d")
30
- directory dest_folder
31
- file @dest => @src do
32
- install @src, @dest, @dest_options
33
- end
34
-
35
- task :install => [dest_folder, @dest]
36
-
37
- task :uninstall do
38
- safe_unlink @dest
39
- end
40
-
41
- task :diff do
42
- diff = Diffy::Diff.new(
43
- @dest, @src, :source => 'files', :allow_empty_diff => true
44
- ).to_s(:text)
45
-
46
- @diff_proc.call(@dest, @src) unless diff.empty?
47
- end
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
+
@@ -1,3 +1,3 @@
1
1
  module Rake::Distribute
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
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.1.0
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-03-25 00:00:00.000000000 Z
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: '3.10'
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: '3.10'
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: ! 'Generate rake distribute:install, uninstall, and diff tasks to distribute
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: 1.8.24
121
+ rubygems_version: 2.0.3
134
122
  signing_key:
135
- specification_version: 3
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: