og 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile DELETED
@@ -1,220 +0,0 @@
1
- require 'rake/rdoctask'
2
- require 'rake/testtask'
3
- require 'rake/gempackagetask'
4
-
5
- # Initialize some variables.
6
-
7
- readme = File.read('README')
8
- Release = (readme[/^= (.+) README$/, 1] || 'unknown').downcase.tr(" ", "-")
9
- Name = Release[/\D+/].sub(/\-+$/, '') || 'unknown'
10
- Version = Release[/[\d.]+/] || 'unknown'
11
-
12
- AuthorName, AuthorMail = 'George Moschovitis', 'gm@navel.gr'
13
- RubyVersion = '1.8.3'
14
-
15
- # Description = (readme[/README\s+(.+?)\n\n/m, 1] || "unknown").gsub(/\s+/, " ")
16
- # Summary = Description[/^.+?>/] || "unknown"
17
-
18
- # DocFiles = %w(README NEWS TODO COPYING GPL)
19
- # RDocFiles = DocFiles - %w(GPL)
20
- RDocOpts = ["--inline-source", "--line-numbers","--title", Name ]
21
- # AdditionalFiles = DocFiles + %w(setup.rb)
22
- VersionFile = MainFile = File.join("lib", Name + '.rb')
23
-
24
- RubyForgeProject = 'nitro'
25
- RubyForgeUser = 'gmosx'
26
- Homepage = "http://www.nitrohq.com/"
27
-
28
- task :default => :package
29
-
30
- # Run the tests.
31
-
32
- Rake::TestTask.new do |t|
33
- cwd = File.expand_path(File.join(File.dirname(__FILE__), '..'))
34
- t.libs << 'test'
35
- %w[glue nitro og].each do |dir|
36
- t.libs << File.join(cwd, dir, 'lib')
37
- end
38
- t.test_files = FileList['test/**/tc*.rb']
39
- t.verbose = true
40
- end
41
-
42
- # Generate RDoc documentation.
43
-
44
- Rake::RDocTask.new do |rd|
45
- rd.main = 'README'
46
- rd.rdoc_dir = 'rdoc'
47
- rd.rdoc_files.include('README', 'INSTALL', 'doc/tutorial.txt', 'lib/**/*.rb')
48
- rd.options << '--all --inline-source'
49
- end
50
-
51
- # Build gem.
52
-
53
- spec = Gem::Specification.new do |s|
54
- s.name = 'og'
55
- if File.read('lib/og.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
56
- s.version = $1
57
- else
58
- raise 'No version found'
59
- end
60
- s.summary = 'Og (ObjectGraph)'
61
- s.description = 'An efficient and transparent Object-Relational mapping library'
62
-
63
- s.add_dependency 'glue', "= #{s.version}"
64
- #s.add_dependency 'postgres-pr', '>= 0.3.0'
65
- #s.add_dependency 'postgres', '>= 0.7.1'
66
- #s.add_dependency 'sqlite3-ruby', '>= 1.0.0'
67
- #s.add_dependency 'mysql', '>= 2.5.1'
68
-
69
- s.required_ruby_version = '= 1.8.3'
70
-
71
- s.files = FileList[
72
- '[A-Z]*', 'setup.rb', '{bin,benchmark,examples,doc,lib,test,vendor}/**/*'
73
- ].exclude("_darcs").exclude("_darcs/**/*").exclude('**/*.log').to_a
74
-
75
- s.require_path = 'lib'
76
- s.autorequire = 'og'
77
-
78
- s.has_rdoc = true
79
- s.extra_rdoc_files = FileList['README', 'INSTALL', 'doc/tutorial.txt'].to_a
80
- s.rdoc_options << '--main' << 'README' << '--title' << 'Og Documentation'
81
- s.rdoc_options << '--all' << '--inline-source'
82
-
83
- s.author = 'George Moschovitis'
84
- s.email = 'gm@navel.gr'
85
- s.homepage = 'http://www.nitrohq.com'
86
- s.rubyforge_project = 'nitro'
87
- end
88
-
89
- Rake::GemPackageTask.new(spec) do |pkg|
90
- pkg.package_dir = 'dist'
91
- pkg.need_zip = true
92
- pkg.need_tar = true
93
- end
94
-
95
- # Manual install (not recommended).
96
-
97
- task :install do
98
- ruby 'install.rb'
99
- end
100
-
101
- # Release files to Rubyforge.
102
- # The code for this task provided by Florian Gross.
103
-
104
- desc "Publish the release files to RubyForge."
105
- task :publish => [:package] do
106
- files = ['gem', 'tgz', 'zip'].map { |ext| "dist/#{Release}.#{ext}" }
107
-
108
- if RubyForgeProject then
109
- require 'net/http'
110
- require 'open-uri'
111
-
112
- changes = ''
113
- if File.exist?('doc/RELEASES') then
114
- changes_re = /^== \s+ Version \s+ #{Regexp.quote(Version)} \s*
115
- (.+?) (?:==|\Z)/mx
116
- changes = File.read('doc/RELEASES')[changes_re, 1] || ''
117
- end
118
-
119
- project_uri = "http://rubyforge.org/projects/#{RubyForgeProject}/"
120
- project_data = open(project_uri) { |data| data.read }
121
- group_id = project_data[/[?&]group_id=(\d+)/, 1]
122
- raise "Couldn't get group id" unless group_id
123
-
124
- print "#{RubyForgeUser}@rubyforge.org's password: "
125
- password = STDIN.gets.chomp
126
-
127
- login_response = Net::HTTP.start('rubyforge.org', 80) do |http|
128
- data = [
129
- "login=1",
130
- "form_loginname=#{RubyForgeUser}",
131
- "form_pw=#{password}"
132
- ].join("&")
133
- http.post('/account/login.php', data)
134
- end
135
-
136
- cookie = login_response['set-cookie']
137
- raise 'Login failed' unless cookie
138
- headers = { 'Cookie' => cookie }
139
-
140
- release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
141
- release_data = open(release_uri, headers) { |data| data.read }
142
- package_id = release_data[/[?&]package_id=(\d+)/, 1]
143
- raise "Couldn't get package id" unless package_id
144
-
145
- first_file = true
146
- release_id = ""
147
-
148
- files.each do |filename|
149
- basename = File.basename(filename)
150
- file_ext = File.extname(filename)
151
- file_data = File.open(filename, "rb") { |file| file.read }
152
-
153
- puts "Releasing #{basename}..."
154
-
155
- release_response = Net::HTTP.start('rubyforge.org', 80) do |http|
156
- release_date = Time.now.strftime('%Y-%m-%d %H:%M')
157
- type_map = {
158
- '.zip' => '3000',
159
- '.tgz' => '3110',
160
- '.gz' => '3110',
161
- '.gem' => '1400',
162
- '.md5sum' => '8100'
163
- }; type_map.default = '9999'
164
- type = type_map[file_ext]
165
- boundary = 'rubyqMY6QN9bp6e4kS21H4y0zxcvoor'
166
-
167
- query_hash = if first_file then
168
- {
169
- 'group_id' => group_id,
170
- 'package_id' => package_id,
171
- 'release_name' => Release,
172
- 'release_date' => release_date,
173
- 'type_id' => type,
174
- 'processor_id' => '8000', # Any
175
- 'release_notes' => '',
176
- 'release_changes' => changes,
177
- 'preformatted' => '1',
178
- 'submit' => '1'
179
- }
180
- else
181
- {
182
- 'group_id' => group_id,
183
- 'release_id' => release_id,
184
- 'package_id' => package_id,
185
- 'step2' => '1',
186
- 'type_id' => type,
187
- 'processor_id' => '8000', # Any
188
- 'submit' => 'Add This File'
189
- }
190
- end
191
-
192
- query = '?' + query_hash.map do |(name, value)|
193
- [name, URI.encode(value)].join('=')
194
- end.join('&')
195
-
196
- data = [
197
- "--" + boundary,
198
- "Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
199
- "Content-Type: application/octet-stream",
200
- "Content-Transfer-Encoding: binary",
201
- "", file_data, ""
202
- ].join("\x0D\x0A")
203
-
204
- release_headers = headers.merge(
205
- 'Content-Type' => "multipart/form-data; boundary=#{boundary}"
206
- )
207
-
208
- target = first_file ? '/frs/admin/qrs.php' : '/frs/admin/editrelease.php'
209
- http.post(target + query, data, release_headers)
210
- end
211
-
212
- if first_file then
213
- release_id = release_response.body[/release_id=(\d+)/, 1]
214
- raise("Couldn't get release id") unless release_id
215
- end
216
-
217
- first_file = false
218
- end
219
- end
220
- end