#summary Steps to get started using Adaptors.

<wiki:toc max_depth="2" />

= Introduction =

The Plexi Project is a library used to develop custom adaptors for both public and secure repositories.  A Plexi adaptor provides documents to the Google Search Appliance (GSA). This document helps you setup a development environment with the source code of this library.

= Building the library =

Since there has yet to be a release, you are required to obtain the adaptor library sources using [http://git-scm.com/ Git] and build the project with [http://ant.apache.org/ Ant] and JDK 1.6 or higher.

To build the adaptor library from the command line:
{{{
git clone https://code.google.com/p/plexi/
cd plexi
ant dist
}}}

If the steps were successful, then {{{dist/adaptor.jar}}} should contain a JAR that you can use for your own adaptor development.

= Making and running your first adaptor =

To run the adaptor library, you need JRE 1.6u27 or higher. Using JRE 1.6u27 or higher is very important, because there is a [http://bugs.sun.com/view_bug.do?bug_id=6946825 bad memory leak] in 1.6u26 and prior. When only using HTTP the leak isn't severe, but when using HTTPS the leak becomes very apparent.

The [http://hourly.plexi.googlecode.com/git/javadoc/index.html JavaDoc-based documentation] describes how to begin development on your adaptor. To help get started understanding Plexi view our [http://code.google.com/p/plexi/source/browse/#git%2Fsrc%2Fcom%2Fgoogle%2Fenterprise%2Fadaptor%2Fexamples example adaptor sources].

= Developing the Adaptor library =

If you are interested in adding features to the adaptor library itself, you may want to setup an IDE to aid development. For !NetBeans, you can follow the [http://wiki.plexi.googlecode.com/git/plexi-netbeans/nb.html visually annotated guide].