universe-staticweb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. data/README.md +27 -0
  2. data/Rakefile +31 -0
  3. data/universe.rb +347 -0
  4. data/universe_dsl.rb +56 -0
  5. data/version +1 -0
  6. metadata +126 -0
data/README.md ADDED
@@ -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`
data/Rakefile ADDED
@@ -0,0 +1,31 @@
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 << 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
+ task :push => :build do
30
+ Dir.glob('*.gem') { |f| sh "gem push #{f}" }
31
+ end
data/universe.rb ADDED
@@ -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 'open-gem'
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
data/universe_dsl.rb ADDED
@@ -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.0
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: universe-staticweb
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
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: jekyll
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: nanoc3
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: staticmatic
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: universe-templates
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
+ description:
78
+ email: k.haase@finn.de
79
+ executables: []
80
+
81
+ extensions: []
82
+
83
+ extra_rdoc_files: []
84
+
85
+ files:
86
+ - README.md
87
+ - Rakefile
88
+ - universe.rb
89
+ - universe_dsl.rb
90
+ - version
91
+ has_rdoc: true
92
+ homepage:
93
+ licenses: []
94
+
95
+ post_install_message:
96
+ rdoc_options: []
97
+
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ hash: 3
106
+ segments:
107
+ - 0
108
+ version: "0"
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ requirements: []
119
+
120
+ rubyforge_project:
121
+ rubygems_version: 1.4.1
122
+ signing_key:
123
+ specification_version: 3
124
+ summary: gem install universe-staticweb
125
+ test_files: []
126
+