universe-webframeworks 0.1.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.
Files changed (6) hide show
  1. data/README.md +27 -0
  2. data/Rakefile +42 -0
  3. data/universe.rb +347 -0
  4. data/universe_dsl.rb +56 -0
  5. data/version +1 -0
  6. metadata +182 -0
@@ -0,0 +1,27 @@
1
+ = Universe
2
+
3
+ Use this to set up a fully functional ruby stack:
4
+
5
+ gem install universe
6
+
7
+ You can also easily install just a subset:
8
+
9
+ gem install universe-core
10
+ gem install universe-rails
11
+ gem install univers-sinatra
12
+ ...
13
+
14
+ Up to date list of universes: https://rubygems.org/gems/universe
15
+ Also, for the complete gem list, see `universe.rb`.
16
+
17
+ Should install without hassle on 1.8.7, 1.9.2 (and later), JRuby 1.6.0 (and later), Rubinius 1.2.0 (and later).
18
+ Might work on other Rubies, too.
19
+
20
+ == Common, but not included (install manually)
21
+
22
+ Due to compatibility issues, these gems are missing:
23
+
24
+ * `hwia`
25
+ * `ruby_debug`
26
+ * `ruby-prof`
27
+ * `ruby2ruby`
@@ -0,0 +1,42 @@
1
+ require 'rake/clean'
2
+ CLEAN.push(*FileList["*.gem"])
3
+
4
+ universe = nil
5
+ version = File.read('version')
6
+
7
+ task :universe do
8
+ require 'universe_dsl'
9
+ universe = Universe.new :universe, version
10
+ universe.load 'universe.rb'
11
+ end
12
+
13
+ desc "increases version number"
14
+ task :bump_version do
15
+ version.succ!
16
+ File.open('version', 'w') { |f| f << version }
17
+ end
18
+
19
+ desc "build all the gems"
20
+ task :build => :universe do
21
+ universe.build_all
22
+ end
23
+
24
+ desc "display generated gemspecs"
25
+ task :gemspecs => :universe do
26
+ puts universe.map { |u| "\n" << ("#"*80) << "\n# spec for #{u.name}\n" << u.to_spec.to_ruby }
27
+ end
28
+
29
+ desc 'push all gems in folder'
30
+ task :push do
31
+ gems = Dir.glob('*.gem')
32
+ gems.reject! do |f|
33
+ case result = `gem push #{f}`
34
+ when /Success/ then true
35
+ when /Please specify dependencies that exist on RubyGems.org: universe-/ then false
36
+ else fail result
37
+ end
38
+ end
39
+ end
40
+
41
+ desc 'bump_version, build, release'
42
+ task :release => [:bump_version, :build, :push]
@@ -0,0 +1,347 @@
1
+ group :core do
2
+ gem 'backports'
3
+ gem 'bundler'
4
+ gem 'rake'
5
+ end
6
+
7
+ group :devtools do
8
+ gem 'gem-open'
9
+ gem 'gem-release'
10
+ gem 'hoe'
11
+ gem 'jeweler'
12
+ gem 'bond'
13
+ gem 'bcat'
14
+ gem 'cheat'
15
+ gem 'churn'
16
+ gem 'faraday'
17
+ gem 'ghost'
18
+ gem 'github'
19
+ gem 'hammertime'
20
+ gem 'hanna'
21
+ gem 'hanna-nouveau'
22
+ gem 'hirb'
23
+ gem 'htty'
24
+ gem 'jsonpretty'
25
+ gem 'livereload'
26
+ gem 'memprof'
27
+ gem 'metric_fu'
28
+ gem 'newgem'
29
+ gem 'octopi'
30
+ gem 'rake-compiler'
31
+ gem 'rdoc'
32
+ gem 'rip'
33
+ gem 'ripl'
34
+ gem 'rocco'
35
+ gem 'rubygems-test'
36
+ gem 'sdoc'
37
+ gem 'showoff'
38
+ gem 'whenever'
39
+ gem 'yard'
40
+ gem 'yard-rspec'
41
+
42
+ gem 'universe-testing'
43
+ gem 'universe-core'
44
+ end
45
+
46
+ # common stuff I don't want to have in core, but haven't split up into categories
47
+ group :common do
48
+ gem 'chronic'
49
+ gem 'bson'
50
+ gem 'crack'
51
+ gem 'universe-devtools'
52
+ gem 'capture_stdout'
53
+ gem 'curb'
54
+ gem 'diff-lcs'
55
+ gem 'directory_watcher'
56
+ gem 'em-http-request'
57
+ gem 'em-websocket'
58
+ gem 'escape_utils'
59
+ gem 'eventmachine'
60
+ gem 'extlib'
61
+ gem 'facets'
62
+ gem 'highline'
63
+ gem 'httparty'
64
+ gem 'http_parser.rb'
65
+ gem 'i18n'
66
+ gem 'json_pure'
67
+ gem 'log4r'
68
+ gem 'main'
69
+ gem 'mechanize'
70
+ gem 'mime-types'
71
+ gem 'mutter'
72
+ gem 'net-ldap'
73
+ gem 'net-scp'
74
+ gem 'net-ssh'
75
+ gem 'nokogiri'
76
+ gem 'oauth'
77
+ gem 'oauth2'
78
+ gem 'omniauth'
79
+ gem 'open4'
80
+ gem 'prawn'
81
+ gem 'preforker'
82
+ gem 'redgreen'
83
+ gem 'rest-client'
84
+ gem 'rev'
85
+ gem 'rubigen'
86
+ gem 'ruby-fsevent'
87
+ gem 'ruby-hmac'
88
+ gem 'ruby-openid'
89
+ gem 'ruby_parser'
90
+ gem 'rubyzip'
91
+ gem 'spawn'
92
+ gem 'stackdeck'
93
+ gem 'starling'
94
+ gem 'thor'
95
+ gem 'trollop'
96
+ gem 'typhoeus'
97
+ gem 'tzinfo'
98
+ gem 'yajl-ruby'
99
+ end
100
+
101
+ group :testing do
102
+ gem 'rspec'
103
+ gem 'fuubar'
104
+ gem 'mspec'
105
+ gem 'bacon'
106
+ gem 'test-unit'
107
+ gem 'test-spec'
108
+ gem 'minitest'
109
+ gem 'protest'
110
+ gem 'contest'
111
+ gem 'cucumber'
112
+ gem 'steak'
113
+ gem 'ZenTest'
114
+ gem 'delorean'
115
+ gem 'database_cleaner'
116
+ gem 'spork'
117
+ gem 'autotest-growl'
118
+ gem 'expectations'
119
+ gem 'fakefs'
120
+ gem 'faker'
121
+ gem 'fakeweb'
122
+ gem 'ffaker'
123
+ gem 'ffi'
124
+ gem 'flay'
125
+ gem 'flexmock'
126
+ gem 'flog'
127
+ gem 'heckle'
128
+ gem 'mocha'
129
+ gem 'rcov'
130
+ gem 'reek'
131
+ gem 'riot'
132
+ gem 'roodi'
133
+ gem 'rr'
134
+ gem 'selenium-client'
135
+ gem 'selenium-webdriver'
136
+ gem 'shoulda'
137
+ gem 'test_declarative'
138
+ gem 'timecop'
139
+ gem 'webmock'
140
+
141
+ gem 'universe-rack-testing'
142
+ gem 'universe-rails-testing'
143
+ end
144
+
145
+ group :rack do
146
+ gem 'http_router'
147
+ gem 'rack'
148
+ gem 'rack-abstract-format'
149
+ gem 'rack-accept-media-types'
150
+ gem 'rack-aggregate'
151
+ gem 'rack-bug'
152
+ gem 'rack-cache'
153
+ gem 'rack-contrib'
154
+ gem 'rack-cors'
155
+ gem 'rack-fiber_pool'
156
+ gem 'rack-flash'
157
+ gem 'rack-html5'
158
+ gem 'rack-mount'
159
+ gem 'rack-nocache'
160
+ gem 'rack-offline'
161
+ gem 'rack-openid'
162
+ gem 'rack-pack'
163
+ gem 'rack-respond_to'
164
+ gem 'rum'
165
+ gem 'shotgun'
166
+ gem 'toto'
167
+ gem 'url_mount'
168
+ gem 'usher'
169
+ gem 'warden'
170
+
171
+ group :testing do
172
+ gem 'rack-test'
173
+ gem 'capybara'
174
+ gem 'selenium'
175
+ gem 'celerity'
176
+ gem 'culerity'
177
+ gem 'capybara-envjs'
178
+ gem 'envjs'
179
+ gem 'jasmine'
180
+ gem 'sham_rack'
181
+ gem 'webrat'
182
+ end
183
+
184
+ gem 'universe-webserver'
185
+ end
186
+
187
+ group :db do
188
+ gem 'activerecord'
189
+ gem 'couchrest'
190
+ gem 'database_cleaner'
191
+ gem 'datamapper'
192
+ gem 'dm-sqlite-adapter'
193
+ gem 'do_mysql'
194
+ gem 'do_sqlite3'
195
+ gem 'em-redis'
196
+ gem 'hiredis'
197
+ gem 'memcache-client'
198
+ gem 'mongo'
199
+ gem 'mongo_ext'
200
+ gem 'mongo_mapper'
201
+ gem 'mongoid'
202
+ gem 'mysql'
203
+ gem 'mysql2'
204
+ gem 'mysqlplus'
205
+ gem 'nest'
206
+ gem 'ohm'
207
+ gem 'pg'
208
+ gem 'postgres'
209
+ gem 'redis'
210
+ gem 'redis-store'
211
+ gem 'remcached'
212
+ gem 'sequel'
213
+ gem 'sqlite3-ruby'
214
+ gem 'taps'
215
+ end
216
+
217
+ group :webframeworks do
218
+ gem 'camping'
219
+ gem 'cramp'
220
+ gem 'halcyon'
221
+ gem 'padrino'
222
+ gem 'merb'
223
+ gem 'ramaze'
224
+ gem 'universe-rails'
225
+ gem 'universe-sinatra'
226
+ end
227
+
228
+ group :webserver do
229
+ gem 'ebb'
230
+ gem 'eventmachine_httpserver'
231
+ gem 'fcgi'
232
+ gem 'heroku'
233
+ gem 'mongrel'
234
+ gem 'passenger'
235
+ gem 'rainbows'
236
+ gem 'scgi'
237
+ gem 'serv'
238
+ gem 'serverside'
239
+ gem 'sunshowers'
240
+ gem 'swiftiply'
241
+ gem 'thin'
242
+ gem 'unicorn'
243
+ gem 'webroar'
244
+ gem 'zbatery'
245
+ end
246
+
247
+ group :staticweb do
248
+ gem 'jekyll'
249
+ gem 'nanoc3'
250
+ gem 'staticmatic'
251
+ gem 'universe-templates'
252
+ end
253
+
254
+ group :rails do
255
+ gem 'rails'
256
+ gem 'devise'
257
+ gem 'formtastic'
258
+ gem 'will_paginate'
259
+
260
+ group :testing do
261
+ gem 'factory_girl'
262
+ gem 'object_daddy'
263
+ gem 'populator'
264
+ gem 'rspec-rails'
265
+ gem 'universe-rack-testing'
266
+ end
267
+
268
+ gem 'universe-rack', version
269
+ gem 'universe-db', version
270
+ end
271
+
272
+ group :javascript do
273
+ gem 'coffee-script'
274
+ gem 'envjs'
275
+ gem 'harmony'
276
+ gem 'jasmine'
277
+ gem 'johnson'
278
+ gem 'taka'
279
+ gem 'therubyracer'
280
+ end
281
+
282
+ group :parsing do
283
+ gem 'ghostwheel'
284
+ gem 'parslet'
285
+ gem 'pegarus'
286
+ gem 'racc'
287
+ gem 'rexical'
288
+ gem 'sexp_path'
289
+ gem 'sexp_processor'
290
+ gem 'stemmer'
291
+ gem 'treetop'
292
+ end
293
+
294
+ group :templates do
295
+ gem 'tilt'
296
+ gem 'builder'
297
+ gem 'bluecloth'
298
+ gem 'bureaucrat'
299
+ gem 'coderay'
300
+ gem 'coffee-script'
301
+ gem 'compass'
302
+ gem 'erubis'
303
+ gem 'github-markup'
304
+ gem 'haml'
305
+ gem 'haml-more'
306
+ gem 'less'
307
+ gem 'liquid'
308
+ gem 'markaby'
309
+ gem 'maruku'
310
+ gem 'mustache'
311
+ gem 'radius'
312
+ gem 'rdiscount'
313
+ gem 'rdoc'
314
+ gem 'rubypants'
315
+ gem 'slim'
316
+ gem 'templater'
317
+ gem 'temple'
318
+ gem 'text-format'
319
+ gem 'text-hyphen'
320
+ gem 'wrapt'
321
+ end
322
+
323
+ group :sinatra do
324
+ gem 'big_band'
325
+ gem 'sinatra-accept-params'
326
+ gem 'sinatra-advanced-routes'
327
+ gem 'sinatra-bundles'
328
+ gem 'sinatra-cache'
329
+ gem 'sinatra-compass'
330
+ gem 'sinatra-config-file'
331
+ gem 'sinatra-ditties'
332
+ gem 'sinatra-dm'
333
+ gem 'sinatra-extension'
334
+ gem 'sinatra-logger'
335
+ gem 'sinatra_more'
336
+ gem 'sinatra-more-server'
337
+ gem 'sinatra-namespace'
338
+ gem 'sinatra-redis'
339
+ gem 'sinatra-reloader'
340
+ gem 'sinatra-settings'
341
+ gem 'sinatra-sugar'
342
+ gem 'sinatra-tags'
343
+ gem 'sinatra-test-helper'
344
+ gem 'sinatras-hat'
345
+ gem 'yard-sinatra'
346
+ gem 'universe-templates'
347
+ end
@@ -0,0 +1,56 @@
1
+ require 'rubygems/specification'
2
+ require 'rubygems/builder'
3
+
4
+ class Universe
5
+ include Enumerable
6
+ attr_reader :name, :galaxies, :version
7
+
8
+ def initialize(name, version = nil, &block)
9
+ @name, @galaxies, @version, @gems = name.to_s, [], version, []
10
+ instance_eval(&block) if block
11
+ end
12
+
13
+ def load(file)
14
+ instance_eval File.read(file)
15
+ end
16
+
17
+ def group(name, &block)
18
+ @galaxies << Universe.new("#{@name}-#{name}", version, &block)
19
+ end
20
+
21
+ def gem(*args)
22
+ @gems << args
23
+ end
24
+
25
+ def build
26
+ Gem::Builder.new(to_spec).build
27
+ end
28
+
29
+ def build_all
30
+ each(false) { |galaxy| galaxy.build }
31
+ end
32
+
33
+ def each(first = true)
34
+ return enum_for(:each) unless block_given?
35
+ yield self if first
36
+ @galaxies.each { |galaxy| galaxy.each { |g| yield g }}
37
+ yield self unless first
38
+ end
39
+
40
+ def to_spec
41
+ Gem::Specification.new do |s|
42
+ s.name = name
43
+ s.version = version
44
+ s.summary = "gem install #{name}"
45
+ s.author = "Konstantin Haase"
46
+ s.email = 'k.haase@finn.de'
47
+ s.files = `git ls-files`.split("\n")
48
+ @galaxies.each do |galaxy|
49
+ s.add_dependency(galaxy.name, galaxy.version)
50
+ end
51
+ @gems.each do |args|
52
+ s.add_dependency(*args)
53
+ end
54
+ end
55
+ end
56
+ end
data/version ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
metadata ADDED
@@ -0,0 +1,182 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: universe-webframeworks
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Konstantin Haase
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-12 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: camping
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: cramp
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: halcyon
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ hash: 3
58
+ segments:
59
+ - 0
60
+ version: "0"
61
+ type: :runtime
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: padrino
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ type: :runtime
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ name: merb
79
+ prerelease: false
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ hash: 3
86
+ segments:
87
+ - 0
88
+ version: "0"
89
+ type: :runtime
90
+ version_requirements: *id005
91
+ - !ruby/object:Gem::Dependency
92
+ name: ramaze
93
+ prerelease: false
94
+ requirement: &id006 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ hash: 3
100
+ segments:
101
+ - 0
102
+ version: "0"
103
+ type: :runtime
104
+ version_requirements: *id006
105
+ - !ruby/object:Gem::Dependency
106
+ name: universe-rails
107
+ prerelease: false
108
+ requirement: &id007 !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ hash: 3
114
+ segments:
115
+ - 0
116
+ version: "0"
117
+ type: :runtime
118
+ version_requirements: *id007
119
+ - !ruby/object:Gem::Dependency
120
+ name: universe-sinatra
121
+ prerelease: false
122
+ requirement: &id008 !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ hash: 3
128
+ segments:
129
+ - 0
130
+ version: "0"
131
+ type: :runtime
132
+ version_requirements: *id008
133
+ description:
134
+ email: k.haase@finn.de
135
+ executables: []
136
+
137
+ extensions: []
138
+
139
+ extra_rdoc_files: []
140
+
141
+ files:
142
+ - README.md
143
+ - Rakefile
144
+ - universe.rb
145
+ - universe_dsl.rb
146
+ - version
147
+ has_rdoc: true
148
+ homepage:
149
+ licenses: []
150
+
151
+ post_install_message:
152
+ rdoc_options: []
153
+
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ hash: 3
162
+ segments:
163
+ - 0
164
+ version: "0"
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
174
+ requirements: []
175
+
176
+ rubyforge_project:
177
+ rubygems_version: 1.4.1
178
+ signing_key:
179
+ specification_version: 3
180
+ summary: gem install universe-webframeworks
181
+ test_files: []
182
+