Skip to content

Commit 024123c

Browse files
authored
Merge pull request #9024 from headius/main_package
Move all main classes to org.jruby.main package
2 parents 0d0a59d + 38e0355 commit 024123c

31 files changed

Lines changed: 776 additions & 615 deletions

File tree

antlib/extra.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ build jruby-complete.jar
2626
<arg value='-Djruby.home=uri:classloader://META-INF/jruby.home'/>
2727
<arg value='-cp'/>
2828
<arg value='core/target/test-classes:test/target/test-classes:lib/jruby.jar:maven/jruby-stdlib/target/jruby-stdlib-9.0.0.0.jar'/>
29-
<arg value='org.jruby.Main'/>
29+
<arg value='org.jruby.main.Main'/>
3030
<arg value='-I.:test/externals/ruby1.9:test/externals/ruby1.9/ruby'/>
3131
<arg value='-r./test/ruby19_env.rb'/>
3232
<arg value='-rminitest/excludes'/>
@@ -138,7 +138,7 @@ build jruby-complete.jar
138138
<arg value='-Djruby.home=uri:classloader://META-INF/jruby.home'/>
139139
<arg value='-cp'/>
140140
<arg value='core/target/test-classes:test/target/test-classes:maven/jruby-complete/target/jruby-complete-9.0.0.0.jar'/>
141-
<arg value='org.jruby.Main'/>
141+
<arg value='org.jruby.main.Main'/>
142142
<arg value='-I.:test/externals/ruby1.9:test/externals/ruby1.9/ruby'/>
143143
<arg value='-r./test/ruby19_env.rb'/>
144144
<arg value='-rminitest/excludes'/>
@@ -154,7 +154,7 @@ build jruby-complete.jar
154154
<arg value='-Djruby.home=uri:classloader://META-INF/jruby.home'/>
155155
<arg value='-cp'/>
156156
<arg value='core/target/test-classes:test/target/test-classes:lib/jruby.jar:maven/jruby-stdlib/target/jruby-stdlib-9.0.0.0.jar'/>
157-
<arg value='org.jruby.Main'/>
157+
<arg value='org.jruby.main.Main'/>
158158
<arg value='-I.:test/externals/ruby1.9:test/externals/ruby1.9/ruby'/>
159159
<arg value='-r./test/ruby19_env.rb'/>
160160
<arg value='-rminitest/excludes'/>
@@ -170,7 +170,7 @@ build jruby-complete.jar
170170
<arg value='-Djruby.home=uri:classloader://META-INF/jruby.home'/>
171171
<arg value='-cp'/>
172172
<arg value='core/target/test-classes:test/target/test-classes:lib/jruby.jar:maven/jruby-stdlib/target/jruby-stdlib-9.0.0.0.jar'/>
173-
<arg value='org.jruby.Main'/>
173+
<arg value='org.jruby.main.Main'/>
174174
<arg value='-I.:test/externals/ruby1.9:test/externals/ruby1.9/ruby'/>
175175
<arg value='-r./test/ruby19_env.rb'/>
176176
<arg value='-rminitest/excludes'/>
@@ -461,7 +461,7 @@ build jruby-complete.jar
461461
<arg value='-Djruby.home=uri:classloader://META-INF/jruby.home'/>
462462
<arg value='-cp'/>
463463
<arg value='core/target/test-classes:test/target/test-classes:maven/jruby-complete/target/jruby-complete-9.0.0.0.jar'/>
464-
<arg value='org.jruby.Main'/>
464+
<arg value='org.jruby.main.Main'/>
465465
<arg value='-I.:test/externals/ruby1.9:test/externals/ruby1.9/ruby'/>
466466
<arg value='-r./test/ruby19_env.rb'/>
467467
<arg value='-rminitest/excludes'/>

bin/.jruby.release

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
JRUBY_VERSION=10.0.3.0-SNAPSHOT
2+
JRUBY_MAIN=org.jruby.main.Main

bin/jruby.sh

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,6 @@ echo() {
189189

190190
# ----- Set variable defaults -------------------------------------------------
191191

192-
java_class=org.jruby.Main
193192
JRUBY_SHELL=/bin/sh
194193

195194
# Detect cygwin and mingw environments
@@ -248,7 +247,7 @@ fi
248247
# Gather environment information as we go
249248
readonly cr='
250249
'
251-
environment_log="JRuby Environment$cr================="
250+
environment_log=""
252251
add_log() {
253252
environment_log="${environment_log}${cr}${*-}"
254253
}
@@ -436,6 +435,9 @@ readonly pwd_jruby_java_opts_file="$PWD/.jruby.java_opts"
436435
# Options from .dev_mode.java_opts for "--dev" mode, to reduce JRuby startup time
437436
readonly dev_mode_opts_file="$JRUBY_HOME/bin/.dev_mode.java_opts"
438437

438+
# Release file with version-specific values
439+
readonly jruby_release_file="$JRUBY_HOME/bin/.jruby.release"
440+
439441
# ----- Initialize environment log --------------------------------------------
440442

441443
add_log
@@ -643,6 +645,18 @@ JAVA_OPTS="$JAVA_OPTS_TEMP"
643645

644646
CP_DELIMITER=":"
645647

648+
# Get main class and version from .jruby.release
649+
650+
# shellcheck source=/dev/null
651+
# shellcheck disable=2153 # Assigned in sourced file
652+
if [ -f "$jruby_release_file" ] && . "$jruby_release_file"; then
653+
java_class=$JRUBY_MAIN
654+
jruby_version=$JRUBY_VERSION
655+
else
656+
java_class=org.jruby.main
657+
jruby_version=unspecified
658+
fi
659+
646660
# Find main jruby jar and add it to the classpath
647661
jruby_jar=
648662
for j in "$JRUBY_HOME"/lib/jruby.jar "$JRUBY_HOME"/lib/jruby-complete.jar; do
@@ -997,7 +1011,9 @@ add_log
9971011
add_log "Java command line:"
9981012
add_log " $*"
9991013

1014+
# shellcheck source=/dev/null
10001015
if $print_environment_log; then
1016+
environment_log="JRuby Environment${cr}=================${cr}${cr}JRuby version: ${jruby_version}${environment_log}"
10011017
echo "$environment_log"
10021018
exit 0
10031019
fi

core/src/main/java/org/jruby/JarBootstrapMain.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,12 @@
2929
package org.jruby;
3030

3131
/**
32-
* A specialized "main" entry point that assumes it will run a specific file
33-
* (jar-bootstrap.rb) when launching. This allows modifying only the manifest's
34-
* Main-Class and adding this file to create a self-contained executable JRuby
35-
* application.
36-
*
37-
* Example usage:
38-
*
39-
* <pre>
40-
* ~/projects/jruby $ cp lib/jruby.jar myapp.jar
41-
*
42-
* ~/projects/jruby $ cat jar-bootstrap.rb
43-
* puts "hello"
44-
*
45-
* ~/projects/jruby $ jar ufe myapp.jar org.jruby.JarBootstrapMain jar-bootstrap.rb
46-
*
47-
* ~/projects/jruby $ java -jar myapp.jar
48-
* hello
49-
* </pre>
32+
* @deprecated Use {@link org.jruby.main.JarBootstrapMain} instead.
5033
*/
34+
@Deprecated(since = "10.0.3.0", forRemoval = true)
5135
public class JarBootstrapMain {
5236
public static final String JAR_BOOTSTRAP = "classpath:/jar-bootstrap.rb";
5337
public static void main(String[] args) {
54-
String[] newArgs = new String[args.length + 1];
55-
newArgs[0] = JAR_BOOTSTRAP;
56-
System.arraycopy(args, 0, newArgs, 1, args.length);
57-
Main.main(newArgs);
38+
org.jruby.main.JarBootstrapMain.main(args);
5839
}
5940
}

0 commit comments

Comments
 (0)