Installing plugins for your Ronin application is as simple as adding a dependency to your pom.xml file. Third-party plugins will provide you with a snippet of XML to insert in the <dependency> section of the pom, and usually some code to add to your RoninConfig class to enable and configure the plugin.

The "official" Ronin plugins described on this page can be installed even more easily by running:

vark -url http://ronin-web.org/plugins.vark

and following the prompts.

RoMail [https://github.com/rkitts/romail] provides a nice, simple API for sending and receiving email. It wraps the standard JavaMail API. You can add it to your project by including the following in your pom.xml:

  <dependency>
    <groupId>org.gosu-lang.romail</groupId>
    <artifactId>romail</artifactId>
    <version>0.1</version>
  </dependency>
        

Given this dependency, you can send email like so:

  var account = new Account()
  account.FullName = "Rick Kitts"
  account.EmailAddress = "rkitts@loudhouse.org"
  account.OutgoingSMTPServer = "smtp.gmail.com"
  account.UserName = "rkitts@loudhouse.org"
  account.Password = "XXX"

  var em = new Email()
  em.To = "rkitts@loudhouse.org"
  em.Subject = "Romail testing"
  em.Text = "Hello from romail!"
  account.send(em)
  

Ronin Web Services [https://github.com/carsongross/ronin-ws] exposes the built-in Web Services features of Gosu in Ronin. You can add it to your project by including the following in your pom.xml:

  <dependency>
    <groupId>org.gosu-lang.ronin</groupId>
    <artifactId>ronin-ws</artifactId>
    <version>0.4</version>
  </dependency>
        

Given this dependency, you can add the Web Services filter to Ronin in your RoninConfig constructor:

Filters.add(new ronin.ws.RoninWebservicesFilter())

This filter will expose all classes in the webservices package as Web Services.

Goson [https://github.com/carsongross/Goson] provides tools for working with JSON and JSchema resources. The JSON parser from Goson is used by Ronin, so there is no need to add a dependency for it.

You can expose a JSchema-RPC end point in Ronin via your RoninConfig constructor:

  Filters.add(new RPCFilter().withEndPoint(new RPCEndPoint(api.EmployeesApi,
                                                             new EmployeesApiImpl(),
                                                             "/api/employees"))

More detailed documentation on how to use Goson is available on the website.

Ronin-Coffee [https://github.com/carsongross/ronin-coffee] provides a filter that will automatically compile your CoffeeScript files located in html/public. You can include it with the following entry in your pom.xml:

  <dependency>
    <groupId>org.gosu-lang.ronin</groupId>
    <artifactId>ronin-coffee</artifactId>
    <version>0.1</version>
  </dependency>
        

And install the filter in your RoninConfig constructor:

Filters.add(new CoffeeFilter())

Ronin-Less [https://github.com/carsongross/ronin-less] provides a filter that will automatically compile your LessCSS files located in html/public. You can include it with the following entry in your pom.xml:

  <dependency>
    <groupId>org.gosu-lang.ronin</groupId>
    <artifactId>ronin-coffee</artifactId>
    <version>0.1</version>
  </dependency>
        

And install the filter in your RoninConfig constructor:

Filters.add(new LessFilter())