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

> On 11 July 2012 22:26, Juan Pablo Santos Rodríguez
> <juanpablo.san...@gmail.com> 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 
>> <jukka.zitt...@gmail.com>wrote:
>> 
>>> Hi,
>>> 
>>> On Tue, Jul 10, 2012 at 11:03 PM, Juan Pablo Santos Rodríguez
>>> <juanpablo.san...@gmail.com> 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="http://repo1.maven.org"/>
    <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"
              
value="${repository.m2}/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
    <property name="main.commons-codec.jar" 
location="${main.lib}/commons-codec-1.5.jar"/>
    <property name="main.commons-codec.url"
              
value="${repository.m2}/maven2/commons-codec/commons-codec/1.5/commons-codec-1.5.jar"/>
    <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">
            <or>
                <and>
                    <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}"/>
                </and>
                <isset property="disconnected"/>
            </or>
        </condition>
    </target>

    <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>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.commons-codec.url}"/>
            <param name="destfile" value="${main.commons-codec.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.log4j.url}"/>
            <param name="destfile" value="${main.log4j.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.junit.url}"/>
            <param name="destfile" value="${main.junit.jar}"/>
        </antcall>
        <antcall target="downloadfile">
            <param name="sourcefile" value="${main.ant.url}"/>
            <param name="destfile" value="${main.ant.jar}"/>
        </antcall>
    </target>

HTH,
Dave


> 
>>> 
>>> BR,
>>> 
>>> Jukka Zitting
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
>>> For additional commands, e-mail: general-h...@incubator.apache.org
>>> 
>>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to