Skip to content

Commit 41f22fb

Browse files
committed
adds JSR223 spi config to jar archives
1 parent 6495cc4 commit 41f22fb

File tree

6 files changed

+54
-1
lines changed

6 files changed

+54
-1
lines changed

build.xml

+13
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@
297297
<zipfileset src="${build.lib.dir}/yydebug.jar"/>
298298
<zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
299299
<zipfileset src="${build.lib.dir}/emma.jar"/>
300+
<metainf dir="${base.dir}/spi">
301+
<include name="services/**"/>
302+
</metainf>
300303
<manifest>
301304
<attribute name="Built-By" value="${user.name}"/>
302305
<attribute name="Main-Class" value="org.jruby.Main"/>
@@ -314,6 +317,7 @@
314317
<exclude name="**/AnnotationBinder*.class"/>
315318
<exclude name="**/InvokerGenerator.class"/>
316319
<exclude name="org/jruby/ext/ffi/**/*"/>
320+
<exclude name="org/jruby/embed/**/*"/>
317321
</fileset>
318322
<zipfileset src="${build.lib.dir}/asm-3.2.jar"/>
319323
<zipfileset src="${build.lib.dir}/asm-util-3.2.jar"/>
@@ -367,6 +371,9 @@
367371
<zipfileset src="${build.lib.dir}/dynalang-0.3.jar"/>
368372
<zipfileset src="${build.lib.dir}/yydebug.jar"/>
369373
<zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
374+
<metainf dir="${base.dir}/spi">
375+
<include name="services/**"/>
376+
</metainf>
370377
<manifest>
371378
<attribute name="Built-By" value="${user.name}"/>
372379
<attribute name="Main-Class" value="org.jruby.Main"/>
@@ -461,6 +468,9 @@
461468
<zipfileset src="${build.lib.dir}/yydebug.jar"/>
462469
<zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
463470
<zipfileset src="${shared.lib.dir}/yecht.jar"/>
471+
<metainf dir="${base.dir}/spi">
472+
<include name="services/**"/>
473+
</metainf>
464474
<manifest>
465475
<attribute name="Built-By" value="${user.name}"/>
466476
<attribute name="Main-Class" value="${mainclass}"/>
@@ -548,6 +558,9 @@
548558
<zipfileset src="${build.lib.dir}/yydebug.jar"/>
549559
<zipfileset src="${build.lib.dir}/nailgun-0.7.1.jar"/>
550560
<zipfileset src="${shared.lib.dir}/yecht.jar"/>
561+
<metainf dir="${base.dir}/spi">
562+
<include name="services/**"/>
563+
</metainf>
551564
<manifest>
552565
<attribute name="Built-By" value="${user.name}"/>
553566
<attribute name="Main-Class" value="${mainclass}"/>

nbproject/project.xml

+27
Original file line numberDiff line numberDiff line change
@@ -210,5 +210,32 @@
210210
<source-level>1.5</source-level>
211211
</compilation-unit>
212212
</java-data>
213+
<preferences xmlns="http://www.netbeans.org/ns/auxiliary-configuration-preferences/1">
214+
<module name="org-netbeans-modules-editor-indent">
215+
<node name="CodeStyle">
216+
<node name="project">
217+
<property name="spaces-per-tab" value="2"/>
218+
<property name="expand-tabs" value="true"/>
219+
<property name="text-limit-width" value="80"/>
220+
<property name="indent-shift-width" value="2"/>
221+
<property name="tab-size" value="2"/>
222+
</node>
223+
<property name="usedProfile" value="project"/>
224+
</node>
225+
<node name="text">
226+
<node name="x-java">
227+
<node name="CodeStyle">
228+
<node name="project">
229+
<property name="spaces-per-tab" value="4"/>
230+
<property name="expand-tabs" value="true"/>
231+
<property name="text-limit-width" value="80"/>
232+
<property name="indent-shift-width" value="4"/>
233+
<property name="tab-size" value="4"/>
234+
</node>
235+
</node>
236+
</node>
237+
</node>
238+
</module>
239+
</preferences>
213240
</configuration>
214241
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
org.jruby.embed.jsr223.JRubyEngineFactory

src/org/jruby/embed/PathType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public enum PathType {
4747
*
4848
* <pre>
4949
* ScriptingContainer container = new ScriptingContainer();
50-
* container.setAttribute(Attribute.BASE_DIR, System.getProperty("user.dir"));
50+
* container.setAttribute(AttributeName.BASE_DIR, System.getProperty("user.dir"));
5151
* String filename = "test/ruby/iteration.rb";
5252
* Object receiver = container.runScriptlet(PathType.RELATIVE, filename);</pre>
5353
*/

src/org/jruby/embed/internal/EmbedRubyRuntimeAdapterImpl.java

+4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.jruby.embed.PathType;
5050
import org.jruby.embed.ScriptingContainer;
5151
import org.jruby.embed.io.ReaderInputStream;
52+
import org.jruby.embed.util.SystemPropertyCatcher;
5253
import org.jruby.exceptions.RaiseException;
5354
import org.jruby.javasupport.JavaEmbedUtils;
5455
import org.jruby.javasupport.JavaEmbedUtils.EvalUnit;
@@ -102,6 +103,9 @@ public EmbedEvalUnit parse(PathType type, String filename, int... lines) {
102103
break;
103104
case RELATIVE:
104105
String basedir = (String) container.getAttribute(AttributeName.BASE_DIR);
106+
if (basedir == null) {
107+
basedir = SystemPropertyCatcher.getBaseDir();
108+
}
105109
String absolutePath = basedir + File.separator + filename;
106110
istream = new FileInputStream(absolutePath);
107111
break;

src/org/jruby/embed/util/SystemPropertyCatcher.java

+8
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,12 @@ public static boolean isRuby19(String name) {
149149
return false;
150150
}
151151
}
152+
153+
public static String getBaseDir() {
154+
String baseDir = System.getenv("PWD");
155+
if (baseDir == null || "/".equals(baseDir)) {
156+
baseDir = System.getProperty("user.dir");
157+
}
158+
return baseDir;
159+
}
152160
}

0 commit comments

Comments
 (0)