Skip to content

marktriggs/swissarmybundle

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
Using it:

  * Run Nakamura with the extra JVM switch:

      -Dorg.apache.sling.launcher.system.packages=,sun.misc

  * Then:

     $ cd nakamura/bundles
     $ git clone [swissarmybundle.git url]
     $ cd swissarmybundle
     $ mvn -P redeploy clean install
  
  * Wait hours for Maven.  The bundle should eventually load

From here, there are a couple of ways of getting a REPL.  The
simplest:

   $ curl http://localhost:8080/system/swissarmy/python

or

   $ curl http://localhost:8080/system/swissarmy/ruby

or

   $ curl http://localhost:8080/system/swissarmy/clojure

will open a socket listening on a port (shown in the Nakamura
console).  From here, you can just:

  # For Python or Ruby
  $ telnet localhost 4010

or

  # For Clojure
  M-x slime-connect RET localhost RET 4010


You can also provide a selector to get a REPL running in the context
of a request for a particular resource:

  $ curl -s http://localhost:8080/~mark/public/authprofile.python.json

  $ curl -s http://localhost:8080/~mark/public/authprofile.ruby.json

  $ curl -s http://localhost:8080/~mark/public/authprofile.clojure.json

and then connect using the commands above.

Here's a quick screenshot of running a Python repl:

  http://dishevelled.net/nakamura-jython.png

WARNING: This opens a security hole the size of... a large security
hole, so be careful where you run this.

About

Embedding dynamic languages inside OSGi/Nakamura

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published