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.
@@ -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: