incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Fisher <>
Subject Re: JSPWiki status (Was: [Incubator Wiki] Update of "July2012" by JuanPabloSantos)
Date Thu, 12 Jul 2012 19:51:22 GMT

On Jul 12, 2012, at 10:38 AM, sebb wrote:

> On 11 July 2012 22:26, Juan Pablo Santos Rodríguez
> <> wrote:
>> Oh, my misunderstanding then. If that's the case, then there is one
>> technicality of the apache release process blocking the release
>> (distributing dependencies alongside source), although not a tough one.
>> I'll file a Jira and reflect it at the project incubation status page.
>> regards,
>> juan pablo
>> On Wed, Jul 11, 2012 at 1:31 PM, Jukka Zitting <>wrote:
>>> Hi,
>>> On Tue, Jul 10, 2012 at 11:03 PM, Juan Pablo Santos Rodríguez
>>> <> wrote:
>>>> Regarding the binary dependencies. Wasn't the discussion on general@more
>>>> focused on (or raised because of) transitive dependencies which were
>>>> brought into the build and not being AL-compatible?
>>> No, all the dependencies discussed were compliant with Apache
>>> policies. The problem was about having binaries included in the source
>>> archive.
>>>> Also, the build is Ant based, so we need them to be there in order to be
>>>> able to build.
> Not so; Apache JMeter and Tomcat both use Ant and have external
> dependencies which are not held in SVN.
>>> The proposed solution for this case was to put the dependencies in a
>>> separate -deps archive, that can be combined with the source release
>>> to make it buildable. The build script can also automatically download
>>> such separate binary dependencies.
> That's what JMeter and Tomcat do: there's a separate Ant task to do
> the downloads.
> But you could also use Ant+Ivy.

Apache POI uses ant as well. Here are selected parts of the build.xml:

    <!-- the repository to download jars from -->
    <property name="repository.m2" value=""/>
    <property name="main.lib" location="lib"/>

    <!-- jars in the /lib directory, see the fetch-jars target-->
    <property name="main.commons-logging.jar" location="${main.lib}/commons-logging-1.1.jar"/>
    <property name="main.commons-logging.url"
    <property name="main.commons-codec.jar" location="${main.lib}/commons-codec-1.5.jar"/>
    <property name="main.commons-codec.url"
    <property name="main.log4j.jar" location="${main.lib}/log4j-1.2.13.jar"/>
    <property name="main.log4j.url" value="${repository.m2}/maven2/log4j/log4j/1.2.13/log4j-1.2.13.jar"/>
    <property name="main.junit.jar" location="${main.lib}/junit-3.8.1.jar"/>
    <property name="main.junit.url" value="${repository.m2}/maven2/junit/junit/3.8.1/junit-3.8.1.jar"/>
    <property name="main.ant.jar" location="${main.lib}/ant-1.8.2.jar"/>
    <property name="main.ant.url" value="${repository.m2}/maven2/org/apache/ant/ant/1.8.2/ant-1.8.2.jar"/>

    <target name="check-jars">
        <condition property="jars.present">
                    <available file="${main.commons-logging.jar}"/>
                    <available file="${main.commons-codec.jar}"/>
                    <available file="${main.log4j.jar}"/>
                    <available file="${main.junit.jar}"/>
                    <available file="${main.ant.jar}"/>
                <isset property="disconnected"/>

    <target name="fetch-jars" depends="check-jars" unless="jars.present"
            description="Fetches needed JAR files from the Internet">
        <mkdir dir="${main.lib}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.commons-logging.url}"/>
            <param name="destfile" value="${main.commons-logging.jar}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.commons-codec.url}"/>
            <param name="destfile" value="${main.commons-codec.jar}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.log4j.url}"/>
            <param name="destfile" value="${main.log4j.jar}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.junit.url}"/>
            <param name="destfile" value="${main.junit.jar}"/>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.ant.url}"/>
            <param name="destfile" value="${main.ant.jar}"/>


>>> BR,
>>> Jukka Zitting
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message