Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

139 lines (92 sloc) 5.467 kB
Checking out the source code from SVN
1) A Subversion client installed in order to checkout the code.
* Instructions for downloading and installing Subversion can be found here:
2) Create a subdirectory and checkout the Apache Shindig code from its Subversion repository
* mkdir ~/src/shindig (or wherever you'd like to put it)
* cd ~/src/shindig
3) svn co .
Installing and running the various java servers
1) Install Maven 2.0.8 or higher (see
2) Make sure the JAVA_HOME environment variable is set to the location of your
JDK/JRE, and that the maven executable is in your PATH.
3) From the base source directory ( eg cd .. )
* mvn - Cleans the source tree and then builds all the java classes, packages
them into jars and installs them in your local repository also adds source
jars ( by default ~/.m2/repository on Unix/OSX)
* mvn install - does the above but does not clean first
* mvn -Psocial - builds only the social parts
* mvn -Pgadgets - builds only the gadget parts
You must perform at least a "mvn" to place build all the artifacts and place
them in you local maven repository.
4) To Run, using a embedded Jetty Webapp container, in the base project
directory (eg cd .. )
* First do a full build as in step 3
* mvn -Prun - to run Jetty with both social and gadgets
* mvn -Prun -DrunType=gadgets - to run Jetty with only the gadgets server
* mvn -Prun -DrunType=social - to run Jetty with only the social server
5) To Run with a different port
* cd java/server
* mvn clean install jetty:run -DrunType=<full|gadgets|social> -Djetty.port=<port>
6) Once running, you can test the gadget rendering server by hitting this url:
Or you can take a look at the sample container here:
Editing the Shindig code with Eclipse
* Install the Maven Eclipse plugin
* Create and import the Eclipse Project files
* Clean up some Build Path errors.
1 - Install the Maven Eclipse plugin from
* There is an optional dependency on Sublipse which you can get from
If not installing this dependency then select only the Maven Integration plug-in.
2 - Creating and Importing the Eclipse Projects
* In the project base directory (same level as this file) run
mvn eclipse:m2eclipse
* In Eclipse, import the new projects in the File->Import->Existing Project
Choose "Select Root Directory" and select the project base directory that this
file is in. This should find five Eclipse projects (common, features, gadgets,
server and social-api). Click "Finish".
* In each project, you will have a section called "Maven Dependencies", where
you can find all your jars and sources. Use options in the plugin for
downloading or source jars and updating dependencies.
3 - A Necessary Clean-up Step
You should have 6 errors when you start Eclipse until you clean up:
At the moment, you will have to edit the source dependencies to remove
nested folders. On each project, edit properties > Build Path > Source and
remove missing Source folders of "config", and "javascript". Do this for
each of "gadgets", and "server" projects.
There is a maven-eclipse-plugin bug tracking this issue in MECLIPSE-444.
To remove all eclipse-related metadata from your shindig source tree, run:
mvn eclipse:clean
Generating Code Coverage in Eclipse
To generate code coverage statistics inside of Eclipse, install the EclEmma plugin
* Open org.apache.shindig.gadgets.AllTests
* Right-click in the class, and select Coverage as -> JUnit Test
Building a Maven Site with Reports
To build a Maven based site with reports
mvn clean install site:site site:deploy -Dsite.localurl=file:///Users/ieb/public_html/shindig -Dproject.url=/~ieb/shindig
file:///Users/ieb/public_html/shindig is the final directory where you want to deploy the site to
/~ieb/shindig is absolute site URL where you want the site to be hosted from.
Running with Caja
Caja is an important part of OpenSocial that greatly enhances JavaScript security.
Caja is managed in a separate open source project hosted by Google code projects.
For more information on Caja, see:
1) Load this page: http://localhost:8080/samplecontainer/samplecontainer.html
2) Point it to this gadget: http://localhost:8080/samplecontainer/examples/SocialHelloWorld.xml
To see the cajoled code (Firefox only), right-click inside the iframe and do "This Frame -> View Frame Source"
Additional Reading
For more information, see
Read javascript/README for instructions for using the Apache Shindig Gadget Container JavaScript
to enable your page to render Gadgets using or a server started up as described above.
Jump to Line
Something went wrong with that request. Please try again.