ratch 0.4.0 → 0.4.1

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/CHANGES CHANGED
@@ -1,6 +1,12 @@
1
1
  = Ratch Revision History
2
2
 
3
- == 0.3.0 / 2007-12-
3
+ == 0.4.1 / 2007-12-18
4
+
5
+ * #rollrc will be deprecated, it is now just an alias of #release.
6
+ * #release gets it's data from the .roll file (no longer ROLLRC).
7
+ * Split ruby/svn/log task into two; one for text log and the other for xml log.
8
+
9
+ == 0.4.0 / 2007-12-14
4
10
 
5
11
  * Reorganized batch scripts --eventually to simplify the code a bit more.
6
12
  * Made bin? and safe? functions of FileTest.
data/bin/ratch CHANGED
@@ -1,21 +1,36 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
+ # TODO Create a more robust parser.
4
+
3
5
  if ARGV[0] == '-s'
4
6
  require 'ratch/manager'
5
7
  manager = Ratch::Manager.new
6
- file = ARGV[1]
7
- if file
8
- # run tool
9
- if tool = manager.tool?(file)
10
- require 'ratch/dsl'
11
- load(tool)
8
+
9
+ set = ARGV[1]
10
+ path = ARGV[2]
11
+
12
+ if set
13
+ if setdirectory = manager.toolset?(set)
14
+ if path
15
+ if batchfile = manager.tool?(set, path)
16
+ require 'ratch/dsl'
17
+ self.batch_directory = setdirectory
18
+ load($0 = batchfile)
19
+ else
20
+ puts "no #{set} tool -- #{path}"
21
+ end
22
+ else
23
+ puts manager.tools(set).join("\n")
24
+ end
12
25
  else
13
- puts "no tool -- #{file}"
26
+ puts "no toolset -- #{set}"
14
27
  end
15
28
  else
16
- puts manager.toolset.join("\n")
29
+ puts manager.toolsets.join("\n")
17
30
  end
31
+
18
32
  elsif ARGV.empty?
33
+
19
34
  # TODO read stdin for ratch script
20
35
 
21
36
  else
@@ -62,15 +62,21 @@ module Dsl
62
62
  @call_directory ||= File.expand_path(File.dirname($0))
63
63
  end
64
64
 
65
- # TODO Better name? Better definition?
65
+ # TODO Better name? (system_directory ?)
66
66
 
67
67
  def batch_directory
68
+ # TODO: Better definition?
68
69
  @batch_directory ||= (
69
70
  dir = call_directory.sub(root_directory + '/', '').split('/').first
70
71
  File.join(root_directory, dir)
71
72
  )
72
73
  end
73
74
 
75
+ # If a system directory is used (as opposed to a local project directory)
76
+ # then the batch directory will need to be set explicitly.
77
+
78
+ attr_writer :batch_directory
79
+
74
80
  # Current batch file, relative to the batch directory.
75
81
 
76
82
  def batch_file
@@ -68,7 +68,7 @@ module Dsl
68
68
  # Define a file build task.
69
69
 
70
70
  def define_file(name, *depend, &block)
71
- build = Build::File.new(name, *depend, &block)
71
+ build = Build.new(name, *depend, &block)
72
72
  builds << build
73
73
  end
74
74
 
@@ -40,17 +40,10 @@ module Dsl
40
40
 
41
41
  # Roll file information.
42
42
 
43
- def rollrc
43
+ def release
44
44
  @rollrc ||= Release.load
45
- # @rollrc ||= (
46
- # file = Dir.glob('{meta/,}rollrc', File::FNM_CASEFOLD).first
47
- # data = File.read(file).split(/\n/)
48
- # data, *libpath = *data
49
- # name, version, status, date, default, *null = *data.split(/\s+/)
50
- # klass = Struct.new("ROLLRC", :file, :name, :version, :status, :date, :default, :libpath)
51
- # klass.new(file, name, version, status, date, default, libpath)
52
- # )
53
45
  end
46
+ alias_method :rollrc, :release
54
47
 
55
48
  # Load configuration data from a file. The file will
56
49
  # be looked for in the current script directory then
@@ -1,34 +1,53 @@
1
-
2
1
  module Ratch
3
2
 
4
3
  class Manager
5
4
 
6
- def toolset_directory
7
- File.join(File.dirname(__FILE__), 'toolset')
5
+ # Return master toolset directory. If toolset if given then
6
+ # return that toolsets directory.
7
+
8
+ def toolset_directory(toolset=nil)
9
+ if toolset
10
+ File.join(File.dirname(__FILE__), 'toolset', toolset)
11
+ else
12
+ File.join(File.dirname(__FILE__), 'toolset')
13
+ end
8
14
  end
9
15
 
10
- #
16
+ # List toolsets.
11
17
 
12
- def toolset
18
+ def toolsets
13
19
  files = []
14
20
  Dir.chdir(toolset_directory) do
15
- files = Dir.glob('**/*')
21
+ files = Dir.glob('*/').map{ |d| d.chomp('/') }
16
22
  end
17
23
  files
18
24
  end
19
25
 
20
- #
26
+ # List tools for a give toolset.
21
27
 
22
- def tool?(fname)
23
- file = File.join(toolset_directory, fname)
24
- if File.exist?(file)
25
- file
26
- else
27
- false
28
+ def tools(toolset=nil)
29
+ files = []
30
+ direc = toolset ? File.join(toolset_directory, toolset) : toolset_directory
31
+ Dir.chdir(direc) do
32
+ files = Dir.glob('**/*') - Dir.glob('**/*/').map{ |d| d.chomp('/') }
28
33
  end
34
+ files
35
+ end
36
+
37
+ # Verify a toolset exists?
38
+
39
+ def toolset?(toolset)
40
+ path = File.join(toolset_directory, toolset)
41
+ File.exist?(path) ? path : false
42
+ end
43
+
44
+ # Verify a tool exists for a given toolset.
45
+
46
+ def tool?(toolset, batchfile)
47
+ path = File.join(toolset_directory, toolset, batchfile)
48
+ File.exist?(path) ? path : false
29
49
  end
30
50
 
31
51
  end
32
52
 
33
53
  end
34
-
@@ -34,10 +34,6 @@ module Ratch
34
34
 
35
35
  attr_accessor :name
36
36
 
37
- validate "name is required" do
38
- name
39
- end
40
-
41
37
  # Version number.
42
38
 
43
39
  attr_accessor :version
@@ -69,12 +65,12 @@ module Ratch
69
65
 
70
66
  #
71
67
 
72
- ROLLRC_FILE = '{.,meta/}{roll}{.rc,rc,}'
68
+ ROLL_FILE = '{,meta/}*.roll'
73
69
 
74
70
  # Load release information.
75
71
 
76
72
  def self.load
77
- file = Dir.glob(ROLLRC_FILE, File::FNM_CASEFOLD).first
73
+ file = Dir.glob(ROLL_FILE, File::FNM_CASEFOLD).first
78
74
  if file
79
75
  Release.new(parse_rollrc(File.open(file)))
80
76
  else
@@ -67,7 +67,8 @@ lib/ratch/toolset/ruby/announce
67
67
  lib/ratch/toolset/ruby/clobber
68
68
  lib/ratch/toolset/ruby/clobber/rdoc
69
69
  lib/ratch/toolset/ruby/compile
70
- lib/ratch/toolset/ruby/docpkg
70
+ lib/ratch/toolset/ruby/doc
71
+ lib/ratch/toolset/ruby/doc/zip
71
72
  lib/ratch/toolset/ruby/install
72
73
  lib/ratch/toolset/ruby/notes
73
74
  lib/ratch/toolset/ruby/pack
@@ -83,6 +84,7 @@ lib/ratch/toolset/ruby/stats
83
84
  lib/ratch/toolset/ruby/svn
84
85
  lib/ratch/toolset/ruby/svn/log
85
86
  lib/ratch/toolset/ruby/svn/tag
87
+ lib/ratch/toolset/ruby/svn/xlog
86
88
  lib/ratch/toolset/ruby/test
87
89
  lib/ratch/toolset/ruby/test/crosstest
88
90
  lib/ratch/toolset/ruby/test/extest
@@ -92,15 +94,16 @@ lib/ratch/toolset/ruby/test/loadtest
92
94
  lib/ratch/toolset/ruby/test/syntax
93
95
  lib/ratch/toolset/ruby/test/test
94
96
  lib/ratch/toolset/sandbox
97
+ lib/ratch/toolset/sandbox/query
95
98
  man
96
99
  man/ratch.man
97
100
  meta
98
101
  meta/MANIFEST
99
- meta/ProjectInfo
100
- meta/ROLLRC
101
102
  meta/config.yaml
102
103
  meta/icli.yaml
103
104
  meta/project.yaml
105
+ meta/ratch.roll
106
+ meta/xProjectInfo
104
107
  task
105
108
  task/clobber
106
109
  task/clobber/package
@@ -112,63 +115,6 @@ task/setup
112
115
  task/stats
113
116
  test
114
117
  test/fixtures
115
- website
116
- website/images
117
- website/images/appendix.png
118
- website/images/clipboard2.png
119
- website/images/flexihead-flip.jpg
120
- website/images/flexihead.jpg
121
- website/images/head1.jpg
122
- website/images/icon
123
- website/images/icon/book.jpg
124
- website/images/icon/development.png
125
- website/images/icon/download_arrow.gif
126
- website/images/icon/license.png
127
- website/images/icon/logohover.png
128
- website/images/icon/source.png
129
- website/images/process.gif
130
- website/images/radio_earth.jpg
131
- website/images/ready.png
132
- website/images/redratchet.jpg
133
- website/images/rivet
134
- website/images/rivet/board-blue.png
135
- website/images/rivet/board-gray.png
136
- website/images/rivet/board-green.png
137
- website/images/rivet/board-red.png
138
- website/images/rivet/folder-blue.png
139
- website/images/rivet/folder-gray.png
140
- website/images/rivet/folder-green.png
141
- website/images/rivet/folder-red.png
142
- website/images/rivet/paper-blue.png
143
- website/images/rivet/paper-gray.png
144
- website/images/rivet/paper-green.png
145
- website/images/rivet/paper-red.png
146
- website/images/ruby.gif
147
- website/images/runneth.png
148
- website/images/scrap
149
- website/images/scrap/_mat.jpg
150
- website/images/scrap/clipboard.jpg
151
- website/images/scrap/cubeYellow.jpg
152
- website/images/scrap/dove.jpg
153
- website/images/scrap/drink.png
154
- website/images/scrap/masu.jpg
155
- website/images/scrap/package.png
156
- website/images/scrap/ptyid879.jpg
157
- website/images/scrap/ratch.jpg
158
- website/images/scrap/ratch2.jpg
159
- website/images/scrap/ready.svg
160
- website/images/scrap/red-ratch.jpg
161
- website/images/scrap/red_book.gif
162
- website/images/scrap/takara.gif
163
- website/images/silver.gif
164
- website/images/test.jpg
165
- website/index.html
166
- website/javascript
167
- website/javascript/jquery.js
168
- website/javascript/jquery.tabs.js
169
- website/library.html
170
- website/manual.html
171
- website/style.css
172
118
  work
173
119
  work/old
174
120
  work/old/batchfile.rb
@@ -1,7 +1,6 @@
1
1
 
2
2
  publish:
3
- project : proutils
4
- subdir : ratch
3
+ project : ratchets
5
4
  username : transami
6
5
 
7
6
  rdoc:
@@ -0,0 +1,2 @@
1
+ ratch 0.4.1 beta (2007-11-18)
2
+ lib/ratch
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ratch
2
2
 
3
- # Publish website to rubyforge
3
+ # publish website to rubyforge
4
4
  #
5
5
  # This task publishes the source dir (deafult 'doc')
6
6
  # to a rubyforge website.
@@ -12,8 +12,15 @@ main :publish do
12
12
  subdir = config['subdir']
13
13
  source = config['source'] || "doc"
14
14
  username = config['username'] || ENV['RUBYFORGE_USERNAME']
15
- protect = %w{usage statcvs statsvn robot.txt wiki}
16
- exclude = %w{.svn}
15
+ clear = config['clear']
16
+
17
+ if clear
18
+ protect = config['protect'].to_a
19
+ exclude = config['exclude'].to_a
20
+ else
21
+ protect = %w{usage statcvs statsvn robot.txt wiki} + config['protect'].to_a
22
+ exclude = %w{.svn} + config['exclude'].to_a
23
+ end
17
24
 
18
25
  abort "no project" unless project
19
26
  abort "no username" unless username
@@ -27,25 +34,24 @@ main :publish do
27
34
  dir = source.chomp('/') + '/'
28
35
  url = "#{username}@rubyforge.org:/var/www/gforge-projects/#{destination}"
29
36
 
30
- op = ['-rLvz', '--delete'] # maybe -p ?
37
+ op = ['-rLvz', '--delete-after'] # maybe -p ?
31
38
 
32
- # add filter options. The commandline version didn't seem
39
+ # Using commandline filter options didn't seem
33
40
  # to work, so I opted for creating an .rsync_filter file for
34
41
  # all cases.
35
42
 
36
- filter_file = File.join(source,'.rsync-filter')
37
-
38
- unless file?(filter_file)
39
- File.open(filter_file, 'w') do |f|
40
- exclude.map{|e| f << "- #{e}\n"}
41
- protect.map{|e| f << "P #{e}\n"}
43
+ unless protect.empty? && exclude.empty?
44
+ rsync_file = File.join(source,'.rsync-filter')
45
+ unless file?(rsync_file)
46
+ File.open(rsync_file, 'w') do |f|
47
+ exclude.each{|e| f << "- #{e}\n"}
48
+ protect.each{|e| f << "P #{e}\n"}
49
+ end
42
50
  end
51
+ op << "--filter='dir-merge #{rsync_file}'"
43
52
  end
44
53
 
45
- op << "--filter='dir-merge #{filter_file}' --delete-after"
46
-
47
54
  args = op + [dir, url]
48
55
 
49
56
  rsync(*args.to_params)
50
57
  end
51
-
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4.6
3
3
  specification_version: 2
4
4
  name: ratch
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.0
7
- date: 2007-12-14 00:00:00 -05:00
6
+ version: 0.4.1
7
+ date: 2007-12-18 00:00:00 -05:00
8
8
  summary: Ruby Batch Files
9
9
  require_paths:
10
10
  - lib
@@ -89,6 +89,7 @@ files:
89
89
  - lib/ratch/toolset/ruby/release
90
90
  - lib/ratch/toolset/ruby/stamp
91
91
  - lib/ratch/toolset/sandbox
92
+ - lib/ratch/toolset/sandbox/query
92
93
  - lib/ratch/support
93
94
  - lib/ratch/support/filetest.rb
94
95
  - lib/ratch/support/filename.rb
@@ -126,8 +127,8 @@ files:
126
127
  - meta/icli.yaml
127
128
  - meta/config.yaml
128
129
  - meta/MANIFEST
129
- - meta/ROLLRC
130
130
  - meta/project.yaml
131
+ - meta/ratch.roll
131
132
  - meta/xProjectInfo
132
133
  - README
133
134
  - task
@@ -1,2 +0,0 @@
1
- ratch 0.4.0 beta (2007-11-18)
2
- lib/ratch