Author: ericjohnson
Date: Wed Nov 3 22:39:40 2010
New Revision: 1030742
URL: http://svn.apache.org/viewvc?rev=1030742&view=rev
Log:
Added some content around contributing and the community
Added:
servicemix/sandbox/website20/src/main/webapp/community/index.page
servicemix/sandbox/website20/src/main/webapp/community/projects.conf
servicemix/sandbox/website20/src/main/webapp/contrib/building.page
servicemix/sandbox/website20/src/main/webapp/contrib/coding-standards.page
servicemix/sandbox/website20/src/main/webapp/contrib/releasing.page
- copied, changed from r1030498,
servicemix/sandbox/website20/src/main/webapp/contrib/developers.page
servicemix/sandbox/website20/src/main/webapp/images/Fisheye_logo.png
(with props)
servicemix/sandbox/website20/src/main/webapp/images/forbidden.gif (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_01.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_01.png.jpeg
(with props)
servicemix/sandbox/website20/src/main/webapp/images/release_02.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_02.png.jpeg
(with props)
servicemix/sandbox/website20/src/main/webapp/images/release_03.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_03.png.jpeg
(with props)
servicemix/sandbox/website20/src/main/webapp/images/release_04.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_04.png.jpeg
(with props)
servicemix/sandbox/website20/src/main/webapp/images/release_05.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_05.png.jpeg
(with props)
servicemix/sandbox/website20/src/main/webapp/images/release_06.png (with
props)
servicemix/sandbox/website20/src/main/webapp/images/release_06.png.jpeg
(with props)
Removed:
servicemix/sandbox/website20/src/main/webapp/contrib/developers.page
Modified:
servicemix/sandbox/website20/src/main/webapp/WEB-INF/scalate/layouts/default.ssp
servicemix/sandbox/website20/src/main/webapp/contrib/committers-guide.page
servicemix/sandbox/website20/src/main/webapp/contrib/source.page
servicemix/sandbox/website20/src/main/webapp/css/master.css
Modified:
servicemix/sandbox/website20/src/main/webapp/WEB-INF/scalate/layouts/default.ssp
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/WEB-INF/scalate/layouts/default.ssp?rev=1030742&r1=1030741&r2=1030742&view=diff
==============================================================================
---
servicemix/sandbox/website20/src/main/webapp/WEB-INF/scalate/layouts/default.ssp
(original)
+++
servicemix/sandbox/website20/src/main/webapp/WEB-INF/scalate/layouts/default.ssp
Wed Nov 3 22:39:40 2010
@@ -72,13 +72,26 @@ limitations under the License.
</ul>
</li>
<li>
- <a href="/contrib/index.html"
title="Contributing">Contributing</a>
+ <a href="/community/index.html" title="Community">Community</a>
<ul>
- <li><a href="/contrib/becoming-a-committer.html"
title="Committing">Become a committer</a></li>
+ <li><a href="/community/mailing-lists.html" title="Mailing
Lists">Mailing Lists</a></li>
+ <li><a href="/community/discussion-forums.html"
title="Discussion Forums">Forums</a></li>
+ <li><a href="/community/irc.html" title="IRC">IRC</a></li>
+ <li><a href="/community/users.html"
title="Users">Users</a></li>
+ <li><a href="/community/team.html" title="Users">Team</a></li>
+ <li><a href="/community/projects.html" title="Users">Related
Projects</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="/contrib/index.html" title="Contributing">Contribute</a>
+ <ul>
+ <li><a href="/contrib/becoming-a-committer.html"
title="Committing">Become a Committer</a></li>
<li><a href="/contrib/committers-guide.html" title="Committing
Guide">Committer Guide</a></li>
- <li><a href="/contrib/source.html"
title="Source">Source</a></li>
+ <li><a href="/contrib/source.html" title="Source">Getting the
Source</a></li>
+ <li><a href="/contrib/building.html" title="Building">Building
ServiceMix</a></li>
+ <li><a href="/contrib/coding-standards.html" title="Coding
Standards">Coding Standards</a></li>
<li><a href="http://issues.apache.org/activemq/browse/SM"
title="JIRA">JIRA</a></li>
- <li><a href="/contrib/developers.html"
title="Developers">Developer Resources</a></li>
+ <li><a href="/contrib/releasing.html"
title="Releasing">Release Guide</a></li>
<li><a href="/community/team.html" title="Users">Team</a></li>
</ul>
</li>
Added: servicemix/sandbox/website20/src/main/webapp/community/index.page
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/community/index.page?rev=1030742&view=auto
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/community/index.page (added)
+++ servicemix/sandbox/website20/src/main/webapp/community/index.page Wed Nov
3 22:39:40 2010
@@ -0,0 +1,15 @@
+---
+<% attributes("title") = "Community" %>
+title: Community
+--- name:content pipeline:markdown
+
+# The ServiceMix Community
+
+* [Contributing](/contrib/index.html)
+* [Discussion Forums](discussion-forums.html)
+* [IRC](irc.html)
+* [Mailing Lists](mailing-lists.html)
+* [Roadmap](contrib/roadmap.html)
+* [Support](support/index.html)
+* [Team](team.html)
+* [Users](users.html)
\ No newline at end of file
Added: servicemix/sandbox/website20/src/main/webapp/community/projects.conf
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/community/projects.conf?rev=1030742&view=auto
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/community/projects.conf (added)
+++ servicemix/sandbox/website20/src/main/webapp/community/projects.conf Wed
Nov 3 22:39:40 2010
@@ -0,0 +1,18 @@
+h1. Projects Using ServiceMix
+
+* [Apache Geronimo|http://geronimo.apache.org/] uses ServiceMix as its JBI
container and component suite.
+* [ChainBuilder ESB|http://www.chainforge.net/] uses ServiceMix as its JBI
container and HTTP component.
+* [InstantSVC|http://instantsvc.sourceforge.net/] uses ServiceMix as a
foundation to implement [Task-Role Based Access Control (T-RBAC) for
SOAs|http://sourceforge.net/project/showfiles.php?group_id=176328&package_id=241922].
+* [GASWerk|http://gaswerk.sourceforge.net/]
+* [Spagic|http://www.spagic.org/ecm/faces/public/guest/home/solutions/spagic]
+
+
+h1. Projects Included in ServiceMix
+
+- [Apache ActiveMQ|http://activemq.apache.org/|The most popular and powerful
open source Message Bus]
+- [Apache Camel|http://activemq.apache.org/camel/|POJO based Enterprise
Integration Patterns and routing framework]
+- [Apache CXF|http://cxf.apache.org/|Service Enablement Framework based on
SOAP and JAX-WS]
+- [Apache ODE|http://ode.apache.org/|Orchestration Engine]
+- [Jencks|http://jencks.codehaus.org/|Message Driven POJOs and pooling for JMS
and JDBC]
+- [Stomp|http://stomp.codehaus.org/|Simple cross language protocol for
messaging]
+- [Spring|http://www.springframework.org/|The well know framework]
\ No newline at end of file
Added: servicemix/sandbox/website20/src/main/webapp/contrib/building.page
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/contrib/building.page?rev=1030742&view=auto
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/contrib/building.page (added)
+++ servicemix/sandbox/website20/src/main/webapp/contrib/building.page Wed Nov
3 22:39:40 2010
@@ -0,0 +1,90 @@
+---
+<% attributes("title") = "Building ServiceMix" %>
+title: Building ServiceMix
+--- name:content pipeline:markdown
+
+# Building ServiceMix From Source
+
+ServiceMix uses [Maven](http://maven.apache.org/) as its build and management
tool. We have tested the build with Maven 2.0.8 and it works fine, but Maven
2.0.9 is known to cause some issues that prevent a successful build for
ServiceMix 3.2.1 and previous versions. This has been fixed for 3.2.2 and 3.3.
+
+ServiceMix 4.x requires to use Maven 2.2.1 or better.
+
+## Getting started
+
+* Download and [install
Maven](http://maven.apache.org/download.html#Installation).
+* Get the latest code [from SVN](source.html).
+* Build the code with the following command
+
+ mvn -Dmaven.test.skip=true -Pstep1 install
+ mvn -Dmaven.test.skip=true -Pstep2 install
+
+<div class="tip">
+ <h1>Useful Hints</h1>
+ <ul>
+ <l1>
+ <p>It may happen, that building step1 fails with an error message
regarding PMD or checkstyle. In this case you can add a <code>nochecks</code>
to the line so it looks like this:</p>
+ <code>mvn -Dmaven.test.skip=true -Pstep1,nochecks install</code>
+ </li>
+ <li>
+ <p>Also, if an out of memory error is encountered during compilation,
set the <code>MAVEN_OPTS</code> environment variable to a larger amount of
memory. Below is an example:</p>
+ <code>MAVEN_OPTS=-Xmx768m</code>
+ </li>
+ <LI>Some dependencies have POMs that specify repository URLs that are
no longer valid. This can cause invalid artifacts to be downloaded to your
local repository. You can add the following mirror to your Maven
<code>settings.xml</code> file to avoid this problem:
+<PRE class="code-java">
+<mirror>
+ <id>servicemix-repo</id>
+ <name>Apache ServiceMix Repository</name>
+ <url>http:<SPAN
class="code-comment">//svn.apache.org/repos/asf/servicemix/m2-repo/</url>
+</SPAN> <mirrorOf>servicemix-repo,servicemix-m2-repo</mirrorOf>
+</mirror>
+</PRE>
+</li>
+</ul>
+</div>
+
+<div class="warn">
+ <h1>Please Note</h1>
+ <p>There is an <a
href="https://issues.apache.org/activemq/browse/SM-1079">issue</a> in building
if you use the system property style of declaring the profiles (i.e.,
<code>-Dprofile=step2</code>) as the XFire Maven plugin thinks
<code>step2</code> is a profile name it should use. This is fixed in the
ServiceMix trunk (3.3 or greater). To work around this issue, try the following
items below:</p>
+ <UL>
+ <LI>Use the -Pstep2 style of declaring the profile as noted above</LI>
+ <LI>Comment out the <A
href="http://fisheye6.atlassian.com/browse/servicemix/smx3/tags/servicemix-3.2.1/platforms/pom.xml?%3Dtrunk#l36"
class="external-link" rel="nofollow">Geronimo module in the platform
POM</A></LI>
+ </UL>
+</div>
+
+Next time you build, you can just run
+
+ mvn -Dmaven.test.skip=true install
+
+<div class="tip">
+ <h1>Building 3.1.1</h1>
+ <p>If an out of memory error is encountered when building 3.1.1, setting the
following environmental variable may help</P>
+ <code>MAVEN_OPTS=-Xmx768m</code>
+</div>
+
+<div class="tip">
+ <h1>Building 3.0-M1 and 3.0-M2</h1>
+ <p>Note that this only works for versions from 3.0-M3.</p>
+ <p>To build previous versions, you need to run:</p>
+ <pre>mvn -N install
+cd tooling
+mvn install -Dmaven.test.skip=true
+cd ..
+mvn install -Dmaven.test.skip=true</pre>
+</div>
+
+## Code Conventions
+
+Checkstyle and PMD rules are used to scour the ServiceMix source code when
performing a build. If you are hacking code and it does not follow these
conventions, the build will fail. To make things easier on folks who are using
Eclipse, there is an [Eclipse code convention
profile](http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/build/src/main/resources/smx-eclipse-code-conventions.xml?view=markup)
that matches the Checkstyle conventions, making things a bit easier in this
regard. Import this profile into Eclipse under **Preferences->Java->Code
Style->Formatter->Import**.
+
+## Using an IDE
+
+### Using Eclipse
+For [Eclipse](http://www.eclipse.org/), a detailed description is given at
[Importing ServiceMix into Eclipse](importing-servicemix-into-eclipse.html). In
addition, this page also describes how to start ServiceMix inside Eclipse with
all debugging possibilities.
+
+### Other IDEs
+
+Any modern IDE with self respect can start a new project based on a Maven
`pom.xml` file.
+
+Note that you may need to build the whole ServiceMix project once using maven.
+
+Please refer to the [Maven plugin
reference](http://maven.apache.org/plugins/index.html) for more details on
using them.
\ No newline at end of file
Added:
servicemix/sandbox/website20/src/main/webapp/contrib/coding-standards.page
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/contrib/coding-standards.page?rev=1030742&view=auto
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/contrib/coding-standards.page
(added)
+++ servicemix/sandbox/website20/src/main/webapp/contrib/coding-standards.page
Wed Nov 3 22:39:40 2010
@@ -0,0 +1,215 @@
+---
+<% attributes("title") = "Coding Standards" %>
+title: Codine Standards
+--- name:content pipeline:markdown
+
+This page describes the standards used for Apache ServiceMixcode (java, xml,
whatever). Code is read by a human being more often than it is written by a
human being, make the code a pleasure to read.
+
+# Indentation
+
+## Java
+
+Follow Sun's coding standard rules which are pretty common in Java:
+
+* [http://java.sun.com/docs/codeconv/](http://java.sun.com/docs/codeconv/)
+*
[http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html](http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html)
+
+In short:
+
+* 4 characters indentation
+* **No tabs** please!
+
+For example:
+<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV
class="codeContent panelContent">
+<PRE class="code-java">
+<SPAN class="code-keyword">public</SPAN> class Foo {
+ <SPAN class="code-keyword">public</SPAN> void foo(<SPAN
class="code-object">boolean</SPAN> a, <SPAN class="code-object">int</SPAN> x,
<SPAN class="code-object">int</SPAN> y, <SPAN class="code-object">int</SPAN> z)
{
+ <SPAN class="code-keyword">do</SPAN> {
+ <SPAN class="code-keyword">try</SPAN> {
+ <SPAN class="code-keyword">if</SPAN> (x > 0) {
+ <SPAN class="code-object">int</SPAN> someVariable = a ? x
: y;
+ } <SPAN class="code-keyword">else</SPAN> <SPAN
class="code-keyword">if</SPAN> (x < 0) {
+ <SPAN class="code-object">int</SPAN> someVariable = (y +
z);
+ someVariable = x = x + y;
+ } <SPAN class="code-keyword">else</SPAN> {
+ <SPAN class="code-keyword">for</SPAN> (<SPAN
class="code-object">int</SPAN> i = 0; i < 5; i++) {
+ doSomething(i);
+ }
+ }
+
+ <SPAN class="code-keyword">switch</SPAN> (a) {
+ <SPAN class="code-keyword">case</SPAN> 0:
+ doCase0();
+ <SPAN class="code-keyword">break</SPAN>;
+ <SPAN class="code-keyword">default</SPAN>:
+ doDefault();
+ }
+ } <SPAN class="code-keyword">catch</SPAN> (Exception e) {
+ processException(e.getMessage(), x + y, z, a);
+ } <SPAN class="code-keyword">finally</SPAN> {
+ processFinally();
+ }
+ } <SPAN class="code-keyword">while</SPAN> (<SPAN
class="code-keyword">true</SPAN>);
+
+ <SPAN class="code-keyword">if</SPAN> (2 < 3) {
+ <SPAN class="code-keyword">return</SPAN>;
+ }
+
+ <SPAN class="code-keyword">if</SPAN> (3 < 4) {
+ <SPAN class="code-keyword">return</SPAN>;
+ }
+
+ <SPAN class="code-keyword">do</SPAN> {
+ x++
+ } <SPAN class="code-keyword">while</SPAN> (x < 10000);
+
+ <SPAN class="code-keyword">while</SPAN> (x < 50000) {
+ x++;
+ }
+
+ <SPAN class="code-keyword">for</SPAN> (<SPAN
class="code-object">int</SPAN> i = 0; i < 5; i++) {
+ <SPAN class="code-object">System</SPAN>.out.println(i);
+ }
+ }
+
+ <SPAN class="code-keyword">private</SPAN> class InnerClass <SPAN
class="code-keyword">implements</SPAN> I1, I2 {
+ <SPAN class="code-keyword">public</SPAN> void bar() <SPAN
class="code-keyword">throws</SPAN> E1, E2 {
+ }
+ }
+}
+</PRE>
+</DIV></DIV>
+
+## XML
+
+* Use 4 characters. This is to allow IDEs such as Eclipse to use a unified
formatting convention.
+* **No tabs** please!
+
+# Interfaces
+
+All methods of an interface are `public abstract`, therefore it is not
necessary to specify `public abstract` modifiers. Similarly all fields are
`public static final`.</P>
+
+However this behavior works best with most tools and IDEs and seems to be
common practice so we see no reason to disallow this practice. e.g:
+
+<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV
class="codeContent panelContent">
+<PRE class="code-java">
+<SPAN class="code-keyword">public</SPAN> <SPAN
class="code-keyword">interface</SPAN> MyInterface {
+ <SPAN class="code-keyword">public</SPAN> <SPAN
class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN>
<SPAN class="code-object">int</SPAN> MY_INTEGER = 0;
+
+ <SPAN class="code-keyword">public</SPAN> <SPAN
class="code-keyword">abstract</SPAN> void doSomething();
+}
+</PRE>
+</DIV></DIV>
+
+This has the added advantage that the interface can be converted into an
abstract class (and copy and paste individual definitions) without changing
anything.
+
+Preferably add `public`/`static`/`final` to constants, and `public`/`abstract`
to methods, but it's not mandatory. However, if it's there, don't take it out.
+
+# Exceptions
+
+* A situation is only exceptional, if the program can not handle it with
reasonably effort. Wrong input data should be an expected situation of the
regular code, that could be handled gracefully.
+* The intention of exception-handling is to separate real error-handling from
the regular part of the code, so don't force the caller to mix it with
unnecessary exceptions.
+* Only if your code really has a problem to continue e.g., when a parameter is
invalid, feel free to throw an exception!
+* Do **NOT** throw an exception, if you only suppose the caller of your code
could have a problem with a special result. Try to return a special result
value instead e.g., null, and let the caller decide with a regular
if-else-statement. If the caller really has a problem, **HE WILL** throw an
exception on his own.
+* But if your code throws an exception, even though it has no real problem and
it could continue without an exception and return a special result value, you
forestall the decision of the caller, whether the special result is really an
error or not.
+* If you throw an exception, where the caller would decide that it is no error
in the context of the caller, you force the caller to write an exception
handler in his regular part or to abort i.e., you force the caller to mix
regular code with exception handling. That is the opposite of the intentention
of exception handling.
+* Bad example:
+
+ java.lang.Class.forName(String) throws ClassNotFoundException
+ In most programs/situations it is an error if this method does not find
the class, therefore it throws an exception and forestalls the decision of the
caller.
+ But maybe there is a program that should check a list of class names,
whether the classes are present or not. Such a program is forced to mix its
regular code with error handling of an exception, that is no error at all in
that context.
+ The method should return a special result value instead: null. Many
callers of that method have expected that situation and therefore are not in an
unexpected situation/exceptional state. They could decide the situation on
their own.
+* Only throw checked exceptions (not derived from `RuntimeException`), if the
caller has a chance to handle it.
+* Exceptions that signal programming errors or system failures usually cannot
be handled/repaired at runtime -> unchecked exception.
+* If your code really has a problem to continue e.g., when a parameter is
invalid, throw an unchecked exception (derived from `RuntimeException`) and do
NOT throw a checked exception, because if not even your code can handle the
problem, in the very most cases the caller has no chance to handle the problem,
too. Instead there maybe somebody somewhere in the highest layers who catches
all `RuntimeException`'s, logs them and continues the regular service.
+* Only if it is not possible to return special result values cleanly, use
checked exceptions to force the caller to decide the situation. The caller
should deescalate the situation by catching and handling one or more checked
exceptions, e.g. with special result values(?) or by escalating with an
unchecked exception, because the situation is an error, that can not be handled.
+* Checked exceptions are an official part of the interface, therefore do not
propagate checked exceptions from one abstraction layer to another, because
usually this would break the lower abstraction. E.g. do not propagate
SQLException to another layer, because SQLExceptions are an implementation
detail, that may change in the future and such changes should not affect the
interfaces and their callers.</LI>
+* Never throw `NullPointerException` or `RuntimeException`. Use either
`IllegalArgumentException`, or `NullArgumentException` (which is a subclass of
`IllegalArgumentException` anyway). If there isn't a suitable subclass
available for representing an exception, create your own.
+
+# Package Naming
+
+* Package names are lowercase.
+* Package names should only contain alpha-numberic characters.
+* Package names should be suffixed with the name of the module in which they
are defined.
+
+For example, if the module name is *common*, then the base package name should
be `org.apache.geronimo.common`.
+
+<div class="note">
+ <h1>Note</h1>
+ <p>This is more of a <EM>guideline</EM> than a <EM>rule</EM>, as some
modules simply can not follow this convention, but where applicable they
should.</p>
+</div>
+
+# Imports
+
+* Should be fully qualified e.g. `import java.util.Vector` and not
`java.util.*`
+* Should be sorted alphabetically, with *java*, then *javax* packages listed
first, and then other packages sorted by package name.
+
+# IDE Auto-Formatting
+
+Eclipse users can:
+
+* use **Source -> Organise Imports** to organize imports
+* use **Source -> Format** to format code (please use default Eclipse
formatting conventions, which are as above)
+
+IntelliJ users can:
+
+* use **Tools -> Organise Imports** to organize imports
+* use **Tools -> Reformat code** to format code (uses the code style
setting in IDE options)
+
+The eclipse formater settings are available
[here](coding-standards.data/eclipse-formater.xml).
+
+# JavaDoc Tags
+
+* `...@version` should be: `...@version $Revision$ $Date$`.
+* `...@author` should not be used in source code at all.
+
+# Unit Test Cases
+
+* Use the naming scheme `*Test.java` for unit tests.
+* Do not define `public static Test suite()` or constructor methods, the
build system will automatically do the right thing without them.
+
+# Logging
+
+* Log as much as necessary for someone to figure out what broke.
+* Use `org.apache.commons.logging.Log` rather than raw Log4j.
+* Do not log throwables that you throw - leave it to the caller.
+* Use flags to avoid string concatenation for *debug* and *trace*.
+* Cache flags (especially for *trace*) to avoid excessive `isTraceEnabled()`
calls
+
+## Levels
+
+* Use *trace* level for detailed/diagnostic logging
+* Use *debug* level for things an application developer would need to know
+* Use *info* level for things an administrator would need to know
+* Use *warn* level for things indicating an application or transient problem
+* Use *error* level for things indicating a problem with the server itself
+* Use *fatal* level for things that mean this instance is compromised
+
+# Example
+
+<DIV class="code panel" style="border-style: solid;border-width: 1px;"><DIV
class="codeContent panelContent">
+<PRE class="code-java">
+<SPAN class="code-keyword">private</SPAN> <SPAN
class="code-keyword">static</SPAN> <SPAN class="code-keyword">final</SPAN> Log
log = LogFactory.getLog(MyClass.class);
+
+<SPAN class="code-keyword">public</SPAN> void doSomeStuff(Stuff stuff) <SPAN
class="code-keyword">throws</SPAN> StuffException {
+ <SPAN class="code-object">boolean</SPAN> logTrace = log.isTraceEnabled();
+ <SPAN class="code-keyword">try</SPAN> {
+ <SPAN class="code-keyword">if</SPAN> (logTrace) {
+ log.trace(<SPAN class="code-quote">"About to <SPAN
class="code-keyword">do</SPAN> stuff "</SPAN> + stuff);
+ }
+ stuff.doSomething();
+ <SPAN class="code-keyword">if</SPAN> (logTrace) {
+ log.trace(<SPAN class="code-quote">"Did some stuff
"</SPAN>);
+ }
+ } <SPAN class="code-keyword">catch</SPAN> (BadException e) {
+ <SPAN class="code-comment">// don't log - leave it to caller
+</SPAN> <SPAN class="code-keyword">throw</SPAN> <SPAN
class="code-keyword">new</SPAN> StuffException(<SPAN
class="code-quote">"Something bad happened"</SPAN>, e);
+ } <SPAN class="code-keyword">catch</SPAN> (IgnorableException e) {
+ <SPAN class="code-comment">// didn't cache <SPAN
class="code-keyword">this</SPAN> as we don't expect to come here a lot
+</SPAN> <SPAN class="code-keyword">if</SPAN> (log.isDebugEnabled()) {
+ log.debug(<SPAN class="code-quote">"Ignoring problem doing
stuff "</SPAN>+stuff, e);
+ }
+ }
+}
+</PRE>
+</DIV></DIV>
\ No newline at end of file
Modified:
servicemix/sandbox/website20/src/main/webapp/contrib/committers-guide.page
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/contrib/committers-guide.page?rev=1030742&r1=1030741&r2=1030742&view=diff
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/contrib/committers-guide.page
(original)
+++ servicemix/sandbox/website20/src/main/webapp/contrib/committers-guide.page
Wed Nov 3 22:39:40 2010
@@ -3,4 +3,66 @@
title: Guidelines for Committers
--- name:content pipeline:markdown
-# Guidelines for Committers
\ No newline at end of file
+# Guidelines for Committers
+
+This page serves as a gather spot for all information for committers to Apache
ServiceMix. It is requested that all committers comply with the following
guidelines.
+
+## Code Style
+
+Before committing anything, please see the [coding
standards](coding-standards.html).
+
+These code standards are enforced in most ares of the codebase via the
[maven-checkstyle-plugin](http://maven.apache.org/plugins/maven-checkstyle-plugin/)
and the [maven-pmd-plugin](http://maven.apache.org/plugins/maven-pmd-plugin/).
Just make sure to build your code before committing.
+
+
+## Subversion Client Configuration
+
+Please see the [Subversion client EOL
configuration](http://www.apache.org/dev/svn-eol-style.txt).
+
+## Documentation
+
+* All major commits **must** be associated with a JIRA issue.
+ * The commit log should begin with the JIRA issue number. For a good
example, see this [Log
Message](http://svn.apache.org/viewvc?view=rev&revision=582756).
+ * If there are multiple commits for a JIRA issue, each commit log should
begin with the JIRA issue number.
+* All committed code **must** be properly documented.
+ * If you are working on a piece of code that is undocumented or poorly
documented, please take the time to document it properly before committing!
+ * This includes Javadoc and regular comments. If you need an example of
good documentation, take a peek at the [Spring source
code](http://springframework.cvs.sourceforge.net/springframework/spring/src/org/springframework/).
Here is the [Spring
``AbstractJmsListeningContainer``](http://springframework.cvs.sourceforge.net/springframework/spring/src/org/springframework/jms/listener/AbstractJmsListeningContainer.java?view=markup).
+
+## Unit Tests
+
+* All major code additions and changes should be accompanied by a unit test.
+
+ This allows all issues to be proven in future builds.</LI>
+* Unit tests should provide as much coverage as possible.
+
+ The goal is to cover 100% of the codebase. This is enforced much easier on
ServiceMix 4.0 than the existing ServiceMix 3.0 codebase.</LI>
+
+## Licensing and Copyright
+
+* All new source file submissions **must** include the Apache License in a
comment at the head of the file.
+
+ Below is an example for use in Java files. Other file types may need to
change the comment style.
+
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version
2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+* All contributions **must** comply with the terms of the [Apache Contributor
License Agreement (CLA)](http://www.apache.org/licenses/cla.pdf).
+* Any questions about copyright or patent issues should be raised on the dev
mailing list **before** contributing or committing code.
+
+## Miscellaneous
+
+* If you need to experiment with something and you want to commit your code,
just create a branch in the Subversion repo.
+* If you are troubleshooting a problem, stop to create a unit test first. Then
you'll have something to commit.
\ No newline at end of file
Copied: servicemix/sandbox/website20/src/main/webapp/contrib/releasing.page
(from r1030498,
servicemix/sandbox/website20/src/main/webapp/contrib/developers.page)
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/contrib/releasing.page?p2=servicemix/sandbox/website20/src/main/webapp/contrib/releasing.page&p1=servicemix/sandbox/website20/src/main/webapp/contrib/developers.page&r1=1030498&r2=1030742&rev=1030742&view=diff
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/contrib/developers.page
(original)
+++ servicemix/sandbox/website20/src/main/webapp/contrib/releasing.page Wed Nov
3 22:39:40 2010
@@ -1,6 +1,270 @@
---
-<% attributes("title") = "Developer Resources" %>
-title: Developer Resources
+<% attributes("title") = "Release Guide" %>
+title: Release Guide
--- name:content pipeline:markdown
-# Developer Resources
\ No newline at end of file
+How to create and announce a ServiceMix release.
+
+# Prepare the Release
+
+To prepare and perform a release you must be at least at Apache ServiceMix
Committer.
+
+<UL>
+ <LI>each and every release must be <A
href="http://www.apache.org/dev/release-signing.html" class="external-link"
rel="nofollow">SIGNED</A></LI>
+ <LI>your public key should also be cross-signed by other Apache
committers (not required, but suggested)</LI>
+ <LI>make sure you have all Apache servers defined in your <A
href="http://maven.apache.org/developers/committer-settings.html"
class="external-link" rel="nofollow">settings.xml</A></LI>
+ <LI>use Maven 2.0.x or 2.2..x</LI>
+</UL>
+
+
+<P>Your settings.xml should look like:</P>
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-xml">
+<SPAN class="code-tag"><settings></SPAN>
+ ...
+ <SPAN class="code-tag"><profiles></SPAN>
+ <SPAN class="code-tag"><profile></SPAN>
+ <SPAN class="code-tag"><id></SPAN>release<SPAN
class="code-tag"></id></SPAN>
+ <SPAN class="code-tag"><properties></SPAN>
+ <SPAN class="code-tag"><gpg.passphrase></SPAN> <SPAN
class="code-tag"><SPAN class="code-comment"><!-- YOUR KEY PASSPHRASE
--></SPAN></SPAN> <SPAN class="code-tag"></gpg.passphrase></SPAN>
+ <SPAN class="code-tag"></properties></SPAN>
+ <SPAN class="code-tag"></profile></SPAN>
+ <SPAN class="code-tag"></profiles></SPAN>
+ ...
+ <SPAN class="code-tag"><servers></SPAN>
+ <SPAN class="code-tag"><SPAN class="code-comment"><!-- To publish a
snapshot of some part of Maven --></SPAN></SPAN>
+ <SPAN class="code-tag"><server></SPAN>
+ <SPAN class="code-tag"><id></SPAN>apache.snapshots.https<SPAN
class="code-tag"></id></SPAN>
+ <SPAN class="code-tag"><username></SPAN> <SPAN
class="code-tag"><SPAN class="code-comment"><!-- YOUR APACHE SVN USERNAME
--></SPAN></SPAN> <SPAN class="code-tag"></username></SPAN>
+ <SPAN class="code-tag"><password></SPAN> <SPAN
class="code-tag"><SPAN class="code-comment"><!-- YOUR APACHE SVN PASSWORD
--></SPAN></SPAN> <SPAN class="code-tag"></password></SPAN>
+ <SPAN class="code-tag"></server></SPAN>
+ <SPAN class="code-tag"><SPAN class="code-comment"><!-- To stage a
release of some part of Maven --></SPAN></SPAN>
+ <SPAN class="code-tag"><server></SPAN>
+ <SPAN class="code-tag"><id></SPAN>apache.releases.https<SPAN
class="code-tag"></id></SPAN>
+ <SPAN class="code-tag"><username></SPAN> <SPAN
class="code-tag"><SPAN class="code-comment"><!-- YOUR APACHE SVN USERNAME
--></SPAN></SPAN> <SPAN class="code-tag"></username></SPAN>
+ <SPAN class="code-tag"><password></SPAN> <SPAN
class="code-tag"><SPAN class="code-comment"><!-- YOUR APACHE SVN PASSWORD
--></SPAN></SPAN> <SPAN class="code-tag"></password></SPAN>
+ <SPAN class="code-tag"></server></SPAN>
+ ...
+ <SPAN class="code-tag"></servers></SPAN>
+<SPAN class="code-tag"></settings></SPAN>
+
+</PRE>
+</DIV></DIV>
+
+# Staging the Release Candidate
+
+<OL>
+ <LI>grab the latest <A href="source.html" title="Source">Source</A>
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+svn co https:<SPAN
class="code-comment">//svn.apache.org/repos/asf/servicemix/$PART/trunk</SPAN>
+</PRE>
+</DIV></DIV>
+<P>where $PART is what you want to release. For example, it can be:</P>
+ <UL>
+ <LI>smx3</LI>
+ <LI>smx4</LI>
+ <LI>components/bindings/servicemix-cxf-bc</LI>
+ <LI>...</LI>
+ </UL>
+ </LI>
+ <LI>prepare your POMs for release:
+ <OL>
+ <LI>make sure there is no snapshots in the POMs to be
released</LI>
+ <LI>make sure everything builds fine</LI>
+ <LI>check that your POMs will not lose content when they are
rewritten during the release process:
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+mvn release:prepare -DdryRun
+</PRE>
+</DIV></DIV>
+<P>and diff the original pom.xml with the one named pom.xml.tag to see if the
license or any other info has been removed. This has been known to happen if
the starting <project> tag is not a single line. The only things that
should be different between these files are the <version> and <scm>
elements. If there are any other changes, you must fix the original pom.xml
file and commit before proceeding with the release. </P></LI>
+ <LI>publish a snapshot
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+$ mvn deploy
+...
+[INFO] [deploy:deploy]
+[INFO] Retrieving previous build number from apache.snapshots.https
+...
+</PRE>
+</DIV></DIV></LI>
+ </OL>
+ <UL>
+ <LI>if you experience an error during deployment like a HTTP
401 check your settings for the required server entries as outlined in the
<B>Prerequisites</B></LI>
+ <LI>be sure that the generated artifacts respect the Apache
release <A href="http://www.apache.org/dev/release.html" class="external-link"
rel="nofollow">rules</A>: NOTICE and LICENSE files should be present in the
META-INF directory within the jar. For sources artifacts, be sure that your POM
does not use the maven-source-plugin:2.0.3 which is broken. The recommended
version at this time is 2.0.4</LI>
+ <LI>you should verify the deployment under the <A
href="https://repository.apache.org/content/groups/snapshots/org/apache/servicemix"
class="external-link" rel="nofollow">snapshot</A> repository on Apache</LI>
+ </UL>
+ </LI>
+ <LI>prepare the release
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+mvn release:clean
+mvn release:prepare
+</PRE>
+</DIV></DIV></LI>
+ <LI>stage the release for a vote
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+mvn release:perform
+</PRE>
+</DIV></DIV>
+ <UL>
+ <LI>the release will automatically be inserted into a temporary
staging repository for you, see the Nexus <A
href="http://www.sonatype.com/books/nexus-book/reference/staging.html"
class="external-link" rel="nofollow">staging documentation</A> for full
details</LI>
+ <LI>you can continue to use mvn release:prepare and mvn
release:perform on other sub-projects as necessary on the same machine and they
will be combined in the same staging repository</LI>
+ </UL>
+ </LI>
+ <LI>close the staging repository
+ <UL>
+ <LI>login to <A href="https://repository.apache.org/"
class="external-link" rel="nofollow">https://repository.apache.org</A> using
your Apache SVN credentials. Click on Staging on the left. Then click on
org.apache.servicemix in the list of repositories. In the panel below you
should see an open repository that is linked to your username and IP. Right
click on this repository and select Close. This will close the repository from
future deployments and make it available for others to view. If you are staging
multiple releases together, skip this step until you have staged everything<BR>
+<SPAN class="image-wrap" style=""><A class="confluence-thumbnail-link
1014x751" href="/images/release_01.png"><IMG src="/images/release_01.png.jpeg"
style="border: 0px solid black"></A></SPAN> <SPAN class="image-wrap"
style=""><A class="confluence-thumbnail-link 1014x751"
href="/images/release_02.png"><IMG src="/images/release_02.png.jpeg"
style="border: 0px solid black"></A></SPAN> <SPAN class="image-wrap"
style=""><A class="confluence-thumbnail-link 1014x751"
href="/images/release_03.png"><IMG src="/images/release_03.png.jpeg"
style="border: 0px solid black"></A></SPAN> <SPAN class="image-wrap"
style=""><A class="confluence-thumbnail-link 1014x751"
href="/images/release_04.png"><IMG src="/images/release_04.png.jpeg"
style="border: 0px solid black"></A></SPAN> <SPAN class="image-wrap"
style=""><A class="confluence-thumbnail-link 1014x751"
href="/images/release_05.png"><IMG src="/images/release_05.png.jpeg"
style="border: 0px solid black"></A></SPAN> <SPAN class="image-wrap"
style=""><A class="confluence-thumbnail-link 1014x751"
href="/images/release_06.png"><IMG src="/images/release_06.png.jpeg"
style="border: 0px solid black"></A></SPAN></LI>
+ </UL>
+ </LI>
+ <LI>verify the staged artifacts
+ <UL>
+ <LI>if you click on your repository, a tree view will appear
below. You can then browse the contents to ensure the artifacts are as you
expect them. Pay particular attention to the existence of *.asc (signature)
files. If you don't like the content of the repository, right click your
repository and choose Drop. You can then rollback your release (see Canceling
the Release) and repeat the process</LI>
+ <LI>note the staging repository URL (especially the number at
the end of the URL) you will need this in your vote email</LI>
+ </UL>
+ </LI>
+</OL>
+
+
+# Starting the Vote
+
+Propose a vote on the dev list with the closed issues, the issues left, and
the staging repository - for example:
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+To: <SPAN class="code-quote">"ServiceMix Developers List"</SPAN>
<[email protected]>
+Subject: [VOTE] Release ServiceMix [Component] XXX version Y.Z
+
+Hi,
+
+We solved N issues in <SPAN class="code-keyword">this</SPAN> release:
+http:<SPAN class="code-comment">//issues.apache.org/jira/...
+</SPAN>
+There are still some outstanding issues:
+http:<SPAN class="code-comment">//issues.apache.org/jira/...
+</SPAN>
+Staging repository:
+https:<SPAN
class="code-comment">//repository.apache.org/content/repositories/servicemix-staging-[YOUR
REPOSITORY ID]/
+</SPAN>
+Please vote to approve <SPAN class="code-keyword">this</SPAN> release:
+
+[ ] +1 Approve the release
+[ ] -1 Veto the release (please provide specific comments)
+
+This vote will be open <SPAN class="code-keyword">for</SPAN> 72 hours.
+</PRE>
+</DIV></DIV>
+
+<UL>
+ <LI>to get the JIRA release notes link, browse to the ServiceMix <A
href="http://issues.apache.org/jira/browse/ServiceMix" class="external-link"
rel="nofollow">JIRA</A> page, select Release Notes and choose the relevant
sub-project release and format (HTML)</LI>
+ <LI>to get the list of issues left in JIRA, select the Open Issues tab
on the main ServiceMix page, and select the relevant sub-project.</LI>
+</UL>
+
+
+# Wait for the Results
+
+<P>From <A href="http://www.apache.org/foundation/voting.html"
class="external-link" rel="nofollow">Votes on Package Releases</A>:</P>
+
+<P> Votes on whether a package is ready to be released follow a format
similar to majority approval - except that the decision is officially
determined solely by whether at least three +1 votes were registered. Releases
may not be vetoed. Generally the community will table the vote to release if
anyone identifies serious problems, but in most cases the ultimate decision,
once three or more positive votes have been garnered, lies with the individual
serving as release manager. The specifics of the process may vary from project
to project, but the 'minimum of three +1 votes' rule is universal.</P>
+
+<P>The list of binding voters is available at <A
href="http://servicemix.apache.org/team.html" class="external-link"
rel="nofollow">http://servicemix.apache.org/team.html</A>.</P>
+
+<P>If the vote is successful, post the result to the dev list - for
example:</P>
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+To: <SPAN class="code-quote">"ServiceMix Developers List"</SPAN>
<[email protected]>
+Subject: [RESULT] [VOTE] Release ServiceMix [Component] XXX version Y.Z
+
+Hi,
+
+The vote has passed with the following result :
+
+ +1 (binding): <<list of names>>
+ +1 (non binding): <<list of names>>
+
+I will copy <SPAN class="code-keyword">this</SPAN> release to the ServiceMix
dist directory and
+promote the artifacts to the central Maven repository.
+</PRE>
+</DIV></DIV>
+
+<P>If the vote is unsuccessful, you need to fix the issues and restart the
process - see <B>Canceling the Release</B>.<BR>
+If the vote is successful, you need to promote and distribute the release -
see <B>Promoting the Release</B>.</P>
+
+# Canceling the Release
+
+<P>If the vote fails, or you decide to redo the release:</P>
+
+<OL>
+ <LI>remove the release tag from Subversion (svn del ...)</LI>
+ <LI>login to <A href="https://repository.apache.org/"
class="external-link" rel="nofollow">https://repository.apache.org</A> using
your Apache SVN credentials. Click on Staging on the left. Then click on
org.apache.servicemix in the list of repositories. In the panel below you
should see a closed repository that is linked to your username and IP (if it's
not yet closed you need to right click and select Close). Right click on this
repository and select Drop.</LI>
+ <LI>rollback the version in the pom.xml and commit any fixes you need
to make</LI>
+ <li>restart the vote</li>
+</OL>
+
+
+# Promoting the Release
+
+If the vote passes:
+
+1. Copy the released artifacts to the ServiceMix dist directory
(/x1/www/www.apache.org/dist/servicemix) on people.apache.org
+1. Delete the old release from the ServiceMix dist directory (it's archived)
+1. Login to [https://repository.apache.org](https://repository.apache.org/)
with your Apache SVN credentials.
+1. Click on Staging.
+1. Find your closed staging repository, right click on it and choose Promote.
+1. Select the Releases repository from the drop-down list and click Promote.
+1. Click on Repositories, select the Releases repository and validate that
your artifacts are all there.
+1. Update the news section on the website at news.
+1. Update the download page on the website at downloads to point to the new
release.
+
+<div class="tip">
+ <h1>Let the mirrors catch up</h1>
+ <P>For the last two tasks, it's better to give the mirrors some time to
distribute the uploaded artifacts (one day should be fine). This ensures that
once the website (news and download page) is updated, people can actually
download the artifacts.</P>
+</div>
+
+# Update XML schemas
+
+Update the [Xml schemas](xml-schemas.html) page with a link to the HTML and
XSD.
+
+
+
+# Update JIRA
+
+1. Go to **Admin** section on the ServiceMix JIRA and mark the
**Component/Y.Z** version as released.
+1. Create version Y.Z+1, if that hasn't already been done.
+
+# Announcing the ServiceMix Release
+
+<DIV class="code panel" style="border-width: 1px;"><DIV class="codeContent
panelContent">
+<PRE class="code-java">
+To: <SPAN class="code-quote">"ServiceMix Developers List"</SPAN>
<[email protected]>
+Subject: [ANN] ServiceMix XXX version Y.Z Released
+
+The ServiceMix team is pleased to announce the release of ServiceMix XXX
version Y.Z
+
+<<insert <SPAN class="code-object">short</SPAN> description of the
sub-project>>
+
+ http:<SPAN class="code-comment">//servicemix.apache.org/XXX.html
+</SPAN>
+This release is available from http:<SPAN
class="code-comment">//servicemix.apache.org/downloads and Maven:
+</SPAN>
+ <dependency>
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>org.apache.servicemix.XXX</artifactId>
+ <version>Y.Z</version>
+ </dependency>
+
+Release Notes:
+
+<<insert release notes in text format from JIRA>>
+
+Enjoy!
+
+-The ServiceMix team
+</PRE>
+</DIV></DIV>
+
+Remember to forward this announcement to [email protected] - try not
to cross-post (CC announcements to both user and dev lists.
\ No newline at end of file
Modified: servicemix/sandbox/website20/src/main/webapp/contrib/source.page
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/contrib/source.page?rev=1030742&r1=1030741&r2=1030742&view=diff
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/contrib/source.page (original)
+++ servicemix/sandbox/website20/src/main/webapp/contrib/source.page Wed Nov 3
22:39:40 2010
@@ -1,6 +1,56 @@
---
-<% attributes("title") = "Source" %>
+<% attributes("title") = "Getting the Source" %>
title: Source
--- name:content pipeline:markdown
-Get the source
\ No newline at end of file
+# Browsing the Source Tree
+
+## Browsing SVN Via the Web
+
+To browse the raw SVN repo, use the following URL:
[http://svn.apache.org/repos/asf/servicemix/](http://svn.apache.org/repos/asf/servicemix/)
+
+To browse the SVN repo using [ViewVC](http://www.viewvc.org/), use the
following URL:
[http://svn.apache.org/viewvc/servicemix/](http://svn.apache.org/viewvc/servicemix/)
+
+## Browsing SVN Via FishEye
+
+<img src="/images/Fisheye_logo.png" style="border: 0px solid black">
+
+A hearty thanks to [Atlassian](http://atlassian.com/) for providing
[FishEye](http://www.atlassian.com/software/fisheye/) hosting for ServiceMix.
Below is the URL to browse the Subversion repo via FishEye:
+[http://fisheye6.cenqua.com/browse/servicemix/](http://fisheye6.cenqua.com/browse/servicemix/)
+
+# Checking out the Source Tree
+
+## Anonymous Checkout from the ServiceMix SVN Repo
+
+This project's SVN repository can be checked out anonymously using the
following command:
+
+ svn co http://svn.apache.org/repos/asf/servicemix/
+
+## Committer Checkout from the ServiceMix SVN Repo
+
+ServiceMix committers can check out using the following command:
+
+ svn co https://svn.apache.org/repos/asf/servicemix/smx3/trunk
+
+<div class="warn">
+ <h1>Commiters Only</h1>
+ <p>Only project developers can commit to the SVN tree via this method. SSH
must be installed on your client machine. Enter your site password when
prompted.</p>
+</div>
+
+# Building the Source Code
+
+Once you have checked out the source code please read the [instructions on how
to build ServiceMix](building.html).
+
+# Working With the ServiceMix Extensions at the Codehaus
+
+Due to license issues, some extensions to ServiceMix are hosted at the
CodeHaus. To browse that SVN repo via the web, use the following URL:
+[http://svn.codehaus.org/servicemix/trunk/](http://svn.codehaus.org/servicemix/trunk/)
+
+This project's SVN repository can be checked out anonymously with the
following command:
+
+ svn co http://svn.codehaus.org/servicemix/trunk
+
+
+If you are a committer, use the following command:
+
+ svn co https://svn.codehaus.org/servicemix/trunk
\ No newline at end of file
Modified: servicemix/sandbox/website20/src/main/webapp/css/master.css
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/css/master.css?rev=1030742&r1=1030741&r2=1030742&view=diff
==============================================================================
--- servicemix/sandbox/website20/src/main/webapp/css/master.css (original)
+++ servicemix/sandbox/website20/src/main/webapp/css/master.css Wed Nov 3
22:39:40 2010
@@ -40,7 +40,8 @@ ul.siteNav {
padding:0;
margin:0;
position: relative;
- left:40%;
+ left:20%;
+ width: 80%;
}
ul.siteNav li {
@@ -216,6 +217,11 @@ div.note h1:before {
padding-right: 10px;
}
+div.warn h1:before {
+ content:url(/images/forbidden.gif);
+ padding-right: 10px;
+}
+
div.tip h1, div.warn h1, div.note h1 {
font-size: small;
padding-bottom: 5px;
Added: servicemix/sandbox/website20/src/main/webapp/images/Fisheye_logo.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/Fisheye_logo.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/Fisheye_logo.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/forbidden.gif
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/forbidden.gif?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/forbidden.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: servicemix/sandbox/website20/src/main/webapp/images/release_01.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_01.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_01.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_01.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_01.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_01.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: servicemix/sandbox/website20/src/main/webapp/images/release_02.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_02.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_02.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_02.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_02.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_02.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: servicemix/sandbox/website20/src/main/webapp/images/release_03.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_03.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_03.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_03.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_03.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_03.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: servicemix/sandbox/website20/src/main/webapp/images/release_04.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_04.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_04.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_04.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_04.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_04.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: servicemix/sandbox/website20/src/main/webapp/images/release_05.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_05.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_05.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_05.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_05.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_05.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: servicemix/sandbox/website20/src/main/webapp/images/release_06.png
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_06.png?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/sandbox/website20/src/main/webapp/images/release_06.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: servicemix/sandbox/website20/src/main/webapp/images/release_06.png.jpeg
URL:
http://svn.apache.org/viewvc/servicemix/sandbox/website20/src/main/webapp/images/release_06.png.jpeg?rev=1030742&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
servicemix/sandbox/website20/src/main/webapp/images/release_06.png.jpeg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream