You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-dev@incubator.apache.org by Stefan Bodewig <bo...@apache.org> on 2011/03/08 15:54:55 UTC

Third Party Jars

Hi,

while looking through the "check we may combine code we distribute with
ours" bulletpoint I looked into
<https://svn.apache.org/repos/asf/incubator/easyant/core/trunk/repository/third-party-lib/>
and there are a few that come with licenses incompatible with the Apache
Software License.  On such example would be checkstyle which comes under
the LGPL[1].

I'll immediately admit that I have no clue what of this directory is
required at build time only and what will end up being distributed as
part of EasyAnt.  Checkstyle as a "build time only" dependency would be
fine (but shouldn't be inside the svn tree IMHO) while we cannot
distribute code that depends on it or even distribute checkstyle itself.

Could anybody sort out the various "repository" directories for me
please?  I'm not concerned with stuff that we can legally distribute
like all the ASF stuff or the BSD licensed antlr or hsqldb.

Stefan

[1] http://www.apache.org/legal/resolved.html#category-x

Re: Third Party Jars

Posted by Stefan Bodewig <bo...@apache.org>.
On 2011-03-09, Jean-Louis Boudart wrote:

> I'll try to clarify some points.

Thank you.

> EasyAnt core it self depends on Apache Ant, Apache Ivy and antcontrib.

> Those dependencies came from repository/third-party-lib for conveniance.

> Then come the problem of plugins. As you should know easyant a plugin based
> architecture. A plugin is a reusable ant script answering a given need such
> as "compile-java" or "package-jar". Some plugins additionnal relies on
> existing ant tasks such as :

>    - Checkstyle

Such a plugin cannot be distributed as ASF software since it is in
Categoy X - apache-extras.org might be an option.

>    - Antunit
>    - compile-groovy (using groovy.jar)
>    - compile-scala (usign scala-compiler.jar)
>    - scm-svn (using svnant.jar)
>    - cobertura
>    - emma
>    - ogsi-bundle (using bnd.jar)
>    - jetty-deploy (using jetty.jar)

We'll need to review their licenses as well.

> Like i mentioned in an other thread, between 0.7 and 0.8 there was around 6
> month, this was mostly due to new additionnal  plugin (maven-publication for
> example). Those additionnal plugin should not "lock" the release. Having an
> online repository should allow us to make release of plugins independently
> of easyant core (except if a plugin needs to use a recent feature of
> easyant-core).

Having different release cycles for core and plugins seems to be a good
idea.

Thanks

        Stefan

Re: Third Party Jars

Posted by Jean-Louis Boudart <je...@gmail.com>.
Hi Stefan,

I'll try to clarify some points. EasyAnt core it self depends on Apache Ant,
Apache Ivy and antcontrib.

Those dependencies came from repository/third-party-lib for conveniance.

Then come the problem of plugins. As you should know easyant a plugin based
architecture. A plugin is a reusable ant script answering a given need such
as "compile-java" or "package-jar". Some plugins additionnal relies on
existing ant tasks such as :

   - Checkstyle
   - Antunit
   - compile-groovy (using groovy.jar)
   - compile-scala (usign scala-compiler.jar)
   - scm-svn (using svnant.jar)
   - cobertura
   - emma
   - ogsi-bundle (using bnd.jar)
   - jetty-deploy (using jetty.jar)

Plugin dependencies are needed at *runtime* in enduser's project.

Instead of fetching thoses dependencies from public maven repositories we
downloaded all required dependencies in repository/third-party-lib
directory.
Why ? In early stages of easyant we have a very limited plugins using third
party libs, so we choose to ship thoses dependencies in easyant
distribution.

Project has grown and we are reaching a maturity point, so it's probably
time to ask ourself how we will handle this in next releases. EasyAnt
distribution is becoming bigger and bigger due to those third party libs.

I'm not sure end users wants all plugins when they download easyant.

It's probably time to build an online repository for EasyAnt.

Standard plugins such as (compile-java package-jar etc) doesn't have
dependencies. We can ship those plugin in easyant distribution.  For other
plugins (those using third party lib), we can fetch them from a public
repository.

If we have an online repository then we can remove the third-party-lib
repository.
IMHO online repository should host ONLY easyant plugins and rely on maven
public repositories to solve plugin dependencies.

Like i mentioned in an other thread, between 0.7 and 0.8 there was around 6
month, this was mostly due to new additionnal  plugin (maven-publication for
example). Those additionnal plugin should not "lock" the release. Having an
online repository should allow us to make release of plugins independently
of easyant core (except if a plugin needs to use a recent feature of
easyant-core).

I can't remember which plugin use it but antlr is a transitive dependency of
a plugin.
hsqldb,junit, testng are used in our sample projects. They were copied there
for conveniance at the begining of the project but like for plugin
dependencies they should be fetched from public maven repositories.

Hope this helps

2011/3/8 Stefan Bodewig <bo...@apache.org>

> Hi,
>
> while looking through the "check we may combine code we distribute with
> ours" bulletpoint I looked into
> <
> https://svn.apache.org/repos/asf/incubator/easyant/core/trunk/repository/third-party-lib/
> >
> and there are a few that come with licenses incompatible with the Apache
> Software License.  On such example would be checkstyle which comes under
> the LGPL[1].
>
> I'll immediately admit that I have no clue what of this directory is
> required at build time only and what will end up being distributed as
> part of EasyAnt.  Checkstyle as a "build time only" dependency would be
> fine (but shouldn't be inside the svn tree IMHO) while we cannot
> distribute code that depends on it or even distribute checkstyle itself.
>
> Could anybody sort out the various "repository" directories for me
> please?  I'm not concerned with stuff that we can legally distribute
> like all the ASF stuff or the BSD licensed antlr or hsqldb.
>
> Stefan
>
> [1] http://www.apache.org/legal/resolved.html#category-x
>



-- 
Jean Louis Boudart
Independent consultant
Project Lead http://www.easyant.org