ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Louis Boudart <jeanlouis.boud...@gmail.com>
Subject Re: Evaluating Bintray as a distribution platform for easyant plugins
Date Thu, 09 May 2013 15:33:52 GMT
Let's first define a few things.

We need to distribute many things :

   - easyant distribution itself (shipping ivy, ant and easyant-core.jar
   itself). As the entry point of easyant it remains "natural" to be
   distributed through dist.apache.org


   - additionnal task we may write in future. If we produce external ant
   task it make sense to distribute them through maven central to be reused
   outside of easyant context


   - plugins / buildtypes / skeletons are extension of easyant providing
   ready to use stuff.


Now let's focus on plugins/buildtypes and skeletons:
Existing *plugins* are plain xml build script (example of junit plugin [1])
. They only make sense in easyant context, and are not packaged as jars.
Some plugins may provide additionnal files (properties, xml, etc...). In a
near future we could imagine having plugins / buildtypes written with other
"languages" (ie. ant javafront, groovyfront, antdsl).

A *buildtype* is a superpset of plugins providing a lifecycle with a set of
ready to use plugins.

*Skeletons* are similar to maven archetypes (ie. templates of projects).

Plugins, buildtypes and skeletons have their own "release lifecycle". We
could for example release intermediary release of "junit plugin" without
recreating a new easyant distribution.
As easyant is based on ivy we have many options to publish / resolve.

To leverage standard plugins (the basic one to make java projects) we could
ship them in easyant distribution (this was done through a JarResolver [2]
in our first release :)).
If you download 0.9 artifacts should be retrieved stuff from
easyant-core.jar itself except if you use more recent plugins (or ones not
included in the distribution).

We may have in future plugins that couldn't be hosted as ASF as they may
have incompatible licenses. It's for example the case for chekstyle/sonar
plugins.
It would be easier if have *one entry point* for users. That's why we
created http://repository.easyant.org.

Then we could isolate apache plugins from external ones by having two
internal repositories :

   - http://repository.easyant.org/apache-easyant/


   - http://repository.easyant.org/community-easyant/

The same can be done on bintray with a better reliability.

I don't think maven central is a good host for easyant plugins. Publishing
with a m2compatible layout sounds limiting to me as it quickly force us to
play with "classifier" when we have many artifacts.
Note that maven central / repository.apache.org only distribute ".jar"
files. On both you MUST provide a pom.xml which doesn't make sense for us.

How i imagine things ?


   1. EasyAnt plugins / buildtypes / skeletons should be released on public
   repositories individually.
   2. Public repository will become "main references" to distribute/fetch
   internal stuff for easyant (plugins,buildtypes, skeletons).
   3. Single *entry point* for users even if we may have two internal
   repositories to distinguish apache artifacts from community ones
   4. Public repository may provide a simple way to browse/search existing
   stuff.
   5. When a new easyant distribution is created we should ship a set of
   plugins in the distribution itself by copying them from public repository
   (the reference :))

I would add two extra requirements for public repository :

   1. Plugins / buildtypes documentation should be accessible closed to
   artifacts (can be done through readmore files on bintray [3])
   2. It should provide download statistics


[1]
https://svn.apache.org/repos/asf/ant/easyant/plugins/trunk/junit/src/main/resources/junit.ant
[2] http://ant.apache.org/ivy/history/latest-milestone/resolver/jar.html
[3]
https://bintray.com/pkg/show/readmore/easyant/community-plugins/sonar-easyant-plugin




2013/5/6 Antoine Levy Lambert <antoine@gmx.de>

> No objections from me.
>
> Antoine
> On May 3, 2013, at 6:04 AM, Jean-Louis Boudart wrote:
>
> > No objections either if both Apache & non Apache plugins are on bintray
> ? :p
> >
> >
> > 2013/5/3 Jan Matèrne (jhm) <apache@materne.de>
> >
> >> Neither from me.
> >> My objections were for "ASF plugins" not for "outside ASF" ;)
> >>
> >> Jan
> >>
> >>> -----Ursprüngliche Nachricht-----
> >>> Von: Antoine Levy Lambert [mailto:antoine@gmx.de]
> >>> Gesendet: Freitag, 3. Mai 2013 10:06
> >>> An: Ant Developers List
> >>> Betreff: Re: Evaluating Bintray as a distribution platform for easyant
> >>> plugins
> >>>
> >>> Hello Jean-Louis,
> >>>
> >>> I was not aware of bintray, I have just looked at the web site.
> >>>
> >>> No objections from me.
> >>>
> >>> Regards,
> >>>
> >>>
> >>> Antoine
> >>> On May 3, 2013, at 2:14 AM, Jean-Louis Boudart wrote:
> >>>
> >>>> No objections? :p
> >>>> Le 29 avr. 2013 20:59, "Jean-Louis Boudart"
> >>>> <jeanlouis.boudart@gmail.com> a écrit :
> >>>>
> >>>>> Here is the original thread from easyant-dev ML during apache
> >>> incubation :
> >>>>> http://markmail.org/thread/uv2xkj63rkdh2thh
> >>>>> Le 29 avr. 2013 20:53, "Jean-Louis Boudart"
> >>>>> <jeanlouis.boudart@gmail.com> a écrit :
> >>>>>
> >>>>>>
> >>>>>>> I would prefer having the artifacts on ASF servers. A (Nexus
> >>> based)
> >>>>>>> repository is at https://repository.apache.org/ Ant + Ivy
are
> >>>>>>> available at
> >>>>>>> https://repository.apache.org/content/repositories/releases/
> >>>>>>
> >>>>>> I would also prefer this but will ASF authorize "non apache
> >>> project"
> >>>>>> (read plugins with incompatible licences for example) to publish
> >>>>>> there ? I don't think so.
> >>>>>> By the way you really got the idea, "have one connection point"
to
> >>>>>> ease understanding for the community. That's why we intially
setup
> >>> a
> >>>>>> online repository (repo.easyant.org) with two internal repository
:
> >>>>>> * one for apache plugins
> >>>>>> * one for "non apache" plugins (the one having potential issues
> >>> with
> >>>>>> licenses like sonar or checkstyle)
> >>>>>>
> >>>>>> I was suggesting to reproduce this on bintray.
> >>>>>>
> >>>>>> If this could be done @ASF i would definitively go in that
> >>> direction !
> >>>>>> But is this really possible ?
> >>>>>>
> >>>>>>>> As bintray and github supports "Markdown" syntax, i
made some
> >>>>>>>> experimentation on plugin documentation generation.
> >>>>>>>
> >>>>>>> Are you writing the markdown by hand or do you generate
that from
> >>>>>>> java source?
> >>>>>> Generated through easyant "plugin report" task (
> >>>>>> http://svn.apache.org/repos/asf/ant/easyant/plugins/trunk/easyant-
> >>> pl
> >>>>>> ugin-documentation/src/main/resources/easyant-report-mardown.xsl)
> >>>>>> with a custom xsl (
> >>>>>> http://svn.apache.org/repos/asf/ant/easyant/plugins/trunk/easyant-
> >>> pl
> >>>>>> ugin-documentation/src/main/resources/easyant-report-mardown.xsl
> >>>>>> )
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>> Result on github : https://github.com/easyant/sonar-easyant-
> >>> plugin
> >>>>>>>> Result on bintray :
> >>>>>>>>
> >>>>>> https://bintray.com/pkg/show/readmore/easyant/community-
> >>> plugins/sona
> >>>>>> r-
> >>>>>>>> easyant-plugin
> >>>>>>>
> >>>>>>> On BinTray the tables are broken.
> >>>>>>> No syntax highlighting on BT?
> >>>>>> I also reported this.
> >>>>>>
> >>>>>>> Git support is growing at ASF, e.g. Camel is on the migration
path
> >>>>>>> from
> >>>>>> svn
> >>>>>>> to git.
> >>>>>>> A "blocker" to their vote is
> >>>>>>> https://issues.apache.org/jira/browse/INFRA-6197
> >>>>>> Nice to know :). I was talking here for "non apache" plugins/
> >>>>>>
> >>>>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional
> >>> commands, e-mail: dev-help@ant.apache.org
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> >> For additional commands, e-mail: dev-help@ant.apache.org
> >>
> >>
> >
> >
> > --
> > Jean Louis Boudart
> > Independent consultant
> > Apache EasyAnt commiter http://ant.apache.org/easyant/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>


-- 
Jean Louis Boudart
Independent consultant
Apache EasyAnt commiter http://ant.apache.org/easyant/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message