Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Skalli/Contributor Guide"

(Run Tests: the profile qa is no longer valid (since commitId d043132c96036ade8a326bdca9f553b8b4d1fc61))
(Commit message guidelines: add "commit contend Guidelines")
Line 117: Line 117:
  
 
= Contributing Patches =
 
= Contributing Patches =
== Commit message guidelines ==
+
== Commit Guidelines ==
  
 +
=== Commit Message Guidelines ===
 
*The commit message header should fit on one line and should start with an uppercase letter
 
*The commit message header should fit on one line and should start with an uppercase letter
 
*The commit message have newline characters after every 60-70 characters.  
 
*The commit message have newline characters after every 60-70 characters.  
Line 126: Line 127:
 
*The first sentence should be a clear and concise description about the change.  
 
*The first sentence should be a clear and concise description about the change.  
 
*Enter a newline before providing a more detailed description about the change.
 
*Enter a newline before providing a more detailed description about the change.
 +
 
<pre>Fix the commit dialog to respect the workbench's selection
 
<pre>Fix the commit dialog to respect the workbench's selection
  
Line 138: Line 140:
 
Signed-off-by: Your Name <your.email@example.org>
 
Signed-off-by: Your Name <your.email@example.org>
 
</pre>
 
</pre>
 +
 +
=== Commit Contend Guidelines ===
 +
 +
*The scope of a commit is only '''one''' concern. Do dot put different purposes into one and the same commit!
 +
*One Commit should solve only one Bug.
 +
*Format all sources according to the available eclipse preferences.
  
 
= Website =
 
= Website =

Revision as of 10:13, 9 June 2011

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.

Skalli egit clone.png

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).

Skalli egit import projects.png


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]

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.

Tango Icons

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 install 

Contributing Patches

Commit Guidelines

Commit Message Guidelines

  • The commit message header should fit on one line and should start with an uppercase letter
  • The commit message have newline characters after every 60-70 characters.
  • If a Gerrit Change-Id is available (for example when re-submitting to the same change), it should be added in the format below
  • If there is an associated bug number in Bugzilla about it, it should come right before Gerrit's Change-Id entry (if available) or towards the end.
  • A "Signed-off-by" should be added to the end of the commit message (see example below).
  • The first sentence should be a clear and concise description about the change.
  • Enter a newline before providing a more detailed description about the change.
Fix the commit dialog to respect the workbench's selection

Originally, the commit dialog would automatically check off all
files in the dialog. This behaviour contradicts a user's expectation
because their selection in the workbench is completely ignored. The
code has been corrected to only preselect what the user has actually
selected.

Bug: 12345
Change-Id: I71ac4844ab9d2f848352eba9252090c586b4146a
Signed-off-by: Your Name <your.email@example.org>

Commit Contend Guidelines

  • The scope of a commit is only one concern. Do dot put different purposes into one and the same commit!
  • One Commit should solve only one Bug.
  • Format all sources according to the available eclipse preferences.

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

Back to the top