Updated the pom and readme to reflect the refactorings. pom does not work out-of-the-box yet because scripting engines are not available through maven and need manual installation.
git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@450630 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/mishell/README.txt b/mishell/README.txt
index 9d65f94..aa28844 100644
--- a/mishell/README.txt
+++ b/mishell/README.txt
@@ -1,18 +1,15 @@
Mishell provides an interactive console
that executes scripts in different scripting languages.
Running mishell:
-- Standalone:
-Mishell can be run directly with the "java -jar ${artifactId}-${version}.jar" idiom or as an OSGi bundle. Remember that in both cases
-JRE 6 is needed. Mishell provides some built-in commands and interprets ruby, javascript or any other language that you
+JRE 6 is needed (because of javax.script). Mishell provides some built-in commands and interprets ruby, javascript or any other language that you
configure. You can also load scripts with the load command. Type 'help' for available commands.
-- Inside OSGi:
You can see an example of configuring Felix for launching both Jmood and mishell in the same OSGi platform in the FelixLauncher
class in the src/test/java dir. Remember to change the paths to match your installation.
The initial object that is exported to the scripting engine is a JMoodProxyManager that extends
the general-purpose MBeanProxyManager (from the jmxintrospector project) to simplify working with JMood.
For example, when running on OSGi with JMood you can add the mbeans by typing:
-$manager.addLocalServer(nil) #Ruby
+$manager.addLocalServer(nil) #Ruby NOTE: This has been fixed in latest versions and should be fixed
or
manager.addLocalServer(null) //Javascript
And you issue commands like
@@ -25,17 +22,15 @@
Dependencies that need to be manually installed:
1. It needs Java 6 to work (as it depends on javax.script API).
Once that API is stable and released standalone, it should also work in Java 5.
-2. It needs JMX introspector which in turn needs Javassist to be
-manually installed in your local maven repo.
-3. It needs both the jruby-javax.script binding and Jruby 0.9 to be manually
-installed in the M2_REPO.
+2. It needs JMX introspector.
+3. It needs classes from com.sun.jruby.* and from org.jruby. The easiest way is to bundle both together
+and export both packages in order to run ruby.
- The binding is available at https://scripting.dev.java.net/ and licensed
under the BSD license. Download the jsr223-engines.[zip|tar.gz]
and install the jruby-engine.jar
- JRuby is available at http://dist.codehaus.org/jruby/ under a tri-license: CPL/LGPL/GPL
located at engines/jruby/build/jruby-engine.jar. JRuby implementation
4. If you want to use any other language, you should:
- - Install the binding and the implementation in M2_REPO. Use Jruby as an example to do it.
- - Add the dependencies to the pom.
+ - Create and install a bundle (or more) that contain the necessary classes and export the packages.
diff --git a/mishell/pom.xml b/mishell/pom.xml
index a4ff486..824d65d 100644
--- a/mishell/pom.xml
+++ b/mishell/pom.xml
@@ -16,21 +16,23 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
- <dependency><!--BSD -->
- <groupId>jline</groupId>
- <artifactId>jline</artifactId>
- <version>0.9.9</version>
- </dependency>
- <dependency><!--Currently needs manual installation-->
- <groupId>org.jruby</groupId><!--trilicense CPL/GPL/LGPL -->
+<!-- <dependency>
+ <groupId>org.jruby</groupId>
<artifactId>jruby</artifactId>
<version>0.9.0</version>
</dependency>
- <dependency><!--Currently needs manual installation-->
- <groupId>javax.script</groupId><!--BSD-->
+ <dependency>
+ <groupId>javax.script</groupId>
<artifactId>jruby-engine</artifactId>
<version>SNAPSHOT</version>
+ </dependency> -->
+ <dependency>
+ <groupId>org.jruby</groupId>
+ <artifactId>jruby-bundle</artifactId>
+ <scope>provided</scope>
+ <version>0.8.0-SNAPSHOT</version>
</dependency>
+
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>${groupId}.jmxintrospector</artifactId>
@@ -44,6 +46,13 @@
</dependency>
<dependency>
<groupId>${pom.groupId}</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>${pom.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>${pom.groupId}</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>${pom.version}</version>
<scope>provided</scope>
@@ -64,7 +73,6 @@
<version>${pom.version}</version>
<extensions>true</extensions>
<configuration>
- <manifestFile>target/classes/manifest.mf</manifestFile>
<!--
We're inlining a lot here. This is nasty for a bundle, nice for an executable jar.
It should be simple to change afterwards
@@ -102,12 +110,4 @@
</plugin>
</plugins>
</build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
</project>