bee_java 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/egg/xmlrpc.yml CHANGED
@@ -12,8 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- - build: xmlrpc
16
- default: all
15
+ - build: xmlrpc
16
+ default: all
17
17
  description: "Generate a sample XML-RPC Java project"
18
18
 
19
19
  - properties:
@@ -21,13 +21,13 @@
21
21
  description: |
22
22
  This script will create a sample XML-RPC Java project.
23
23
 
24
- - target: welcome
24
+ - target: welcome
25
25
  description: "Print information message"
26
26
  script:
27
27
  - print: :description
28
28
 
29
- - target: prompt
30
- depends: welcome
29
+ - target: prompt
30
+ depends: welcome
31
31
  description: "Prompt for project information"
32
32
  script:
33
33
  - print: "Please answer following questions to generate the project:"
@@ -36,8 +36,8 @@
36
36
  default: :name
37
37
  property: name
38
38
 
39
- - target: generate
40
- depends: prompt
39
+ - target: generate
40
+ depends: prompt
41
41
  description: "Generate project"
42
42
  script:
43
43
  - print: "Generating project..."
@@ -51,8 +51,8 @@
51
51
  excludes: "**/build.yml"
52
52
  dest: "#{here}/#{name}"
53
53
 
54
- - target: customization
55
- depends: generate
54
+ - target: customization
55
+ depends: generate
56
56
  description: "Print information about project customization"
57
57
  script:
58
58
  - print: |
@@ -60,5 +60,5 @@
60
60
  print information about generated build file.
61
61
  Enjoy!
62
62
 
63
- - target: all
63
+ - target: all
64
64
  depends: [welcome, prompt, generate, customization]
data/java.yml ADDED
@@ -0,0 +1,144 @@
1
+ - build: java
2
+ description: Build file for Java projects
3
+ default: [clean, test]
4
+ alias:
5
+ compile: jv_compile
6
+ test: jv_unit_test
7
+ run: jv_run
8
+ jar: jv_jar
9
+ lib: jv_libs
10
+ clean: jv_clean
11
+
12
+ - properties:
13
+ # name of the project (used to generate JAR file)
14
+ name: ~
15
+ # project version
16
+ version: ~
17
+ # build directory where live genrated files
18
+ jv_build_dir: "build"
19
+ # java source files directory
20
+ jv_src: "src"
21
+ # java unit test files directory
22
+ jv_test_src: "test"
23
+ # dependency file (defaults to 'dependencies.yml')
24
+ jv_dep_file: "dependencies.yml"
25
+ # type of dependency file (defaults to 'bee')
26
+ jv_dep_type: "bee"
27
+ # directory where are genrated class files
28
+ jv_classes: "#{jv_build_dir}/classes"
29
+ # directory where are generated class files for unit tests
30
+ jv_test_classes: "#{jv_build_dir}/test_classes"
31
+ # glob for unit tests to include
32
+ jv_test_includes: ["**/*Test.java"]
33
+ # glob for unit tests to exclude
34
+ jv_test_excludes: []
35
+ # resources to include in classpath as sets of files (see copy task)
36
+ jv_res: []
37
+ # resources to include in test classpath as sets of files (see copy task)
38
+ jv_test_res: []
39
+ # java main class to run
40
+ jv_main: ~
41
+ # command line arguments for main class
42
+ jv_args: ""
43
+ # JAR file to generate
44
+ jv_jar: "#{jv_build_dir}/#{name}-#{version}.jar"
45
+ # directory where to copy dependencies libraries
46
+ jv_lib_dir: "#{jv_build_dir}/lib"
47
+ # directories to clean
48
+ jv_clean_dirs: [:jv_build_dir]
49
+ # files to clean
50
+ jv_clean_files: []
51
+
52
+ - target: jv_classpath
53
+ description: Build Java compile, test and runtime classpath
54
+ script:
55
+ - java.classpath:
56
+ file: :jv_dep_file
57
+ type: :jv_dep_type
58
+ classpath: jv_compile_cp
59
+ directories: :jv_classes
60
+ - java.classpath:
61
+ file: :jv_dep_file
62
+ type: :jv_dep_type
63
+ classpath: jv_test_cp
64
+ directories: [:jv_classes, :jv_test_classes]
65
+ scope: test
66
+ - java.classpath:
67
+ file: :jv_dep_file
68
+ type: :jv_dep_type
69
+ classpath: jv_runtime_cp
70
+ directories: :jv_classes
71
+ scope: runtime
72
+
73
+ - target: jv_compile
74
+ depends: jv_classpath
75
+ description: Compile Java source files and copy resources
76
+ script:
77
+ - java.javac:
78
+ src: :jv_src
79
+ dest: :jv_classes
80
+ classpath: :jv_compile_cp
81
+ - copy:
82
+ sets: :jv_res
83
+ dest: :jv_classes
84
+
85
+ - target: jv_test_compile
86
+ depends: [jv_classpath, jv_compile]
87
+ description: Compile Java test source files
88
+ script:
89
+ - java.javac:
90
+ src: :jv_test_src
91
+ dest: :jv_test_classes
92
+ classpath: :jv_test_cp
93
+ - copy:
94
+ sets: :jv_test_res
95
+ dest: :jv_classes
96
+
97
+ - target: jv_unit_test
98
+ depends: jv_test_compile
99
+ description: Run Java unit tests
100
+ script:
101
+ - java.junit:
102
+ src: :jv_test_src
103
+ includes: :jv_test_includes
104
+ excludes: :jv_test_excludes
105
+ classpath: :jv_test_cp
106
+
107
+ - target: jv_run
108
+ depends: jv_compile
109
+ description: Run main class
110
+ script:
111
+ - java.java:
112
+ main: :jv_main
113
+ classpath: :jv_runtime_cp
114
+ arguments: :jv_args
115
+
116
+ - target: jv_jar
117
+ depends: jv_compile
118
+ description: Build JAR file
119
+ script:
120
+ - java.jar:
121
+ src: :jv_classes
122
+ dest: :jv_jar
123
+
124
+ - target: jv_libs
125
+ depends: jv_jar
126
+ description: Assemble rutime classpath in a directory
127
+ script:
128
+ - mkdir: :jv_lib_dir
129
+ - cp:
130
+ src: :jv_jar
131
+ dest: :jv_lib_dir
132
+ - java.classpath:
133
+ dependencies: jv_dependencies
134
+ scope: runtime
135
+ - cp:
136
+ src: :jv_dependencies
137
+ dest: :jv_lib_dir
138
+
139
+ - target: jv_clean
140
+ description: Clean generated files
141
+ script:
142
+ - rmdir: :jv_clean_dirs
143
+ - rm: :jv_clean_files
144
+
data/lib/bee_task_java.rb CHANGED
@@ -166,7 +166,7 @@ module Bee
166
166
  # select files to include in the Jar file
167
167
  files = []
168
168
  if includes
169
- files = filter_files(includes, excludes)
169
+ files = filter_files(nil, includes, excludes)
170
170
  files.map! { |file| "\"#{file}\"" }
171
171
  end
172
172
  # run command line
@@ -322,7 +322,7 @@ module Bee
322
322
  end
323
323
  end
324
324
  if includes
325
- files = filter_files(includes, excludes)
325
+ files = filter_files(nil, includes, excludes)
326
326
  end
327
327
  files.map! { |file| "\"#{file}\"" }
328
328
  # run command line
@@ -389,7 +389,7 @@ module Bee
389
389
  # select test files to run
390
390
  files = []
391
391
  for dir in src
392
- files += filter_files(includes, excludes, dir)
392
+ files += filter_files(dir, includes, excludes)
393
393
  end
394
394
  files.uniq!
395
395
  classes = files.map do |file|
@@ -411,10 +411,17 @@ module Bee
411
411
  end
412
412
  end
413
413
 
414
- # Resolve dependencies and genrate a classpath for a given Maven file.
415
- # - file: Dependencies file to parse (dependencies.yml, project.xml or
416
- # pom.xml depending on type). Defaults to dependencies.yml.
417
- # - type: the dependencies type: maven1, maven2 or bee. Defaults to bee.
414
+ # Resolve dependencies and generate a classpath for a given dependencies
415
+ # file. Synchronize dependencies with local repository if necessary
416
+ # (default location is ~/.java/dependencies directory).
417
+ #
418
+ # - file: Dependencies file to parse ('dependencies.yml', 'project.xml'
419
+ # or 'pom.xml' depending on type). Defaults to 'dependencies.yml'.
420
+ # - type: the dependencies type: 'bee', 'maven1' or 'maven2'. Defaults to
421
+ # 'bee'.
422
+ # - scope: the scope of the classpath to build ('compile', 'test' and so
423
+ # on, as defined in dependencies file).
424
+ # - directories: directory or list of directories to add to classpath.
418
425
  # - classpath: the property name to set with classpath.
419
426
  # - dependencies: the property name to set with the list of dependencies
420
427
  # files.
@@ -453,15 +460,14 @@ module Bee
453
460
  end
454
461
  if classpath
455
462
  path = resolver.classpath
456
- if directories
457
- for directory in directories
458
- path += File::PATH_SEPARATOR+directory
459
- end
460
- end
463
+ path += ':' + directories.join(File::PATH_SEPARATOR) if directories
461
464
  @build.context.set_property(classpath, path)
462
465
  end
463
- @build.context.set_property(dependencies, resolver.dependencies) if
464
- dependencies
466
+ if dependencies
467
+ deps = resolver.dependencies
468
+ deps += directories if directories
469
+ @build.context.set_property(dependencies, deps)
470
+ end
465
471
  end
466
472
 
467
473
  private
@@ -17,6 +17,7 @@ require 'fileutils'
17
17
  require 'rexml/document'
18
18
  require 'rexml/xpath'
19
19
  require 'bee_util'
20
+ require 'pathname'
20
21
 
21
22
  module Bee
22
23
 
@@ -31,8 +32,6 @@ module Bee
31
32
  DEFAULT_REPOSITORY = nil
32
33
  # Default cache location.
33
34
  DEFAULT_CACHE = nil
34
- # Default dependency scope.
35
- DEFAULT_SCOPE = 'compile'
36
35
 
37
36
  # Constructor:
38
37
  # - file: dependency file (should be maven.xml).
@@ -51,11 +50,7 @@ module Bee
51
50
 
52
51
  # Return the classpath.
53
52
  def classpath
54
- synchronize
55
- classpath = @dependencies.map do |dependency|
56
- build_path(@cache, dependency)
57
- end
58
- return classpath.join(File::PATH_SEPARATOR)
53
+ return dependencies.join(File::PATH_SEPARATOR)
59
54
  end
60
55
 
61
56
  # Return dependencies as a list.
@@ -83,7 +78,7 @@ module Bee
83
78
  for dependency in @dependencies
84
79
  tofile = build_path(@cache, dependency)
85
80
  if not File.exists?(tofile)
86
- save_file(download(dependency), tofile)
81
+ download_save(dependency, tofile)
87
82
  else
88
83
  puts "Dependency '#{build_name(dependency)}' already downloaded" if
89
84
  @verbose
@@ -103,18 +98,48 @@ module Bee
103
98
  def download(dependency, log=true)
104
99
  name = build_name(dependency)
105
100
  puts "Downloading dependency '#{name}'..." if log or @verbose
106
- for repository in @repositories
107
- url = build_path(repository, dependency)
108
- puts "Trying '#{url}'..." if @verbose
109
- begin
110
- return fetch(url)
111
- rescue
101
+ if dependency[:path]
102
+ path = Pathname.new(dependency[:path])
103
+ path = File.join(File.dirname(@file), path) if !path.absolute?
104
+ return File.open(path) { |f| f.read() }
105
+ else
106
+ for repository in @repositories
107
+ url = build_path(repository, dependency)
108
+ puts "Trying '#{url}'..." if @verbose
109
+ begin
110
+ return fetch(url)
111
+ rescue
112
+ end
112
113
  end
114
+ error "Dependency '#{name}' not found"
113
115
  end
114
- error "Dependency '#{name}' not found"
115
116
  end
116
117
 
117
- # Build a Maven path.
118
+ # Download a given dependency and save in a file.
119
+ # - dependency: dependency as a map.
120
+ # - file: the file where to save depndency.
121
+ def download_save(dependency, file, log=true)
122
+ name = build_name(dependency)
123
+ puts "Downloading dependency '#{name}'..." if log or @verbose
124
+ if dependency[:path]
125
+ path = Pathname.new(dependency[:path])
126
+ path = File.join(File.dirname(@file), path) if !path.absolute?
127
+ return File.open(path) { |f| f.read() }
128
+ else
129
+ for repository in @repositories
130
+ url = build_path(repository, dependency)
131
+ puts "Trying '#{url}'..." if @verbose
132
+ begin
133
+ fetch_save(url, file)
134
+ return
135
+ rescue
136
+ end
137
+ end
138
+ error "Dependency '#{name}' not found"
139
+ end
140
+ end
141
+
142
+ # Build a path.
118
143
  # - root: the path root (root directory for repository or cache).
119
144
  # - dependency: dependency as a map.
120
145
  # Return: path as a string.
@@ -141,32 +166,6 @@ module Bee
141
166
  raise 'Not implemented'
142
167
  end
143
168
 
144
- # Tells if a given dependency should be selected.
145
- # - dependency: the dependency to consider.
146
- def selected?(dependency)
147
- return false if dependency[:optional] == 'true'
148
- dep_scope = dependency[:scope] || DEFAULT_SCOPE
149
- if @scope == 'compile'
150
- if dep_scope == 'compile'
151
- return true
152
- else
153
- return false
154
- end
155
- elsif @scope == 'runtime'
156
- if dep_scope == 'compile' or dep_scope == 'runtime'
157
- return true
158
- else
159
- return false
160
- end
161
- elsif @scope == 'test'
162
- if dep_scope == 'compile' or dep_scope == 'runtime' or dep_scope == 'test'
163
- return true
164
- else
165
- return false
166
- end
167
- end
168
- end
169
-
170
169
  # Save a given binary in a file and create directories as necessary.
171
170
  # - binary: data to save.
172
171
  # - tofile: file to save into.
@@ -197,6 +196,29 @@ module Bee
197
196
  end
198
197
  end
199
198
 
199
+ # Get a given URL and save body in a file.
200
+ # - url: URL to get.
201
+ # - file: the file where to save the body.
202
+ # - limit: redirectrion limit (defaults to HTTP_REDIRECTIONS_LIMIT).
203
+ def fetch_save(url, file, limit = HTTP_REDIRECTIONS_LIMIT)
204
+ puts "Fetching '#{url}'..." if @verbose
205
+ raise 'HTTP redirect too deep' if limit == 0
206
+ directory = File.dirname(file)
207
+ FileUtils.makedirs(directory) if not File.exists?(directory)
208
+ File.open(file,'wb') do |f|
209
+ uri = URI.parse(url)
210
+ Net::HTTP.start(uri.host, uri.port) do |http|
211
+ http.request_get(uri.path) do |response|
212
+ response.read_body do |segment|
213
+ f.write(segment)
214
+ # hack, else 100% CPU
215
+ sleep 0.001
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
221
+
200
222
  end
201
223
 
202
224
  # Bee dependency resolver.
@@ -225,17 +247,19 @@ module Bee
225
247
  new_dependencies = []
226
248
  for dependency in dependencies
227
249
  if dependency['group']
228
- new_dependency = {}
229
- for key in dependency.keys
230
- if key != 'group' and key != 'artifact'
231
- new_dependency[key.to_sym] = dependency[key]
232
- elsif key == 'group'
233
- new_dependency[:groupid] = dependency['group']
234
- elsif key == 'artifact'
235
- new_dependency[:artifactid] = dependency['artifact']
250
+ if Array(dependency['scope']).include?(@scope) or !dependency['scope']
251
+ new_dependency = {}
252
+ for key in dependency.keys
253
+ if key != 'group' and key != 'artifact'
254
+ new_dependency[key.to_sym] = dependency[key]
255
+ elsif key == 'group'
256
+ new_dependency[:groupid] = dependency['group']
257
+ elsif key == 'artifact'
258
+ new_dependency[:artifactid] = dependency['artifact']
259
+ end
236
260
  end
261
+ new_dependencies << new_dependency
237
262
  end
238
- new_dependencies << new_dependency
239
263
  end
240
264
  end
241
265
  return new_dependencies
@@ -286,6 +310,13 @@ module Bee
286
310
  DEFAULT_CACHE = File.expand_path('~/.maven/repository')
287
311
  # Default dependency scope.
288
312
  DEFAULT_SCOPE = 'compile'
313
+ # scope availability: list for a given dependency scope the implied classpath scopes
314
+ SCOPE_AVAILABILITY = {
315
+ 'compile' => ['compile', 'test', 'runtime'],
316
+ 'provided' => ['compile', 'test'],
317
+ 'runtime' => ['test', 'runtime'],
318
+ 'test' => ['test'],
319
+ }
289
320
 
290
321
  # Constructor:
291
322
  # - file: dependency file (should be maven.xml).
@@ -298,20 +329,6 @@ module Bee
298
329
 
299
330
  private
300
331
 
301
- # Synchronize dependencies with local cache.
302
- def synchronize
303
- resolve
304
- for dependency in @dependencies
305
- tofile = build_path(@cache, dependency)
306
- if not File.exists?(tofile)
307
- save_file(download(dependency), tofile)
308
- else
309
- puts "Dependency '#{build_name(dependency)}' already downloaded" if
310
- @verbose
311
- end
312
- end
313
- end
314
-
315
332
  # Extract repository list from file.
316
333
  # Return: repository list.
317
334
  def parse_repositories
@@ -368,6 +385,16 @@ module Bee
368
385
  return dependencies
369
386
  end
370
387
 
388
+ # Tells if a given dependency should be selected.
389
+ # - dependency: the dependency to consider.
390
+ def selected?(dependency)
391
+ return false if dependency[:optional] == 'true'
392
+ dep_scope = dependency[:scope] || DEFAULT_SCOPE
393
+ raise "Unknown dependency scope '#{dep_scope}'" if
394
+ !SCOPE_AVAILABILITY.keys.include?(dep_scope)
395
+ return SCOPE_AVAILABILITY[dep_scope].include?(@scope)
396
+ end
397
+
371
398
  end
372
399
 
373
400
  # Maven 2 dependency resolver.
@@ -468,11 +495,12 @@ module Bee
468
495
  version = dependency[:version]
469
496
  type = dependency[:type] || 'jar'
470
497
  classifier = dependency[:classifier]
498
+ path = dependency[:path]
471
499
  if classifier
472
500
  return "#{root}/#{groupid}/#{artifactid}/#{version}/#{artifactid}-#{version}-#{classifier}.#{type}"
473
501
  else
474
502
  return "#{root}/#{groupid}/#{artifactid}/#{version}/#{artifactid}-#{version}.#{type}"
475
- end
503
+ end
476
504
  end
477
505
 
478
506
  end
data/maven2.yml ADDED
@@ -0,0 +1,15 @@
1
+ - build: maven2
2
+ description: Build file for Maven 2 projects
3
+ extends: ":java:java.yml"
4
+
5
+ - properties:
6
+ name: ~
7
+ jv_build_dir: "target"
8
+ jv_src: "src/main/java"
9
+ jv_test_src: "src/test/java"
10
+ jv_res:
11
+ root: "src/main/resources"
12
+ includes: "**/*"
13
+ jv_test_res:
14
+ root: "src/test/resources"
15
+ includes: "**/*"
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bee_java
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 4
10
+ version: 0.0.4
5
11
  platform: ruby
6
12
  authors:
7
13
  - Michel Casabianca
@@ -9,19 +15,25 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2011-02-17 00:00:00 +01:00
18
+ date: 2012-06-03 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: bee
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 51
30
+ segments:
31
+ - 0
32
+ - 11
33
+ - 0
23
34
  version: 0.11.0
24
- version:
35
+ type: :runtime
36
+ version_requirements: *id001
25
37
  description:
26
38
  email: michel.casabianca@gmail.com
27
39
  executables:
@@ -34,52 +46,43 @@ extra_rdoc_files:
34
46
  - build/README
35
47
  - LICENSE
36
48
  files:
37
- - bin/maven2bee
38
- - bin/beedoc
39
- - bin/gendeps
40
- - bin/bee2maven
41
- - lib/dependency_resolver.rb
42
49
  - lib/bee_task_java.rb
43
- - test/build.yml
44
- - test/manifest.erb
45
- - test/test/test/TestTest.java
46
- - test/test_build.rb
47
- - test/dependencies.xml
48
- - test/dependencies.yml
49
- - test/pom.xml
50
- - test/ts_bee_java.rb
51
- - test/test_build_listener.rb
52
- - test/tc_bee_task_java.rb
53
- - test/src/test/Test.java
54
- - test/tc_dependency_resolver.rb
55
- - egg/tiny.yml
56
- - egg/lib/test.erb
50
+ - lib/dependency_resolver.rb
51
+ - egg/lib/build.erb
57
52
  - egg/lib/dependencies.yml
58
53
  - egg/lib/source.erb
59
- - egg/lib/build.erb
60
- - egg/xmlrpc/build.yml
61
- - egg/xmlrpc/dependencies.yml
62
- - egg/xmlrpc/src/test/handlers.properties
63
- - egg/xmlrpc/src/test/Server.java
64
- - egg/xmlrpc/src/test/Client.java
65
- - egg/xmlrpc/src/test/TestHandler.java
66
- - egg/servlet.yml
67
- - egg/tiny/source.erb
68
- - egg/tiny/build.erb
54
+ - egg/lib/test.erb
69
55
  - egg/lib.yml
70
- - egg/xmlrpc.yml
71
- - egg/servlet/tomcat-server.xml
72
- - egg/servlet/tomcat-users.xml
73
56
  - egg/servlet/build.yml
74
- - egg/servlet/tomcat-web.xml
75
57
  - egg/servlet/dependencies.yml
76
- - egg/servlet/ServletTest.java
77
58
  - egg/servlet/MANIFEST.MF
78
59
  - egg/servlet/Servlet.java
60
+ - egg/servlet/ServletTest.java
61
+ - egg/servlet/tomcat-server.xml
62
+ - egg/servlet/tomcat-users.xml
63
+ - egg/servlet/tomcat-web.xml
79
64
  - egg/servlet/tomcat.yml
80
65
  - egg/servlet/web.xml
66
+ - egg/servlet.yml
67
+ - egg/tiny/build.erb
68
+ - egg/tiny/dependencies.yml
69
+ - egg/tiny/source.erb
70
+ - egg/tiny.yml
71
+ - egg/xmlrpc/build.yml
72
+ - egg/xmlrpc/dependencies.yml
73
+ - egg/xmlrpc/src/test/Client.java
74
+ - egg/xmlrpc/src/test/handlers.properties
75
+ - egg/xmlrpc/src/test/Server.java
76
+ - egg/xmlrpc/src/test/TestHandler.java
77
+ - egg/xmlrpc.yml
78
+ - java.yml
79
+ - maven2.yml
81
80
  - build/README
82
81
  - LICENSE
82
+ - test/ts_bee_java.rb
83
+ - bin/bee2maven
84
+ - bin/maven2bee
85
+ - bin/gendeps
83
86
  has_rdoc: true
84
87
  homepage: http://bee.rubyforge.org
85
88
  licenses: []
@@ -90,21 +93,27 @@ rdoc_options: []
90
93
  require_paths:
91
94
  - lib
92
95
  required_ruby_version: !ruby/object:Gem::Requirement
96
+ none: false
93
97
  requirements:
94
98
  - - ">="
95
99
  - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
96
103
  version: "0"
97
- version:
98
104
  required_rubygems_version: !ruby/object:Gem::Requirement
105
+ none: false
99
106
  requirements:
100
107
  - - ">="
101
108
  - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
102
112
  version: "0"
103
- version:
104
113
  requirements: []
105
114
 
106
115
  rubyforge_project: none
107
- rubygems_version: 1.3.5
116
+ rubygems_version: 1.4.2
108
117
  signing_key:
109
118
  specification_version: 3
110
119
  summary: BeeJava is a package to build and generate Java project using Bee.