<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Copyright 2003-2004 The Apache Software Foundation

  Licensed 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.
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>

  <header>
    
    <title>Gump</title>
  <authors><person name="Sam Ruby" email="rubys@us.ibm.com"/></authors></header>

<body>

  <section><title>Recurring build problems</title>
    <p>These represent "known problems".  In some cases, they represent a
    temporary problem that will be synched up at the point of the next
    release, in other cases they may represent an abject failure to
    communicate.</p>

    <section><title>jakarta-taglibs</title>
      <p>At the moment, the taglibs builds require the presence of xalan1.
      Xalan1's last release was in August of 2000.  It has been removed
      from cvs, and even the backwards compatibility support has been removed 
      from Xalan2.  Xalan1 is not compatible with Xerces2.  While I would
      recommend letting go of the Xalan1 support, at a minimum, this
      dependency needs to be made optional during compilation.
      </p>
    </section>
  </section>

  <section><title>Other Issues</title>
    <p>These represent versioning issues that will not show up in any
    Gump run, but you may need to be aware.</p>

    <section><title>jakarta-turbine</title>
      <p>Based on inspection, I don't believe that turbine-2 and turbine-3 can
      coexist in a classpath.  The jakarta-jetspeed, jakarta-turbine-jyve, and
      jakarta-turbine-orgami projects depend on turbine-2.  The
      jakarta-turbine-flux project depends on turbine-3.</p>
    </section>

    <section><title>jakarta-velocity</title>
      <p>The combination of Texen, Ant 1.4 or later, and placing jars on your
      classpath can result in unexpected behavior.  This has been isolated
      to a standalone 
      <link href="http://marc.theaimsgroup.com/?l=ant-dev&amp;m=100264908721443&amp;w=2">test case</link> 
      and being investigated by the Ant development team.  Meanwhile, an 
      undocumented attribute, reverseloader, which when set to the value "true"
      on taskdefs which defines texen may help.</p>
    </section>
  </section>

  <section><title>Recent success stories</title>
    <p>This section describes cross project compatibility issues which were:
    </p>

    <ul>
      <li>detected by Gump</li>
      <li>the changes would likely have otherwise gone undetected until
      release</li>
      <li>involved changes to one or both products</li>
      <li>the changes were done prior to release.</li>
    </ul>

    <section><title>dbxml</title>
      <p>October 2001: The Xalan team is in the process of changing an 
      undocumented API that dbXML used.  The dbXML team determined that the
      reason that they were using that undocumented API no longer applies.
      This was corrected after the second beta of dbXML - meaning that the
      users of their next release will be able to upgrade smoothly to
      Xalan 2.2 once it is released.</p>
    </section>

    <section><title>jakarta-log4j</title>
      <p>September 2001: in order to more closely resemble the JSR 47 API,
      the Level class replaced the Priority class, and the Logger class
      replaced the Category class.  This was originally done in a manner which
      was thought to be backwards compatible, but there was subtle reasons why
      this was not the case.</p>
    </section>

    <section><title>jakarta-ant</title>
      <p>December 2001: a manifest task was added to Ant which collided with
      the manifest task contained within xml-fop.  What followed was the most
      impressive cooperation between projects I have ever witnessed.  The fop
      project removed their manifest task, and the Ant project changed their
      code so that the manifest task that fop previous had would have
      overridden the one provided with Ant.</p>
    </section>
  </section>

</body>
</document>
