jruby-launcher 2.0.0.pre3-java → 2.0.1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +5 -2
- data/exe/jruby.sh +20 -16
- data/lib/jruby-launcher.rb +1 -1
- data/unixlauncher.c +24 -17
- data/version.h +1 -1
- metadata +5 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce700065b9536475d0189601d05547794bc1404a6a113c2970787ba4a33f4ac3
|
4
|
+
data.tar.gz: 3f1d5df96d0d30f3996158e5916e83b083f98b4b001268d16506c082813b73b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0c614a29cf3b9f267fc3ce6ef2b0646e09485b9cd1cf17e873e6e2cb174e924cd86bef6b81cf87cc6c1d7f7d7eb903000ffb32ed985e2cfc1d27cb6b5b8a3bd
|
7
|
+
data.tar.gz: 39362111cace4f25ad54bfe32f27feb881b6fce946fd7d6706976f6c11049daaf114ab1b4239b430b32c10b0ab9c25223ef78fc1987c2b44e42c98ff2159cc88
|
data/Makefile
CHANGED
@@ -37,9 +37,12 @@ install:
|
|
37
37
|
@if [ x$(BINDIR) = xnotspecified/bin ]; then echo "Please define where to install by passing PREFIX=<jruby-home>."; exit 1; fi
|
38
38
|
@if [ ! -w $(BINDIR) ]; then echo "'$(BINDIR)' does not exist or cannot write to '$(BINDIR)'."; exit 1; fi
|
39
39
|
@if [ -f $(BINDIR)/jruby -a ! -w $(BINDIR)/jruby ]; then echo "Cannot write to '$(BINDIR)/jruby'."; exit 1; fi
|
40
|
-
cp ./jruby $(BINDIR)/jruby
|
40
|
+
cp -a ./jruby $(BINDIR)/jruby
|
41
41
|
@if [ x$(PREFIX) = xnotspecified ]; then echo "Please define where to install by passing PREFIX=<jruby-home>."; exit 1; fi
|
42
|
-
|
42
|
+
# Restore jruby.sh if it has been deleted
|
43
|
+
@if [ ! -f $(BINDIR)/jruby.sh ]; then cp -a ./exe/jruby.sh $(BINDIR)/jruby.sh; fi
|
44
|
+
# Install a backup jruby.sh in case it is deleted later
|
45
|
+
cp -a ./exe/jruby.sh $(BINDIR)/jruby.sh.bak
|
43
46
|
|
44
47
|
test:
|
45
48
|
$(RAKE)
|
data/exe/jruby.sh
CHANGED
@@ -507,23 +507,35 @@ fi
|
|
507
507
|
# shellcheck source=/dev/null
|
508
508
|
if [ -f "$JAVA_HOME/release" ]; then
|
509
509
|
java_version=$(. "$JAVA_HOME/release" && echo "${JAVA_VERSION-}")
|
510
|
-
|
511
|
-
|
512
|
-
|
510
|
+
|
511
|
+
# convert version to major, considering 1.8 as 8
|
512
|
+
case $java_version in
|
513
|
+
1.8 | 1.8.*) java_major=8 ;;
|
514
|
+
*) java_major=${java_version%%.*} ;;
|
515
|
+
esac
|
513
516
|
else
|
514
|
-
|
517
|
+
# assume Java 8 if no release file
|
518
|
+
java_version=1.8
|
519
|
+
java_major=8
|
515
520
|
fi
|
521
|
+
|
516
522
|
# shellcheck source=/dev/null
|
517
|
-
if [ -f "$JRUBY_HOME/bin/.java-version" ]; then
|
518
|
-
minimum_java_version=$
|
523
|
+
if [ -f "$JRUBY_HOME/bin/.java-version" ] && . "$JRUBY_HOME/bin/.java-version" && [ "${JRUBY_MINIMUM_JAVA_VERSION-}" ]; then
|
524
|
+
minimum_java_version=$JRUBY_MINIMUM_JAVA_VERSION
|
519
525
|
else
|
520
526
|
# Only 9.4.12.0 and earlier will have shipped without a .java-version file, so fall back on minimum of 8
|
521
527
|
minimum_java_version=8
|
522
528
|
fi
|
523
529
|
add_log "Detected Java version: $java_version"
|
524
530
|
|
525
|
-
#
|
526
|
-
java_major
|
531
|
+
# Present a useful error if running a Java version lower than bin/.java-version
|
532
|
+
if [ "$java_major" -lt "$minimum_java_version" ]; then
|
533
|
+
echo "This version of JRuby requires Java ${minimum_java_version}+."
|
534
|
+
echo "Make sure JAVA_HOME points at JDK ${minimum_java_version} or higher"
|
535
|
+
echo "Detected Java version: $java_version"
|
536
|
+
echo "Detected JAVA_HOME: $JAVA_HOME"
|
537
|
+
exit 1
|
538
|
+
fi
|
527
539
|
|
528
540
|
# AppCDS support
|
529
541
|
if [ "$java_major" -ge 13 ] && exists "$JAVA_HOME"/lib/server/*.jsa; then
|
@@ -536,14 +548,6 @@ readonly java_has_appcds
|
|
536
548
|
# Default to using AppCDS if available
|
537
549
|
use_jsa_file="$java_has_appcds"
|
538
550
|
|
539
|
-
# Present a useful error if running a Java version lower than bin/.java-version
|
540
|
-
if [ "$java_major" -lt "$minimum_java_version" ]; then
|
541
|
-
echo "This version of JRuby requires Java ${minimum_java_version}+."
|
542
|
-
echo "Make sure JAVA_HOME points at JDK ${minimum_java_version} or higher"
|
543
|
-
echo "Current JAVA_HOME: $JAVA_HOME"
|
544
|
-
exit 1
|
545
|
-
fi
|
546
|
-
|
547
551
|
# AppCDS autogeneration
|
548
552
|
if [ "$java_major" -ge 19 ]; then
|
549
553
|
java_has_appcds_autogenerate=true
|
data/lib/jruby-launcher.rb
CHANGED
data/unixlauncher.c
CHANGED
@@ -13,8 +13,10 @@
|
|
13
13
|
* contained within it.
|
14
14
|
*/
|
15
15
|
|
16
|
-
|
16
|
+
#define LENGTH(a) (sizeof(a) / sizeof(0[a]))
|
17
17
|
|
18
|
+
static const char *script_names[] = { "jruby.sh", "jruby.sh.bak" };
|
19
|
+
static const char *no_scripts_error = "jruby.sh or jruby.sh.bak";
|
18
20
|
|
19
21
|
static char *which(const char *const executable) {
|
20
22
|
const size_t exe_length = strlen(executable);
|
@@ -100,7 +102,7 @@ int unixlauncher_run(int argc, char *argv[], char *envp[]) {
|
|
100
102
|
self_path = which(argv[0]);
|
101
103
|
|
102
104
|
if (self_path == NULL) {
|
103
|
-
fprintf(stderr, "Error: Could not find %s executable\n",
|
105
|
+
fprintf(stderr, "Error: Could not find %s executable\n", argv[0]);
|
104
106
|
return 1;
|
105
107
|
}
|
106
108
|
|
@@ -118,25 +120,30 @@ int unixlauncher_run(int argc, char *argv[], char *envp[]) {
|
|
118
120
|
}
|
119
121
|
size_t script_dir_length = strlen(script_dir);
|
120
122
|
|
121
|
-
//
|
122
|
-
|
123
|
-
|
124
|
-
char *script_path = malloc(script_path_length + 1);
|
123
|
+
// Try main script and backup script before giving up
|
124
|
+
for (int i = 0; i < LENGTH(script_names); i++) {
|
125
|
+
const char *script_name = script_names[i];
|
125
126
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
script_path[script_path_length] = '\0';
|
127
|
+
// Allocate space for complete script path
|
128
|
+
size_t script_path_length = strlen(script_name) + script_dir_length + 1;
|
129
|
+
// Leave space for null terminator
|
130
|
+
char *script_path = malloc(script_path_length + 1);
|
131
131
|
|
132
|
-
|
133
|
-
|
134
|
-
|
132
|
+
// Concatenate script dir and script name
|
133
|
+
memcpy(script_path, script_dir, script_dir_length);
|
134
|
+
script_path[script_dir_length] = '/';
|
135
|
+
memcpy(script_path + script_dir_length + 1, script_name, strlen(script_name));
|
136
|
+
script_path[script_path_length] = '\0';
|
135
137
|
|
136
|
-
|
137
|
-
|
138
|
+
// Reuse argv for script command line
|
139
|
+
argv[0] = script_path;
|
140
|
+
execv(argv[0], argv);
|
141
|
+
|
142
|
+
free(script_path);
|
138
143
|
}
|
139
144
|
|
140
|
-
|
145
|
+
// If we get here neither script was available, so we error
|
146
|
+
fprintf(stderr, "%s: No executable %s found in %s\n", original_self, no_scripts_error, script_dir);
|
147
|
+
|
141
148
|
return EXIT_FAILURE;
|
142
149
|
}
|
data/version.h
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby-launcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Nick Sieger
|
8
8
|
- Vladimir Sizikov
|
9
|
-
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2025-04-
|
11
|
+
date: 2025-04-12 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Builds and installs a native launcher for JRuby on your system
|
15
14
|
email:
|
@@ -56,7 +55,6 @@ files:
|
|
56
55
|
homepage: http://jruby.org
|
57
56
|
licenses: []
|
58
57
|
metadata: {}
|
59
|
-
post_install_message:
|
60
58
|
rdoc_options: []
|
61
59
|
require_paths:
|
62
60
|
- lib
|
@@ -67,12 +65,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
65
|
version: '0'
|
68
66
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
67
|
requirements:
|
70
|
-
- - "
|
68
|
+
- - ">="
|
71
69
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
70
|
+
version: '0'
|
73
71
|
requirements: []
|
74
|
-
rubygems_version: 3.
|
75
|
-
signing_key:
|
72
|
+
rubygems_version: 3.6.3
|
76
73
|
specification_version: 4
|
77
74
|
summary: Native launcher for JRuby
|
78
75
|
test_files: []
|