jruby-launcher 0.9.9-java → 1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -205,7 +205,7 @@ bool ArgParser::parseArgs(int argc, char *argv[]) {
205
205
 
206
206
  #define CHECK_ARG \
207
207
  it++; \
208
- if (it == args.end() || it->at(0) == '-') { \
208
+ if (it == args.end() || it->empty() || it->at(0) == '-') { \
209
209
  logErr(false, true, "Argument is missing for \"%s\" option.", (--it)->c_str()); \
210
210
  return false; \
211
211
  } \
@@ -214,6 +214,13 @@ bool ArgParser::parseArgs(int argc, char *argv[]) {
214
214
 
215
215
  addEnvVarToOptions(javaOptions, "JAVA_OPTS");
216
216
  addEnvVarToOptions(args, "JRUBY_OPTS");
217
+
218
+ #ifdef __MACH__
219
+ if (getenv("JAVA_ENCODING") == NULL) {
220
+ javaOptions.push_back("-Dfile.encoding=UTF-8");
221
+ }
222
+ #endif
223
+
217
224
  addToArgList(args, argc, argv);
218
225
 
219
226
  logMsg("Parsing arguments:");
@@ -227,7 +234,7 @@ bool ArgParser::parseArgs(int argc, char *argv[]) {
227
234
  for (list<string>::iterator it = args.begin(); it != args.end(); INCR) {
228
235
  if (doneScanning) {
229
236
  progArgs.push_back(*it);
230
- } else if (it->compare("--") == 0 || it->at(0) != '-') {
237
+ } else if (it->compare("--") == 0 || it->empty() || it->at(0) != '-') {
231
238
  progArgs.push_back(*it);
232
239
  doneScanning = true;
233
240
  } else if (it->compare(ARG_NAME_SEPAR_PROC) == 0) {
@@ -1,3 +1,3 @@
1
1
  module JRubyLauncher
2
- VERSION = "0.9.9"
2
+ VERSION = "1.0"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require File.expand_path('../spec_helper.rb', __FILE__)
2
+ require 'rbconfig'
2
3
 
3
4
  describe "JRuby native launcher" do
4
5
  it "should run org.jruby.Main" do
@@ -131,4 +132,20 @@ describe "JRuby native launcher" do
131
132
  it "stops argument processing on first non-option argument" do
132
133
  jruby_launcher_args("foo.rb --profile")[-2..-1].should == ["foo.rb", "--profile"]
133
134
  end
135
+
136
+ # JRUBY-4608
137
+ if Config::CONFIG['target_os'] =~ /darwin/i
138
+ it "includes file.encoding=UTF-8 on Mac if JAVA_ENCODING is not set" do
139
+ jruby_launcher_args("-e true").should include("-Dfile.encoding=UTF-8")
140
+ with_environment "JAVA_ENCODING" => "MacRoman" do
141
+ jruby_launcher_args("-e true").should_not include("-Dfile.encoding=UTF-8")
142
+ end
143
+ end
144
+ end
145
+
146
+ it "does not crash on empty args" do
147
+ jruby_launcher_args("-e ''").should include("-e")
148
+ jruby_launcher("-Xtrace '' 2>&1").should =~ /-Xtrace/
149
+ jruby_launcher("-Xjdkhome '' 2>&1").should =~ /-Xjdkhome/
150
+ end
134
151
  end
@@ -56,6 +56,7 @@ Spec::Runner.configure do |config|
56
56
  ENV.delete("JAVA_OPTS")
57
57
  ENV.delete("JRUBY_OPTS")
58
58
  ENV.delete("CLASSPATH")
59
+ ENV.delete("JAVA_ENCODING")
59
60
  end
60
61
  config.include(JRubyLauncherHelper)
61
62
  end
metadata CHANGED
@@ -3,10 +3,9 @@ name: jruby-launcher
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
+ - 1
6
7
  - 0
7
- - 9
8
- - 9
9
- version: 0.9.9
8
+ version: "1.0"
10
9
  platform: java
11
10
  authors:
12
11
  - Nick Sieger
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-03-01 00:00:00 -06:00
17
+ date: 2010-04-07 00:00:00 -05:00
19
18
  default_executable:
20
19
  dependencies: []
21
20