javagems 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.8
1
+ 0.4.9
data/bin/jam ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ $: << Pathname(__FILE__).parent.parent + "lib"
4
+ require 'javagems/jam'
5
+
6
+ ENV["CLASSPATH"], argv = JavaGems::Jam.classpath_from_options(ARGV)
7
+ exec("javagem-exec", "java", *argv)
data/bin/jamc ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ $: << Pathname(__FILE__).parent.parent + "lib"
4
+ require 'javagems/jam'
5
+
6
+ ENV["CLASSPATH"], argv = JavaGems::Jam.classpath_from_options(ARGV)
7
+ exec("javagem-exec", "javac", *argv)
data/javagems.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{javagems}
8
- s.version = "0.4.8"
8
+ s.version = "0.4.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["gabrielg", "jaknowlden"]
12
12
  s.date = %q{2009-11-19}
13
13
  s.description = %q{Provides gem-esque support to Java}
14
14
  s.email = %q{gabriel.gironda@gmail.com}
15
- s.executables = ["javagem", "javagem-exec", "jem", "jemc"]
15
+ s.executables = ["jam", "jamc", "javagem", "javagem-exec"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE",
18
18
  "README.rdoc"
@@ -23,14 +23,15 @@ Gem::Specification.new do |s|
23
23
  "README.rdoc",
24
24
  "Rakefile",
25
25
  "VERSION",
26
+ "bin/jam",
27
+ "bin/jamc",
26
28
  "bin/javagem",
27
29
  "bin/javagem-exec",
28
- "bin/jem",
29
- "bin/jemc",
30
30
  "javagems.gemspec",
31
31
  "lib/javagems.rb",
32
32
  "lib/javagems/classpath_builder.rb",
33
33
  "lib/javagems/gem_overrides.rb",
34
+ "lib/javagems/jam.rb",
34
35
  "lib/rubygems/commands/classpath_command.rb",
35
36
  "test/classpath_command_test.rb",
36
37
  "test/gem_overrides_test.rb",
@@ -69,6 +70,7 @@ Gem::Specification.new do |s|
69
70
  "test/invalid_test_app/vendor/gems/specifications/test-gem-four-0.0.0.gemspec",
70
71
  "test/invalid_test_app/vendor/gems/specifications/test-gem-one-0.0.0.gemspec",
71
72
  "test/invalid_test_app/vendor/gems/specifications/test-gem-two-0.0.0.gemspec",
73
+ "test/jam_test.rb",
72
74
  "test/test_helper.rb",
73
75
  "test/valid_test_app/Gemfile",
74
76
  "test/valid_test_app/vendor/gems/dirs/test-gem-four/.document",
@@ -140,6 +142,7 @@ variable for maximum-JavaGems-fun-times.
140
142
  "test/invalid_test_app/vendor/gems/dirs/test-gem-two/test/helper.rb",
141
143
  "test/invalid_test_app/vendor/gems/dirs/test-gem-two/test/test_test-gem-two.rb",
142
144
  "test/invalid_test_app/vendor/gems/environment.rb",
145
+ "test/jam_test.rb",
143
146
  "test/test_helper.rb",
144
147
  "test/valid_test_app/vendor/gems/dirs/test-gem-four/lib/test-gem-four.rb",
145
148
  "test/valid_test_app/vendor/gems/dirs/test-gem-four/test/helper.rb",
@@ -0,0 +1,12 @@
1
+ module JavaGems
2
+ module Jam
3
+ def self.classpath_from_options(options)
4
+ classpath = [ENV["CLASSPATH"]]
5
+ classpath += %w[-cp -classpath].map do |option|
6
+ idx = options.index(option)
7
+ options.slice!(idx..(idx + 1)).last if idx
8
+ end
9
+ [classpath.compact.join(File::PATH_SEPARATOR), options]
10
+ end
11
+ end # Jam
12
+ end # JamaGems
@@ -3,6 +3,14 @@ require 'bundler'
3
3
  require 'javagems/classpath_builder'
4
4
  require 'stringio'
5
5
 
6
+ class Gem::StreamUI
7
+ def print(str) @outs.print(str); end
8
+ end
9
+
10
+ Gem::UserInteraction.class_eval do
11
+ def print(str) ui.print(str); end
12
+ end
13
+
6
14
  class Gem::Commands::ClasspathCommand < Gem::Command
7
15
  attr_reader :cp_builder
8
16
 
@@ -16,7 +24,7 @@ class Gem::Commands::ClasspathCommand < Gem::Command
16
24
  end
17
25
 
18
26
  def execute
19
- say(@cp_builder.classpath_for(options[:args].first))
27
+ print(@cp_builder.classpath_for(options[:args].first))
20
28
  rescue => e
21
29
  alert_error(e.message)
22
30
  exit 1
data/test/jam_test.rb ADDED
@@ -0,0 +1,90 @@
1
+ require 'test_helper'
2
+ require 'javagems/jam'
3
+
4
+ context "Jam: classpath_from_options" do
5
+ context "with only -cp option" do
6
+ setup do
7
+ JavaGems::Jam.classpath_from_options(%w[-cp foo:bar])
8
+ end
9
+
10
+ should "include anything after -cp option" do
11
+ topic.first
12
+ end.equals("foo:bar")
13
+
14
+ should "remove -cp option and value from option array" do
15
+ topic.last
16
+ end.equals([])
17
+ end # with only -cp option
18
+
19
+ context "with only -classpath option" do
20
+ setup do
21
+ JavaGems::Jam.classpath_from_options(%w[-classpath bar:food])
22
+ end
23
+
24
+ should "include anything after option" do
25
+ topic.first
26
+ end.equals("bar:food")
27
+
28
+ should "remove option and value from option array" do
29
+ topic.last
30
+ end.equals([])
31
+ end # with only -classpath option
32
+
33
+ context "with -cp and -classpath options" do
34
+ setup do
35
+ JavaGems::Jam.classpath_from_options(%w[-cp foo:beard -classpath bar:food])
36
+ end
37
+
38
+ should "include anything after option" do
39
+ topic.first
40
+ end.equals("foo:beard:bar:food")
41
+
42
+ should "remove options and values from option array" do
43
+ topic.last
44
+ end.equals([])
45
+ end # with -cp and -classpath options
46
+
47
+ context "with -cp, -classpath and some other options" do
48
+ setup do
49
+ JavaGems::Jam.classpath_from_options(%w[your -cp foo:beard classy -classpath bar:food mom])
50
+ end
51
+
52
+ should "include anything after option" do
53
+ topic.first
54
+ end.equals("foo:beard:bar:food")
55
+
56
+ should "remove cp options and values but keep other stuff" do
57
+ topic.last
58
+ end.equals(%w[your classy mom])
59
+ end # with -cp, -classpath and some other options
60
+
61
+ context "when CLASSPATH defined but not the command line options" do
62
+ setup do
63
+ ENV["CLASSPATH"] = "bar:food"
64
+ JavaGems::Jam.classpath_from_options(%w[your classy mom])
65
+ end
66
+
67
+ should "include just the CLASSPATH value" do
68
+ topic.first
69
+ end.equals("bar:food")
70
+
71
+ should "leave command line options alone" do
72
+ topic.last
73
+ end.equals(%w[your classy mom])
74
+ end
75
+
76
+ context "when CLASSPATH , -cp, and -classpath are defined" do
77
+ setup do
78
+ ENV["CLASSPATH"] = "yum:juice"
79
+ JavaGems::Jam.classpath_from_options(%w[your -classpath food classy -cp bar mom])
80
+ end
81
+
82
+ should "include just CLASSPATH, -cp, and -classpath values" do
83
+ topic.first
84
+ end.equals("yum:juice:bar:food")
85
+
86
+ should "also keep the other command line options" do
87
+ topic.last
88
+ end.equals(%w[your classy mom])
89
+ end
90
+ end # Jam: classpath_from_options
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: javagems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - gabrielg
@@ -56,10 +56,10 @@ dependencies:
56
56
  description: Provides gem-esque support to Java
57
57
  email: gabriel.gironda@gmail.com
58
58
  executables:
59
+ - jam
60
+ - jamc
59
61
  - javagem
60
62
  - javagem-exec
61
- - jem
62
- - jemc
63
63
  extensions: []
64
64
 
65
65
  extra_rdoc_files:
@@ -71,14 +71,15 @@ files:
71
71
  - README.rdoc
72
72
  - Rakefile
73
73
  - VERSION
74
+ - bin/jam
75
+ - bin/jamc
74
76
  - bin/javagem
75
77
  - bin/javagem-exec
76
- - bin/jem
77
- - bin/jemc
78
78
  - javagems.gemspec
79
79
  - lib/javagems.rb
80
80
  - lib/javagems/classpath_builder.rb
81
81
  - lib/javagems/gem_overrides.rb
82
+ - lib/javagems/jam.rb
82
83
  - lib/rubygems/commands/classpath_command.rb
83
84
  - test/classpath_command_test.rb
84
85
  - test/gem_overrides_test.rb
@@ -117,6 +118,7 @@ files:
117
118
  - test/invalid_test_app/vendor/gems/specifications/test-gem-four-0.0.0.gemspec
118
119
  - test/invalid_test_app/vendor/gems/specifications/test-gem-one-0.0.0.gemspec
119
120
  - test/invalid_test_app/vendor/gems/specifications/test-gem-two-0.0.0.gemspec
121
+ - test/jam_test.rb
120
122
  - test/test_helper.rb
121
123
  - test/valid_test_app/Gemfile
122
124
  - test/valid_test_app/vendor/gems/dirs/test-gem-four/.document
@@ -210,6 +212,7 @@ test_files:
210
212
  - test/invalid_test_app/vendor/gems/dirs/test-gem-two/test/helper.rb
211
213
  - test/invalid_test_app/vendor/gems/dirs/test-gem-two/test/test_test-gem-two.rb
212
214
  - test/invalid_test_app/vendor/gems/environment.rb
215
+ - test/jam_test.rb
213
216
  - test/test_helper.rb
214
217
  - test/valid_test_app/vendor/gems/dirs/test-gem-four/lib/test-gem-four.rb
215
218
  - test/valid_test_app/vendor/gems/dirs/test-gem-four/test/helper.rb
data/bin/jem DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env ruby
2
- exec("javagem-exec", "java", *ARGV)
data/bin/jemc DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env ruby
2
- exec("javagem-exec", "javac", *ARGV)