Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Skalli/Contributor Guide
Contents
Development IDE Configuration
Skalli has Java 5.0 as a minimum requirement. It is recommended to use latest Eclipse release, classic edition is sufficient for development, but JavaEE edition is recommended due to JSP support. As Skalli source code is hosted in git, it is recommended to use EGit plugin too.
Note: As of 2011-05-10, Indigo release 3.7M7 is working well. Install EGit 0.12.1 from included software site at "Indigo - http://download.eclipse.org/releases/indigo".
Obtaining Sources
Skalli is hosted in Git. You can browse the repository in gitweb.
You can get the source code via git commandline tool
git clone git://git.eclipse.org/gitroot/skalli/org.eclipse.skalli.git
or cloning a repository using EGit from URI git://git.eclipse.org/gitroot/skalli/org.eclipse.skalli.git
.
Clone from master
branch and specify remote branch as origin/master
.
Now import all projects into your workspace. Import > Git > Projects from Git >
Select your cloned repo > Import existing projects > Select all projects > Finish
. You will import 29 projects (as of 2011-04-26).
Note: there will be compile errors, as some patches are needed for successful compilation.
Required patches (as of 2011-04-26)
Skalli requires some patches due to ongoing IPzilla process to compile and run Skalli.
1. Add missing 3rdparty libraries to target platform
These 3rdParty libraries are missing.
org.restlet version="2.0.0.RC4" org.restlet.ext.servlet version="2.0.0.RC4 org.restlet.ext.xstream version="2.0.0.RC4 org.codehaus.jettison.jettison version="1.2.0" org.apache.lucene.lucene-core version="3.0.2" org.apache.lucene.lucene-highlighter version="3.0.2" org.apache.lucene.lucene-queries version="3.0.2" com.thoughtworks.xstream version="1.3.1" org.custommonkey.xmlunit version="1.2.0" org.xmlpull version="1.1.4.c" com.vaadin version="6.4.0"
They can be downloaded from these locations: [TODO: Lucene]
- org.restlet
- org.restlet.ext.servlet
- org.restlet.ext.xstream
- org.codehaus.jettison.jettison
- com.vaadin
XStream, XMLUnit and XMlPull do not provide OSGi bundles, but you can use those from SpringSource:
The target platform has to be adapted accordingly:
com.springsource.com.thoughtworks.xstream version="1.3.1" com.springsource.org.custommonkey.xmlunit version="1.2.0" com.springsource.org.xmlpull version="1.1.4.c"
2. Add these 3rdParty bundles to Skalli target platform
Open org.eclipse.skalli.target/skalli-tycho.target
file, add a directory with all of these bundles downloaded from these projects.
For simplicity, you can use the complete target platform definition from this patch/attachment [1]. It is expecting these bundles in folder org.eclipse.skalli.target/target-platform-3rdparty/plugins
.
3. Set this target definition as your target platform
Click right upper link "Set as Target Platform". This will rebuild all projects in workspace.
4. Add a missing class from VAADIN: com.vaadin.ui.CustomField
This class is not yet part of the VAADIN core but can be downloaded from the project's SVN repository at Google Code. Please use version 0.8.2 as package names have been refactored from version 0.9.0 on, revision r5 corresponds to version 0.8.2.
Copy this file into the project at org.eclipse.skalli.view/src/main/java/com/vaadin/ui/CustomField.java
. Now all projects should compile sucessfully.
Run Skalli from IDE
Skalli provides a launch configuration at skalli-jetty.launch
, which can be copied from this patch at [2] to project org.eclipse.skalli.target
. This launch configuration is using OSGi / Jetty provided WebContainer (RFC66) implementation. Required Jetty configuration files are provided within jetty folder (jetty/etc/jetty.xml
). The log files will be stored in jetty/logs
.
The Jetty working directory is expected to be in ${workspace_loc:org.eclipse.skalli.target}/workdir
. This directory has to be created first within your workspace, and will contain all persistent data of Skalli (in folder storage).
Jetty will run by default on port 8080. So start a browser to URL http://localhost:8080, and you should see a login dialog to authenticate. The default user configured is "admin", password "admin". Then you are able to create projects, edit projects, search projects etc. The created projects are located in org.eclipse.skalli.target/workdir/Storage/Projects/*.xml
.
TODO: icons are missing [3], get them into themes.
Build
Skalli builds run on build.eclipse.org via Hudson using
Hudson
TODO: mvn build actually does not work due to missing patches and a target definition using a location of type directory.
Run Tests
TODO: explain how to run tests in Eclipse, using Maven. Meanwhile use:
$ mvn clean test install -Paq
Committers Message Guidelines
More and more patches for Skalli are contributed now through Bugzilla. Therefore all commits fixing a certain bug should be associated with the corresponding Bugzilla issue. We follow the general Eclipse guidelines also used in other Eclipse projects, This guideline will be supported by tooling too, e.g. the Mylyn EGit integration does add the Bugzilla issue to commit comment.
See example http://bugs.eclipse.org/bugs/show_bug.cgi?id=345126, commit comment at http://git.eclipse.org/c/skalli/org.eclipse.skalli.git/commit/?id=bb3bc124ae511416c036a16e6710c1a1c1d4da44
The big reformatting patch * adapted all .java and .xml files to new formatting and indentation rules * only format changes and new prefs, no functional changes Change-Id: Ic798f6bd3a84b5b4ad01f34ccd377f50f8cc24a0 Signed-off-by: Michael Ochmann michael.ochmann@sap.com
Website
The Skalli website is located in a CVS repository on the Eclipse Foundation's servers.
- File > Import > CVS > Projects from CVS
- Select URL :pserver:anonymous@dev.eclipse.org/cvsroot/org.eclipse
- Use module skalli (from www)
- Finish