You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by Jean-Baptiste Onofré <jb...@nanthrax.net> on 2016/03/15 02:04:14 UTC
Renaming process: first step Maven coordonates
Hi all,
I started the renaming process from Dataflow to Beam.
I submitted a first PR about the Maven coordinates:
https://github.com/apache/incubator-beam/pull/46
I will start the packages renaming (updating the same PR). For the
directories structure, I would like to talk with Frances, Dan, Tyler,
and Davor first.
Regards
JB
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Kenneth Knowles <kl...@google.com.INVALID>.
Many issues have been raised here and I cannot tell the direction
people are working now on the PR. So here is my current thinking,
which may be a +1 to some things or may be different.
1. Versions
- This seems odd: 0.1.0-incubating < 0.1.0-SNAPSHOT
It mostly shouldn't matter but seems better to have the release version
greater than snapshots, so plain "0.1.0".
- Snapshots version "${project.version}-SNAPSHOT-${shorthash}" is nice. It
loses the magic behavior of "SNAPSHOT" but adds cacheability and
traceability. I think the rare cases where there is a downside can be
easily avoided. I have not done this with maven before, but the maven
buildnumber plugin seems to be just for this purpose.
- There are some version standards which always require three versions.
Even though for 0.x versions a patch/incremental version is redundant,
and
I agreed to drop it on a PR thread, I have a read more carefully and
based
on this think we should just add a redundant 0 to make it 0.x.0
2. GroupId
- I favor one groupId "org.apache.beam". It is easier to read and use.
Maybe if we had hundreds of artifactIds it would be different.
3. ArtifactIds
- Examples: probably fundamentally for a particular language. I favor
including "java" in the name for example artifacts. For these the code is
what matters.
- Non-examples: maven central and the JVM are cross-language. Unless there
is a technical reason that other languages cannot work, I do not like
having "java" in the name. I do understand trying to leave space for a
more specialized Scala or Clojure SDK, but they can still name theirs
including "scala" or "clojure" without conflict. More likely they should
come up with a clever name for their DSL :-)
4. Parent poms
- As shallow and minimal as possible. They obfuscate configuration and can
introduce spurious coupling when they do too much. I am a bit lost as
to where we have them, and whether they are just driving mvn to build
independent codebases (which is fine with me) or they are really adding
coupling.
- Is it possible to avoid these ending up on Maven Central? It adds a lot
of cruft to browsing the repo.
Re: Renaming process: first step Maven coordonates
Posted by Maximilian Michels <mx...@apache.org>.
I would be in favor of one group id. For the developer, hierarchies
are really important. They are visible in the directory layout of the
Maven project and in the dependency tree. For the user, it shouldn't
matter how the project is structured. He pulls in artifacts simply
from the "org.apache.beam" group. I think it makes outside-interaction
easier when we have a fixed group id.
Cheers,
Max
On Mon, Mar 21, 2016 at 5:02 PM, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> Hi Lukasz,
>
> both are possible.
>
> Some projects use different groupId. It's the case for Karaf or Camel for
> instance:
>
> http://repo.maven.apache.org/maven2/org/apache/karaf/
>
> You can see there the different groupId, containing the different artifacts.
>
> On the other hand, other projects use an unique groupId and multiple
> artifactId. It's the case in Spark or Flink for instance.
>
> At first glance, I had a preference to groupId for "global" Beam kind of
> artifacts (like io, runner, etc). But, it would make sense to work more on
> the artifactId.
>
> Regards
> JB
>
>
> On 03/21/2016 04:50 PM, Lukasz Cwik wrote:
>>
>> I like the single groupId since it makes it simpler to find all related
>> components for a project.
>>
>> Is there a common practice in maven for multi-module vs inheritance
>> projects for choosing the groupId?
>>
>> On Mon, Mar 21, 2016 at 7:32 AM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>> wrote:
>>
>>> Hi beamers,
>>>
>>> I updated the PR according to your comments.
>>>
>>> I have couple of points I want to discuss:
>>>
>>> 1. All modules use the same groupId (org.apache.beam). In order to have a
>>> cleaner structure on the Maven repo, I wonder if it's not better to have
>>> different groupId depending of the artifacts. For instance,
>>> org.apache.beam.sdk, containing a module with java as artifactId (it will
>>> contain new artifacts with id python, scala, ...),
>>> org.apache.beam.runners
>>> containing modules with flink and spark as artifactId, etc. Thoughts ?
>>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>>> artifacts, including the runners. It doesn't mean that the runners will
>>> have to use the same version as parent (they can have their own release
>>> cycle). However, as we "bootstrap" the project, I used the same version
>>> in
>>> all modules.
>>>
>>> Now, I'm starting two new commits:
>>> - renaming of the packages
>>> - folders re-organization
>>>
>>> Thanks !
>>> Regards
>>> JB
>>>
>>>
>>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>>
>>>> Hi Davor,
>>>>
>>>> thank you so much for your comments. I'm updating the PR according to
>>>> your PR (and will provide explanation to some changes).
>>>>
>>>> Thanks dude !
>>>>
>>>> Regards
>>>> JB
>>>>
>>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>>
>>>>> I left a few comments on PR #46.
>>>>>
>>>>> Thanks JB for doing this; a clear improvement.
>>>>>
>>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>>>>> wrote:
>>>>>
>>>>> Hi all,
>>>>>>
>>>>>>
>>>>>> I started the renaming process from Dataflow to Beam.
>>>>>>
>>>>>> I submitted a first PR about the Maven coordinates:
>>>>>>
>>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>>
>>>>>> I will start the packages renaming (updating the same PR). For the
>>>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>>>>> and
>>>>>> Davor first.
>>>>>>
>>>>>> Regards
>>>>>> JB
>>>>>> --
>>>>>> Jean-Baptiste Onofré
>>>>>> jbonofre@apache.org
>>>>>> http://blog.nanthrax.net
>>>>>> Talend - http://www.talend.com
>>>>>>
>>>>>>
>>>>>
>>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Lukasz,
both are possible.
Some projects use different groupId. It's the case for Karaf or Camel
for instance:
http://repo.maven.apache.org/maven2/org/apache/karaf/
You can see there the different groupId, containing the different artifacts.
On the other hand, other projects use an unique groupId and multiple
artifactId. It's the case in Spark or Flink for instance.
At first glance, I had a preference to groupId for "global" Beam kind of
artifacts (like io, runner, etc). But, it would make sense to work more
on the artifactId.
Regards
JB
On 03/21/2016 04:50 PM, Lukasz Cwik wrote:
> I like the single groupId since it makes it simpler to find all related
> components for a project.
>
> Is there a common practice in maven for multi-module vs inheritance
> projects for choosing the groupId?
>
> On Mon, Mar 21, 2016 at 7:32 AM, Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
>> Hi beamers,
>>
>> I updated the PR according to your comments.
>>
>> I have couple of points I want to discuss:
>>
>> 1. All modules use the same groupId (org.apache.beam). In order to have a
>> cleaner structure on the Maven repo, I wonder if it's not better to have
>> different groupId depending of the artifacts. For instance,
>> org.apache.beam.sdk, containing a module with java as artifactId (it will
>> contain new artifacts with id python, scala, ...), org.apache.beam.runners
>> containing modules with flink and spark as artifactId, etc. Thoughts ?
>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>> artifacts, including the runners. It doesn't mean that the runners will
>> have to use the same version as parent (they can have their own release
>> cycle). However, as we "bootstrap" the project, I used the same version in
>> all modules.
>>
>> Now, I'm starting two new commits:
>> - renaming of the packages
>> - folders re-organization
>>
>> Thanks !
>> Regards
>> JB
>>
>>
>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>
>>> Hi Davor,
>>>
>>> thank you so much for your comments. I'm updating the PR according to
>>> your PR (and will provide explanation to some changes).
>>>
>>> Thanks dude !
>>>
>>> Regards
>>> JB
>>>
>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>
>>>> I left a few comments on PR #46.
>>>>
>>>> Thanks JB for doing this; a clear improvement.
>>>>
>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>>>> wrote:
>>>>
>>>> Hi all,
>>>>>
>>>>> I started the renaming process from Dataflow to Beam.
>>>>>
>>>>> I submitted a first PR about the Maven coordinates:
>>>>>
>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>
>>>>> I will start the packages renaming (updating the same PR). For the
>>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>>>> and
>>>>> Davor first.
>>>>>
>>>>> Regards
>>>>> JB
>>>>> --
>>>>> Jean-Baptiste Onofré
>>>>> jbonofre@apache.org
>>>>> http://blog.nanthrax.net
>>>>> Talend - http://www.talend.com
>>>>>
>>>>>
>>>>
>>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Lukasz Cwik <lc...@google.com.INVALID>.
I like the single groupId since it makes it simpler to find all related
components for a project.
Is there a common practice in maven for multi-module vs inheritance
projects for choosing the groupId?
On Mon, Mar 21, 2016 at 7:32 AM, Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi beamers,
>
> I updated the PR according to your comments.
>
> I have couple of points I want to discuss:
>
> 1. All modules use the same groupId (org.apache.beam). In order to have a
> cleaner structure on the Maven repo, I wonder if it's not better to have
> different groupId depending of the artifacts. For instance,
> org.apache.beam.sdk, containing a module with java as artifactId (it will
> contain new artifacts with id python, scala, ...), org.apache.beam.runners
> containing modules with flink and spark as artifactId, etc. Thoughts ?
> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
> artifacts, including the runners. It doesn't mean that the runners will
> have to use the same version as parent (they can have their own release
> cycle). However, as we "bootstrap" the project, I used the same version in
> all modules.
>
> Now, I'm starting two new commits:
> - renaming of the packages
> - folders re-organization
>
> Thanks !
> Regards
> JB
>
>
> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>
>> Hi Davor,
>>
>> thank you so much for your comments. I'm updating the PR according to
>> your PR (and will provide explanation to some changes).
>>
>> Thanks dude !
>>
>> Regards
>> JB
>>
>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>
>>> I left a few comments on PR #46.
>>>
>>> Thanks JB for doing this; a clear improvement.
>>>
>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>>> wrote:
>>>
>>> Hi all,
>>>>
>>>> I started the renaming process from Dataflow to Beam.
>>>>
>>>> I submitted a first PR about the Maven coordinates:
>>>>
>>>> https://github.com/apache/incubator-beam/pull/46
>>>>
>>>> I will start the packages renaming (updating the same PR). For the
>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>>> and
>>>> Davor first.
>>>>
>>>> Regards
>>>> JB
>>>> --
>>>> Jean-Baptiste Onofré
>>>> jbonofre@apache.org
>>>> http://blog.nanthrax.net
>>>> Talend - http://www.talend.com
>>>>
>>>>
>>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Renaming process: first step Maven coordonates
Posted by Robert Bradshaw <ro...@google.com.INVALID>.
On Mon, Mar 21, 2016 at 10:24 AM, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> Hi Ben,
>
> 1. True for Python, but it can go in a folder in sdk (sdk/python) anyway. I
> think the DSLs (Java based) and other languages that we might introduce
> (Scala, ...) can be the same.
Python would certainly want to be on PyPi. I don't think most other
(currently hypothetical) languages such as Go, Ruby, (node)js, R, ...
would be using Maven either.
The current directory structure is very java-centric, e.g.
- sdk
- pom.xml
- src
- main
- test
- runners
- pom.xml
- src
- main
- test
- examples
...
- java8examples
- contrib
- lib1
I'm wondering if it makes more sense to partition into languages at a
higher level (e.g. a top-level src) instead.
https://docs.google.com/document/d/1mTeZED33Famq25XedbKeDlGIJRvtzCXjSfwH9NKQYUE/edit#heading=h.oxy7eveq2260
Re: Renaming process: first step Maven coordonates
Posted by Davor Bonaci <da...@google.com.INVALID>.
Upon further discussion, I'd like to propose that we adopt JB's proposal
and use "-incubating-SNAPSHOT" style while we are an incubating project.
There are pros and cons on both sides. Based on the information so far, a
category of stakeholders who'll need to upgrade their Maven installation is
small. Even then, an upgrade is only needed for correct version resolution
when using ranges. Finally, all this becomes a non-issue once we graduate
from the Incubator.
I think JB's proposal offers reasonable trade-offs and I think we can rally
behind it.
On Mon, Mar 21, 2016 at 1:00 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi Ben,
>
> it works fine with Maven >= 3.2.x (current version is 3.3.9).
>
> Most of incubator projects use x.x.x-incubating-SNAPSHOT:
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-batchee.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-apex-core.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-atlas.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-falcon.git;a=blob_plain;f=pom.xml;hb=HEAD
>
> etc
>
> And we don't have any problem with Maven, even in OSGi related projects
> which are a bit "complex" in versioning (as '-' is not allowed).
>
> finalName is not a solution, as it's not part of the Maven coordonates.
>
> I don't see any valid argument to use a different versioning in Beam, and
> we will be compliant with release management recommendation (
> http://incubator.apache.org/guides/releasemanagement.html).
>
> IMHO, we should use 0.1.0-incubating-SNAPSHOT (the Maven Parser uses the
> final -SNAPSHOT, and take 0.1.0-incubating as base version).
>
> Regards
> JB
>
>
> On 03/21/2016 07:22 PM, Ben Chambers wrote:
>
>> I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a
>> snapshot.
>> It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
>>
>> For instance, looking at the code for parsing qualifiers, it only handles
>> the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
>>
>> http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
>>
>> Looking at this Stack Overflow answer (
>> http://stackoverflow.com/a/31482463/4539304) it looks like support was
>> improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
>> whether incubating would be considered by the code as a qualifier).
>>
>> Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
>> just to get reasonable version number treatment. It seems like sticking
>> with the standard "-SNAPSHOT" and "" for releases is preferable.
>>
>> If the goal is to get incubating into the file names, I think we can
>> configure the Maven build process to do so. For instance, finalName
>> defaults to
>> "<finalName>${project.artifactId}-${project.version}</finalName>". If we
>> changed that to
>>
>> "<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
>> it seems like we'd "incubating" in the file names without needing to
>> complicate the release numbering.
>>
>> On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
>> wrote:
>>
>> Hi Ben,
>>>
>>> 1. True for Python, but it can go in a folder in sdk (sdk/python)
>>> anyway. I think the DSLs (Java based) and other languages that we might
>>> introduce (Scala, ...) can be the same.
>>>
>>> 2. The incubating has to be in the released filenames. So it can be in
>>> the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
>>> for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
>>> the PR). Like this, the Maven standards are still valid.
>>>
>>> Regards
>>> JB
>>>
>>> On 03/21/2016 06:20 PM, Ben Chambers wrote:
>>>
>>>> 1. Regarding "java" as a module -- are we sure that other languages will
>>>>
>>> be
>>>
>>>> packaged using Maven as well? For instance, Python has its own ecosystem
>>>> which likely doesn't play well with Python.
>>>>
>>>> 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
>>>>
>>> Maven
>>>
>>>> -- it is newer than all other qualified releases, but older than any
>>>> unqualified release. It feels like we should take advantage of this,
>>>>
>>> which
>>>
>>>> makes our versioning more consistent with Maven standards. Specifically,
>>>> snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
>>>> 0.1.0-SNAPSHOT because that uses the standard definition of
>>>> SNAPSHOT
>>>> 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT
>>>> would
>>>>
>>> be
>>>
>>>> considered newer
>>>>
>>>> Davor's suggestion of putting the "incubating" in the name or
>>>> description
>>>> of the artifacts seems like a preferable option.
>>>>
>>>> On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
>>>> wrote:
>>>>
>>>> Hi beamers,
>>>>>
>>>>> I updated the PR according to your comments.
>>>>>
>>>>> I have couple of points I want to discuss:
>>>>>
>>>>> 1. All modules use the same groupId (org.apache.beam). In order to have
>>>>> a cleaner structure on the Maven repo, I wonder if it's not better to
>>>>> have different groupId depending of the artifacts. For instance,
>>>>> org.apache.beam.sdk, containing a module with java as artifactId (it
>>>>> will contain new artifacts with id python, scala, ...),
>>>>> org.apache.beam.runners containing modules with flink and spark as
>>>>> artifactId, etc. Thoughts ?
>>>>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>>>>> artifacts, including the runners. It doesn't mean that the runners will
>>>>> have to use the same version as parent (they can have their own release
>>>>> cycle). However, as we "bootstrap" the project, I used the same version
>>>>> in all modules.
>>>>>
>>>>> Now, I'm starting two new commits:
>>>>> - renaming of the packages
>>>>> - folders re-organization
>>>>>
>>>>> Thanks !
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>>>>
>>>>>> Hi Davor,
>>>>>>
>>>>>> thank you so much for your comments. I'm updating the PR according to
>>>>>> your PR (and will provide explanation to some changes).
>>>>>>
>>>>>> Thanks dude !
>>>>>>
>>>>>> Regards
>>>>>> JB
>>>>>>
>>>>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>>>>
>>>>>>> I left a few comments on PR #46.
>>>>>>>
>>>>>>> Thanks JB for doing this; a clear improvement.
>>>>>>>
>>>>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
>>>>>>>
>>>>>> jb@nanthrax.net>
>>>
>>>> wrote:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I started the renaming process from Dataflow to Beam.
>>>>>>>>
>>>>>>>> I submitted a first PR about the Maven coordinates:
>>>>>>>>
>>>>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>>>>
>>>>>>>> I will start the packages renaming (updating the same PR). For the
>>>>>>>> directories structure, I would like to talk with Frances, Dan,
>>>>>>>> Tyler,
>>>>>>>> and
>>>>>>>> Davor first.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> JB
>>>>>>>> --
>>>>>>>> Jean-Baptiste Onofré
>>>>>>>> jbonofre@apache.org
>>>>>>>> http://blog.nanthrax.net
>>>>>>>> Talend - http://www.talend.com
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>> --
>>>>> Jean-Baptiste Onofré
>>>>> jbonofre@apache.org
>>>>> http://blog.nanthrax.net
>>>>> Talend - http://www.talend.com
>>>>>
>>>>>
>>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Renaming process: first step Maven coordonates
Posted by Davor Bonaci <da...@google.com.INVALID>.
Indeed, the current directory structure is very Java-centric. We are in
process of fixing that.
We are thinking of going somewhere along the lines of:
sdks
java
py
examples
java
java8
py
runners
google-cloud-dataflow
flink
spark
In a way, we are thinking of having a very limited set of high-level
components (sdks, examples, runners), which are then branched per-language,
as appropriate.
The current top-level directories that should go elsewhere include
java8examples, javadoc, contrib, archetypes.
I think this will get us closer to having other languages as first-class
citizens.
On Tue, Mar 22, 2016 at 7:24 PM, Kenneth Knowles <kl...@google.com.invalid>
wrote:
> +1 JB.
>
> If it works for other incubating projects, then I'm happy to proceed.
>
> On Mon, Mar 21, 2016 at 1:00 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
> > Hi Ben,
> >
> > it works fine with Maven >= 3.2.x (current version is 3.3.9).
> >
> > Most of incubator projects use x.x.x-incubating-SNAPSHOT:
> >
> >
> >
> https://git1-us-west.apache.org/repos/asf?p=incubator-batchee.git;a=blob_plain;f=pom.xml;hb=HEAD
> >
> >
> >
> https://git1-us-west.apache.org/repos/asf?p=incubator-apex-core.git;a=blob_plain;f=pom.xml;hb=HEAD
> >
> >
> >
> https://git1-us-west.apache.org/repos/asf?p=incubator-atlas.git;a=blob_plain;f=pom.xml;hb=HEAD
> >
> >
> >
> https://git1-us-west.apache.org/repos/asf?p=incubator-falcon.git;a=blob_plain;f=pom.xml;hb=HEAD
> >
> > etc
> >
> > And we don't have any problem with Maven, even in OSGi related projects
> > which are a bit "complex" in versioning (as '-' is not allowed).
> >
> > finalName is not a solution, as it's not part of the Maven coordonates.
> >
> > I don't see any valid argument to use a different versioning in Beam, and
> > we will be compliant with release management recommendation (
> > http://incubator.apache.org/guides/releasemanagement.html).
> >
> > IMHO, we should use 0.1.0-incubating-SNAPSHOT (the Maven Parser uses the
> > final -SNAPSHOT, and take 0.1.0-incubating as base version).
> >
> > Regards
> > JB
> >
> >
> > On 03/21/2016 07:22 PM, Ben Chambers wrote:
> >
> >> I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a
> >> snapshot.
> >> It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
> >>
> >> For instance, looking at the code for parsing qualifiers, it only
> handles
> >> the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
> >>
> >>
> http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
> >>
> >> Looking at this Stack Overflow answer (
> >> http://stackoverflow.com/a/31482463/4539304) it looks like support was
> >> improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
> >> whether incubating would be considered by the code as a qualifier).
> >>
> >> Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
> >> just to get reasonable version number treatment. It seems like sticking
> >> with the standard "-SNAPSHOT" and "" for releases is preferable.
> >>
> >> If the goal is to get incubating into the file names, I think we can
> >> configure the Maven build process to do so. For instance, finalName
> >> defaults to
> >> "<finalName>${project.artifactId}-${project.version}</finalName>". If we
> >> changed that to
> >>
> >>
> "<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
> >> it seems like we'd "incubating" in the file names without needing to
> >> complicate the release numbering.
> >>
> >> On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> >> wrote:
> >>
> >> Hi Ben,
> >>>
> >>> 1. True for Python, but it can go in a folder in sdk (sdk/python)
> >>> anyway. I think the DSLs (Java based) and other languages that we might
> >>> introduce (Scala, ...) can be the same.
> >>>
> >>> 2. The incubating has to be in the released filenames. So it can be in
> >>> the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
> >>> for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
> >>> the PR). Like this, the Maven standards are still valid.
> >>>
> >>> Regards
> >>> JB
> >>>
> >>> On 03/21/2016 06:20 PM, Ben Chambers wrote:
> >>>
> >>>> 1. Regarding "java" as a module -- are we sure that other languages
> will
> >>>>
> >>> be
> >>>
> >>>> packaged using Maven as well? For instance, Python has its own
> ecosystem
> >>>> which likely doesn't play well with Python.
> >>>>
> >>>> 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
> >>>>
> >>> Maven
> >>>
> >>>> -- it is newer than all other qualified releases, but older than any
> >>>> unqualified release. It feels like we should take advantage of this,
> >>>>
> >>> which
> >>>
> >>>> makes our versioning more consistent with Maven standards.
> Specifically,
> >>>> snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
> >>>> 0.1.0-SNAPSHOT because that uses the standard definition of
> >>>> SNAPSHOT
> >>>> 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT
> >>>> would
> >>>>
> >>> be
> >>>
> >>>> considered newer
> >>>>
> >>>> Davor's suggestion of putting the "incubating" in the name or
> >>>> description
> >>>> of the artifacts seems like a preferable option.
> >>>>
> >>>> On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb@nanthrax.net
> >
> >>>> wrote:
> >>>>
> >>>> Hi beamers,
> >>>>>
> >>>>> I updated the PR according to your comments.
> >>>>>
> >>>>> I have couple of points I want to discuss:
> >>>>>
> >>>>> 1. All modules use the same groupId (org.apache.beam). In order to
> have
> >>>>> a cleaner structure on the Maven repo, I wonder if it's not better to
> >>>>> have different groupId depending of the artifacts. For instance,
> >>>>> org.apache.beam.sdk, containing a module with java as artifactId (it
> >>>>> will contain new artifacts with id python, scala, ...),
> >>>>> org.apache.beam.runners containing modules with flink and spark as
> >>>>> artifactId, etc. Thoughts ?
> >>>>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
> >>>>> artifacts, including the runners. It doesn't mean that the runners
> will
> >>>>> have to use the same version as parent (they can have their own
> release
> >>>>> cycle). However, as we "bootstrap" the project, I used the same
> version
> >>>>> in all modules.
> >>>>>
> >>>>> Now, I'm starting two new commits:
> >>>>> - renaming of the packages
> >>>>> - folders re-organization
> >>>>>
> >>>>> Thanks !
> >>>>> Regards
> >>>>> JB
> >>>>>
> >>>>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
> >>>>>
> >>>>>> Hi Davor,
> >>>>>>
> >>>>>> thank you so much for your comments. I'm updating the PR according
> to
> >>>>>> your PR (and will provide explanation to some changes).
> >>>>>>
> >>>>>> Thanks dude !
> >>>>>>
> >>>>>> Regards
> >>>>>> JB
> >>>>>>
> >>>>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
> >>>>>>
> >>>>>>> I left a few comments on PR #46.
> >>>>>>>
> >>>>>>> Thanks JB for doing this; a clear improvement.
> >>>>>>>
> >>>>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
> >>>>>>>
> >>>>>> jb@nanthrax.net>
> >>>
> >>>> wrote:
> >>>>>>>
> >>>>>>> Hi all,
> >>>>>>>>
> >>>>>>>> I started the renaming process from Dataflow to Beam.
> >>>>>>>>
> >>>>>>>> I submitted a first PR about the Maven coordinates:
> >>>>>>>>
> >>>>>>>> https://github.com/apache/incubator-beam/pull/46
> >>>>>>>>
> >>>>>>>> I will start the packages renaming (updating the same PR). For the
> >>>>>>>> directories structure, I would like to talk with Frances, Dan,
> >>>>>>>> Tyler,
> >>>>>>>> and
> >>>>>>>> Davor first.
> >>>>>>>>
> >>>>>>>> Regards
> >>>>>>>> JB
> >>>>>>>> --
> >>>>>>>> Jean-Baptiste Onofré
> >>>>>>>> jbonofre@apache.org
> >>>>>>>> http://blog.nanthrax.net
> >>>>>>>> Talend - http://www.talend.com
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>> --
> >>>>> Jean-Baptiste Onofré
> >>>>> jbonofre@apache.org
> >>>>> http://blog.nanthrax.net
> >>>>> Talend - http://www.talend.com
> >>>>>
> >>>>>
> >>>>
> >>> --
> >>> Jean-Baptiste Onofré
> >>> jbonofre@apache.org
> >>> http://blog.nanthrax.net
> >>> Talend - http://www.talend.com
> >>>
> >>>
> >>
> > --
> > Jean-Baptiste Onofré
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>
Re: Renaming process: first step Maven coordonates
Posted by Kenneth Knowles <kl...@google.com.INVALID>.
+1 JB.
If it works for other incubating projects, then I'm happy to proceed.
On Mon, Mar 21, 2016 at 1:00 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi Ben,
>
> it works fine with Maven >= 3.2.x (current version is 3.3.9).
>
> Most of incubator projects use x.x.x-incubating-SNAPSHOT:
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-batchee.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-apex-core.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-atlas.git;a=blob_plain;f=pom.xml;hb=HEAD
>
>
> https://git1-us-west.apache.org/repos/asf?p=incubator-falcon.git;a=blob_plain;f=pom.xml;hb=HEAD
>
> etc
>
> And we don't have any problem with Maven, even in OSGi related projects
> which are a bit "complex" in versioning (as '-' is not allowed).
>
> finalName is not a solution, as it's not part of the Maven coordonates.
>
> I don't see any valid argument to use a different versioning in Beam, and
> we will be compliant with release management recommendation (
> http://incubator.apache.org/guides/releasemanagement.html).
>
> IMHO, we should use 0.1.0-incubating-SNAPSHOT (the Maven Parser uses the
> final -SNAPSHOT, and take 0.1.0-incubating as base version).
>
> Regards
> JB
>
>
> On 03/21/2016 07:22 PM, Ben Chambers wrote:
>
>> I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a
>> snapshot.
>> It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
>>
>> For instance, looking at the code for parsing qualifiers, it only handles
>> the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
>>
>> http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
>>
>> Looking at this Stack Overflow answer (
>> http://stackoverflow.com/a/31482463/4539304) it looks like support was
>> improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
>> whether incubating would be considered by the code as a qualifier).
>>
>> Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
>> just to get reasonable version number treatment. It seems like sticking
>> with the standard "-SNAPSHOT" and "" for releases is preferable.
>>
>> If the goal is to get incubating into the file names, I think we can
>> configure the Maven build process to do so. For instance, finalName
>> defaults to
>> "<finalName>${project.artifactId}-${project.version}</finalName>". If we
>> changed that to
>>
>> "<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
>> it seems like we'd "incubating" in the file names without needing to
>> complicate the release numbering.
>>
>> On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
>> wrote:
>>
>> Hi Ben,
>>>
>>> 1. True for Python, but it can go in a folder in sdk (sdk/python)
>>> anyway. I think the DSLs (Java based) and other languages that we might
>>> introduce (Scala, ...) can be the same.
>>>
>>> 2. The incubating has to be in the released filenames. So it can be in
>>> the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
>>> for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
>>> the PR). Like this, the Maven standards are still valid.
>>>
>>> Regards
>>> JB
>>>
>>> On 03/21/2016 06:20 PM, Ben Chambers wrote:
>>>
>>>> 1. Regarding "java" as a module -- are we sure that other languages will
>>>>
>>> be
>>>
>>>> packaged using Maven as well? For instance, Python has its own ecosystem
>>>> which likely doesn't play well with Python.
>>>>
>>>> 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
>>>>
>>> Maven
>>>
>>>> -- it is newer than all other qualified releases, but older than any
>>>> unqualified release. It feels like we should take advantage of this,
>>>>
>>> which
>>>
>>>> makes our versioning more consistent with Maven standards. Specifically,
>>>> snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
>>>> 0.1.0-SNAPSHOT because that uses the standard definition of
>>>> SNAPSHOT
>>>> 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT
>>>> would
>>>>
>>> be
>>>
>>>> considered newer
>>>>
>>>> Davor's suggestion of putting the "incubating" in the name or
>>>> description
>>>> of the artifacts seems like a preferable option.
>>>>
>>>> On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
>>>> wrote:
>>>>
>>>> Hi beamers,
>>>>>
>>>>> I updated the PR according to your comments.
>>>>>
>>>>> I have couple of points I want to discuss:
>>>>>
>>>>> 1. All modules use the same groupId (org.apache.beam). In order to have
>>>>> a cleaner structure on the Maven repo, I wonder if it's not better to
>>>>> have different groupId depending of the artifacts. For instance,
>>>>> org.apache.beam.sdk, containing a module with java as artifactId (it
>>>>> will contain new artifacts with id python, scala, ...),
>>>>> org.apache.beam.runners containing modules with flink and spark as
>>>>> artifactId, etc. Thoughts ?
>>>>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>>>>> artifacts, including the runners. It doesn't mean that the runners will
>>>>> have to use the same version as parent (they can have their own release
>>>>> cycle). However, as we "bootstrap" the project, I used the same version
>>>>> in all modules.
>>>>>
>>>>> Now, I'm starting two new commits:
>>>>> - renaming of the packages
>>>>> - folders re-organization
>>>>>
>>>>> Thanks !
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>>>>
>>>>>> Hi Davor,
>>>>>>
>>>>>> thank you so much for your comments. I'm updating the PR according to
>>>>>> your PR (and will provide explanation to some changes).
>>>>>>
>>>>>> Thanks dude !
>>>>>>
>>>>>> Regards
>>>>>> JB
>>>>>>
>>>>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>>>>
>>>>>>> I left a few comments on PR #46.
>>>>>>>
>>>>>>> Thanks JB for doing this; a clear improvement.
>>>>>>>
>>>>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
>>>>>>>
>>>>>> jb@nanthrax.net>
>>>
>>>> wrote:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I started the renaming process from Dataflow to Beam.
>>>>>>>>
>>>>>>>> I submitted a first PR about the Maven coordinates:
>>>>>>>>
>>>>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>>>>
>>>>>>>> I will start the packages renaming (updating the same PR). For the
>>>>>>>> directories structure, I would like to talk with Frances, Dan,
>>>>>>>> Tyler,
>>>>>>>> and
>>>>>>>> Davor first.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> JB
>>>>>>>> --
>>>>>>>> Jean-Baptiste Onofré
>>>>>>>> jbonofre@apache.org
>>>>>>>> http://blog.nanthrax.net
>>>>>>>> Talend - http://www.talend.com
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>> --
>>>>> Jean-Baptiste Onofré
>>>>> jbonofre@apache.org
>>>>> http://blog.nanthrax.net
>>>>> Talend - http://www.talend.com
>>>>>
>>>>>
>>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Renaming process: first step Maven coordonates
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Ben,
it works fine with Maven >= 3.2.x (current version is 3.3.9).
Most of incubator projects use x.x.x-incubating-SNAPSHOT:
https://git1-us-west.apache.org/repos/asf?p=incubator-batchee.git;a=blob_plain;f=pom.xml;hb=HEAD
https://git1-us-west.apache.org/repos/asf?p=incubator-apex-core.git;a=blob_plain;f=pom.xml;hb=HEAD
https://git1-us-west.apache.org/repos/asf?p=incubator-atlas.git;a=blob_plain;f=pom.xml;hb=HEAD
https://git1-us-west.apache.org/repos/asf?p=incubator-falcon.git;a=blob_plain;f=pom.xml;hb=HEAD
etc
And we don't have any problem with Maven, even in OSGi related projects
which are a bit "complex" in versioning (as '-' is not allowed).
finalName is not a solution, as it's not part of the Maven coordonates.
I don't see any valid argument to use a different versioning in Beam,
and we will be compliant with release management recommendation
(http://incubator.apache.org/guides/releasemanagement.html).
IMHO, we should use 0.1.0-incubating-SNAPSHOT (the Maven Parser uses the
final -SNAPSHOT, and take 0.1.0-incubating as base version).
Regards
JB
On 03/21/2016 07:22 PM, Ben Chambers wrote:
> I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a snapshot.
> It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
>
> For instance, looking at the code for parsing qualifiers, it only handles
> the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
> http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
>
> Looking at this Stack Overflow answer (
> http://stackoverflow.com/a/31482463/4539304) it looks like support was
> improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
> whether incubating would be considered by the code as a qualifier).
>
> Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
> just to get reasonable version number treatment. It seems like sticking
> with the standard "-SNAPSHOT" and "" for releases is preferable.
>
> If the goal is to get incubating into the file names, I think we can
> configure the Maven build process to do so. For instance, finalName
> defaults to
> "<finalName>${project.artifactId}-${project.version}</finalName>". If we
> changed that to
> "<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
> it seems like we'd "incubating" in the file names without needing to
> complicate the release numbering.
>
> On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
>> Hi Ben,
>>
>> 1. True for Python, but it can go in a folder in sdk (sdk/python)
>> anyway. I think the DSLs (Java based) and other languages that we might
>> introduce (Scala, ...) can be the same.
>>
>> 2. The incubating has to be in the released filenames. So it can be in
>> the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
>> for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
>> the PR). Like this, the Maven standards are still valid.
>>
>> Regards
>> JB
>>
>> On 03/21/2016 06:20 PM, Ben Chambers wrote:
>>> 1. Regarding "java" as a module -- are we sure that other languages will
>> be
>>> packaged using Maven as well? For instance, Python has its own ecosystem
>>> which likely doesn't play well with Python.
>>>
>>> 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
>> Maven
>>> -- it is newer than all other qualified releases, but older than any
>>> unqualified release. It feels like we should take advantage of this,
>> which
>>> makes our versioning more consistent with Maven standards. Specifically,
>>> snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
>>> 0.1.0-SNAPSHOT because that uses the standard definition of SNAPSHOT
>>> 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT would
>> be
>>> considered newer
>>>
>>> Davor's suggestion of putting the "incubating" in the name or description
>>> of the artifacts seems like a preferable option.
>>>
>>> On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
>>> wrote:
>>>
>>>> Hi beamers,
>>>>
>>>> I updated the PR according to your comments.
>>>>
>>>> I have couple of points I want to discuss:
>>>>
>>>> 1. All modules use the same groupId (org.apache.beam). In order to have
>>>> a cleaner structure on the Maven repo, I wonder if it's not better to
>>>> have different groupId depending of the artifacts. For instance,
>>>> org.apache.beam.sdk, containing a module with java as artifactId (it
>>>> will contain new artifacts with id python, scala, ...),
>>>> org.apache.beam.runners containing modules with flink and spark as
>>>> artifactId, etc. Thoughts ?
>>>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>>>> artifacts, including the runners. It doesn't mean that the runners will
>>>> have to use the same version as parent (they can have their own release
>>>> cycle). However, as we "bootstrap" the project, I used the same version
>>>> in all modules.
>>>>
>>>> Now, I'm starting two new commits:
>>>> - renaming of the packages
>>>> - folders re-organization
>>>>
>>>> Thanks !
>>>> Regards
>>>> JB
>>>>
>>>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>>>> Hi Davor,
>>>>>
>>>>> thank you so much for your comments. I'm updating the PR according to
>>>>> your PR (and will provide explanation to some changes).
>>>>>
>>>>> Thanks dude !
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>>>> I left a few comments on PR #46.
>>>>>>
>>>>>> Thanks JB for doing this; a clear improvement.
>>>>>>
>>>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
>> jb@nanthrax.net>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> I started the renaming process from Dataflow to Beam.
>>>>>>>
>>>>>>> I submitted a first PR about the Maven coordinates:
>>>>>>>
>>>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>>>
>>>>>>> I will start the packages renaming (updating the same PR). For the
>>>>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>>>>>> and
>>>>>>> Davor first.
>>>>>>>
>>>>>>> Regards
>>>>>>> JB
>>>>>>> --
>>>>>>> Jean-Baptiste Onofré
>>>>>>> jbonofre@apache.org
>>>>>>> http://blog.nanthrax.net
>>>>>>> Talend - http://www.talend.com
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Jean-Baptiste Onofré
>>>> jbonofre@apache.org
>>>> http://blog.nanthrax.net
>>>> Talend - http://www.talend.com
>>>>
>>>
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Andreas Veithen <an...@gmail.com>.
On Mon, Mar 21, 2016 at 6:22 PM, Ben Chambers <bc...@google.com.invalid>
wrote:
> I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a snapshot.
> It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
>
> For instance, looking at the code for parsing qualifiers, it only handles
> the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
>
> http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
>
> Looking at this Stack Overflow answer (
> http://stackoverflow.com/a/31482463/4539304) it looks like support was
> improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
> whether incubating would be considered by the code as a qualifier).
>
> Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
> just to get reasonable version number treatment. It seems like sticking
> with the standard "-SNAPSHOT" and "" for releases is preferable.
>
> If the goal is to get incubating into the file names, I think we can
> configure the Maven build process to do so. For instance, finalName
> defaults to
> "<finalName>${project.artifactId}-${project.version}</finalName>". If we
> changed that to
>
> "<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
> it seems like we'd "incubating" in the file names without needing to
> complicate the release numbering.
>
finalName only specifies the file name that the artifact will have locally
in the target directory. It doesn't change the name it will have in the
Maven repository, i.e. that property will be basically invisible to the end
user.
> On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
> > Hi Ben,
> >
> > 1. True for Python, but it can go in a folder in sdk (sdk/python)
> > anyway. I think the DSLs (Java based) and other languages that we might
> > introduce (Scala, ...) can be the same.
> >
> > 2. The incubating has to be in the released filenames. So it can be in
> > the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
> > for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
> > the PR). Like this, the Maven standards are still valid.
> >
> > Regards
> > JB
> >
> > On 03/21/2016 06:20 PM, Ben Chambers wrote:
> > > 1. Regarding "java" as a module -- are we sure that other languages
> will
> > be
> > > packaged using Maven as well? For instance, Python has its own
> ecosystem
> > > which likely doesn't play well with Python.
> > >
> > > 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
> > Maven
> > > -- it is newer than all other qualified releases, but older than any
> > > unqualified release. It feels like we should take advantage of this,
> > which
> > > makes our versioning more consistent with Maven standards.
> Specifically,
> > > snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
> > > 0.1.0-SNAPSHOT because that uses the standard definition of
> SNAPSHOT
> > > 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT
> would
> > be
> > > considered newer
> > >
> > > Davor's suggestion of putting the "incubating" in the name or
> description
> > > of the artifacts seems like a preferable option.
> > >
> > > On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> > > wrote:
> > >
> > >> Hi beamers,
> > >>
> > >> I updated the PR according to your comments.
> > >>
> > >> I have couple of points I want to discuss:
> > >>
> > >> 1. All modules use the same groupId (org.apache.beam). In order to
> have
> > >> a cleaner structure on the Maven repo, I wonder if it's not better to
> > >> have different groupId depending of the artifacts. For instance,
> > >> org.apache.beam.sdk, containing a module with java as artifactId (it
> > >> will contain new artifacts with id python, scala, ...),
> > >> org.apache.beam.runners containing modules with flink and spark as
> > >> artifactId, etc. Thoughts ?
> > >> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
> > >> artifacts, including the runners. It doesn't mean that the runners
> will
> > >> have to use the same version as parent (they can have their own
> release
> > >> cycle). However, as we "bootstrap" the project, I used the same
> version
> > >> in all modules.
> > >>
> > >> Now, I'm starting two new commits:
> > >> - renaming of the packages
> > >> - folders re-organization
> > >>
> > >> Thanks !
> > >> Regards
> > >> JB
> > >>
> > >> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
> > >>> Hi Davor,
> > >>>
> > >>> thank you so much for your comments. I'm updating the PR according to
> > >>> your PR (and will provide explanation to some changes).
> > >>>
> > >>> Thanks dude !
> > >>>
> > >>> Regards
> > >>> JB
> > >>>
> > >>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
> > >>>> I left a few comments on PR #46.
> > >>>>
> > >>>> Thanks JB for doing this; a clear improvement.
> > >>>>
> > >>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
> > jb@nanthrax.net>
> > >>>> wrote:
> > >>>>
> > >>>>> Hi all,
> > >>>>>
> > >>>>> I started the renaming process from Dataflow to Beam.
> > >>>>>
> > >>>>> I submitted a first PR about the Maven coordinates:
> > >>>>>
> > >>>>> https://github.com/apache/incubator-beam/pull/46
> > >>>>>
> > >>>>> I will start the packages renaming (updating the same PR). For the
> > >>>>> directories structure, I would like to talk with Frances, Dan,
> Tyler,
> > >>>>> and
> > >>>>> Davor first.
> > >>>>>
> > >>>>> Regards
> > >>>>> JB
> > >>>>> --
> > >>>>> Jean-Baptiste Onofré
> > >>>>> jbonofre@apache.org
> > >>>>> http://blog.nanthrax.net
> > >>>>> Talend - http://www.talend.com
> > >>>>>
> > >>>>
> > >>>
> > >>
> > >> --
> > >> Jean-Baptiste Onofré
> > >> jbonofre@apache.org
> > >> http://blog.nanthrax.net
> > >> Talend - http://www.talend.com
> > >>
> > >
> >
> > --
> > Jean-Baptiste Onofré
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>
Re: Renaming process: first step Maven coordonates
Posted by Ben Chambers <bc...@google.com.INVALID>.
I don't think Maven will recognize 0.1.0-incubating-SNAPSHOT as a snapshot.
It will recognize it as 0.1.0 with the "incubating-SNAPSHOT" qualifier.
For instance, looking at the code for parsing qualifiers, it only handles
the string "SNAPSHOT" specially, not "incubating-SNAPSHOT".
http://maven.apache.org/ref/3.0.4/maven-artifact/xref/org/apache/maven/artifact/versioning/ComparableVersion.html#52
Looking at this Stack Overflow answer (
http://stackoverflow.com/a/31482463/4539304) it looks like support was
improved in Maven 3.2.4 to allow multiple qualifiers (its still unclear
whether incubating would be considered by the code as a qualifier).
Either way, we shouldn't expect users to upgrade to Maven 3.2.4 or newer
just to get reasonable version number treatment. It seems like sticking
with the standard "-SNAPSHOT" and "" for releases is preferable.
If the goal is to get incubating into the file names, I think we can
configure the Maven build process to do so. For instance, finalName
defaults to
"<finalName>${project.artifactId}-${project.version}</finalName>". If we
changed that to
"<finalName>${project.artifactId}-incubating-${project.version}</finalName>"
it seems like we'd "incubating" in the file names without needing to
complicate the release numbering.
On Mon, Mar 21, 2016 at 10:24 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi Ben,
>
> 1. True for Python, but it can go in a folder in sdk (sdk/python)
> anyway. I think the DSLs (Java based) and other languages that we might
> introduce (Scala, ...) can be the same.
>
> 2. The incubating has to be in the released filenames. So it can be in
> the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
> for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
> the PR). Like this, the Maven standards are still valid.
>
> Regards
> JB
>
> On 03/21/2016 06:20 PM, Ben Chambers wrote:
> > 1. Regarding "java" as a module -- are we sure that other languages will
> be
> > packaged using Maven as well? For instance, Python has its own ecosystem
> > which likely doesn't play well with Python.
> >
> > 2. Using the literal "SNAPSHOT" as the qualifier has special meaning
> Maven
> > -- it is newer than all other qualified releases, but older than any
> > unqualified release. It feels like we should take advantage of this,
> which
> > makes our versioning more consistent with Maven standards. Specifically,
> > snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
> > 0.1.0-SNAPSHOT because that uses the standard definition of SNAPSHOT
> > 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT would
> be
> > considered newer
> >
> > Davor's suggestion of putting the "incubating" in the name or description
> > of the artifacts seems like a preferable option.
> >
> > On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> > wrote:
> >
> >> Hi beamers,
> >>
> >> I updated the PR according to your comments.
> >>
> >> I have couple of points I want to discuss:
> >>
> >> 1. All modules use the same groupId (org.apache.beam). In order to have
> >> a cleaner structure on the Maven repo, I wonder if it's not better to
> >> have different groupId depending of the artifacts. For instance,
> >> org.apache.beam.sdk, containing a module with java as artifactId (it
> >> will contain new artifacts with id python, scala, ...),
> >> org.apache.beam.runners containing modules with flink and spark as
> >> artifactId, etc. Thoughts ?
> >> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
> >> artifacts, including the runners. It doesn't mean that the runners will
> >> have to use the same version as parent (they can have their own release
> >> cycle). However, as we "bootstrap" the project, I used the same version
> >> in all modules.
> >>
> >> Now, I'm starting two new commits:
> >> - renaming of the packages
> >> - folders re-organization
> >>
> >> Thanks !
> >> Regards
> >> JB
> >>
> >> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
> >>> Hi Davor,
> >>>
> >>> thank you so much for your comments. I'm updating the PR according to
> >>> your PR (and will provide explanation to some changes).
> >>>
> >>> Thanks dude !
> >>>
> >>> Regards
> >>> JB
> >>>
> >>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
> >>>> I left a few comments on PR #46.
> >>>>
> >>>> Thanks JB for doing this; a clear improvement.
> >>>>
> >>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <
> jb@nanthrax.net>
> >>>> wrote:
> >>>>
> >>>>> Hi all,
> >>>>>
> >>>>> I started the renaming process from Dataflow to Beam.
> >>>>>
> >>>>> I submitted a first PR about the Maven coordinates:
> >>>>>
> >>>>> https://github.com/apache/incubator-beam/pull/46
> >>>>>
> >>>>> I will start the packages renaming (updating the same PR). For the
> >>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
> >>>>> and
> >>>>> Davor first.
> >>>>>
> >>>>> Regards
> >>>>> JB
> >>>>> --
> >>>>> Jean-Baptiste Onofré
> >>>>> jbonofre@apache.org
> >>>>> http://blog.nanthrax.net
> >>>>> Talend - http://www.talend.com
> >>>>>
> >>>>
> >>>
> >>
> >> --
> >> Jean-Baptiste Onofré
> >> jbonofre@apache.org
> >> http://blog.nanthrax.net
> >> Talend - http://www.talend.com
> >>
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Renaming process: first step Maven coordonates
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Ben,
1. True for Python, but it can go in a folder in sdk (sdk/python)
anyway. I think the DSLs (Java based) and other languages that we might
introduce (Scala, ...) can be the same.
2. The incubating has to be in the released filenames. So it can be in
the version or name. Anyway, my proposal was 0.1.0-incubating-SNAPSHOT
for a SNAPSHOT and 0.1.0-incubating for a release (it's what I did in
the PR). Like this, the Maven standards are still valid.
Regards
JB
On 03/21/2016 06:20 PM, Ben Chambers wrote:
> 1. Regarding "java" as a module -- are we sure that other languages will be
> packaged using Maven as well? For instance, Python has its own ecosystem
> which likely doesn't play well with Python.
>
> 2. Using the literal "SNAPSHOT" as the qualifier has special meaning Maven
> -- it is newer than all other qualified releases, but older than any
> unqualified release. It feels like we should take advantage of this, which
> makes our versioning more consistent with Maven standards. Specifically,
> snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
> 0.1.0-SNAPSHOT because that uses the standard definition of SNAPSHOT
> 0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT would be
> considered newer
>
> Davor's suggestion of putting the "incubating" in the name or description
> of the artifacts seems like a preferable option.
>
> On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
>> Hi beamers,
>>
>> I updated the PR according to your comments.
>>
>> I have couple of points I want to discuss:
>>
>> 1. All modules use the same groupId (org.apache.beam). In order to have
>> a cleaner structure on the Maven repo, I wonder if it's not better to
>> have different groupId depending of the artifacts. For instance,
>> org.apache.beam.sdk, containing a module with java as artifactId (it
>> will contain new artifacts with id python, scala, ...),
>> org.apache.beam.runners containing modules with flink and spark as
>> artifactId, etc. Thoughts ?
>> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
>> artifacts, including the runners. It doesn't mean that the runners will
>> have to use the same version as parent (they can have their own release
>> cycle). However, as we "bootstrap" the project, I used the same version
>> in all modules.
>>
>> Now, I'm starting two new commits:
>> - renaming of the packages
>> - folders re-organization
>>
>> Thanks !
>> Regards
>> JB
>>
>> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
>>> Hi Davor,
>>>
>>> thank you so much for your comments. I'm updating the PR according to
>>> your PR (and will provide explanation to some changes).
>>>
>>> Thanks dude !
>>>
>>> Regards
>>> JB
>>>
>>> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>>>> I left a few comments on PR #46.
>>>>
>>>> Thanks JB for doing this; a clear improvement.
>>>>
>>>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I started the renaming process from Dataflow to Beam.
>>>>>
>>>>> I submitted a first PR about the Maven coordinates:
>>>>>
>>>>> https://github.com/apache/incubator-beam/pull/46
>>>>>
>>>>> I will start the packages renaming (updating the same PR). For the
>>>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>>>> and
>>>>> Davor first.
>>>>>
>>>>> Regards
>>>>> JB
>>>>> --
>>>>> Jean-Baptiste Onofré
>>>>> jbonofre@apache.org
>>>>> http://blog.nanthrax.net
>>>>> Talend - http://www.talend.com
>>>>>
>>>>
>>>
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Ben Chambers <bc...@google.com.INVALID>.
1. Regarding "java" as a module -- are we sure that other languages will be
packaged using Maven as well? For instance, Python has its own ecosystem
which likely doesn't play well with Python.
2. Using the literal "SNAPSHOT" as the qualifier has special meaning Maven
-- it is newer than all other qualified releases, but older than any
unqualified release. It feels like we should take advantage of this, which
makes our versioning more consistent with Maven standards. Specifically,
snapshots should be 0.1.0-SNAPSHOT and releases should be 0.1.0.
0.1.0-SNAPSHOT because that uses the standard definition of SNAPSHOT
0.1.0 because if we had any qualifier than the 0.1.0-SNAPSHOT would be
considered newer
Davor's suggestion of putting the "incubating" in the name or description
of the artifacts seems like a preferable option.
On Mon, Mar 21, 2016 at 7:33 AM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi beamers,
>
> I updated the PR according to your comments.
>
> I have couple of points I want to discuss:
>
> 1. All modules use the same groupId (org.apache.beam). In order to have
> a cleaner structure on the Maven repo, I wonder if it's not better to
> have different groupId depending of the artifacts. For instance,
> org.apache.beam.sdk, containing a module with java as artifactId (it
> will contain new artifacts with id python, scala, ...),
> org.apache.beam.runners containing modules with flink and spark as
> artifactId, etc. Thoughts ?
> 2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
> artifacts, including the runners. It doesn't mean that the runners will
> have to use the same version as parent (they can have their own release
> cycle). However, as we "bootstrap" the project, I used the same version
> in all modules.
>
> Now, I'm starting two new commits:
> - renaming of the packages
> - folders re-organization
>
> Thanks !
> Regards
> JB
>
> On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
> > Hi Davor,
> >
> > thank you so much for your comments. I'm updating the PR according to
> > your PR (and will provide explanation to some changes).
> >
> > Thanks dude !
> >
> > Regards
> > JB
> >
> > On 03/21/2016 06:29 AM, Davor Bonaci wrote:
> >> I left a few comments on PR #46.
> >>
> >> Thanks JB for doing this; a clear improvement.
> >>
> >> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
> >> wrote:
> >>
> >>> Hi all,
> >>>
> >>> I started the renaming process from Dataflow to Beam.
> >>>
> >>> I submitted a first PR about the Maven coordinates:
> >>>
> >>> https://github.com/apache/incubator-beam/pull/46
> >>>
> >>> I will start the packages renaming (updating the same PR). For the
> >>> directories structure, I would like to talk with Frances, Dan, Tyler,
> >>> and
> >>> Davor first.
> >>>
> >>> Regards
> >>> JB
> >>> --
> >>> Jean-Baptiste Onofré
> >>> jbonofre@apache.org
> >>> http://blog.nanthrax.net
> >>> Talend - http://www.talend.com
> >>>
> >>
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Renaming process: first step Maven coordonates
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi beamers,
I updated the PR according to your comments.
I have couple of points I want to discuss:
1. All modules use the same groupId (org.apache.beam). In order to have
a cleaner structure on the Maven repo, I wonder if it's not better to
have different groupId depending of the artifacts. For instance,
org.apache.beam.sdk, containing a module with java as artifactId (it
will contain new artifacts with id python, scala, ...),
org.apache.beam.runners containing modules with flink and spark as
artifactId, etc. Thoughts ?
2. The version has been set to 0.1.0-incubating-SNAPSHOT for all
artifacts, including the runners. It doesn't mean that the runners will
have to use the same version as parent (they can have their own release
cycle). However, as we "bootstrap" the project, I used the same version
in all modules.
Now, I'm starting two new commits:
- renaming of the packages
- folders re-organization
Thanks !
Regards
JB
On 03/21/2016 01:56 PM, Jean-Baptiste Onofré wrote:
> Hi Davor,
>
> thank you so much for your comments. I'm updating the PR according to
> your PR (and will provide explanation to some changes).
>
> Thanks dude !
>
> Regards
> JB
>
> On 03/21/2016 06:29 AM, Davor Bonaci wrote:
>> I left a few comments on PR #46.
>>
>> Thanks JB for doing this; a clear improvement.
>>
>> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
>> wrote:
>>
>>> Hi all,
>>>
>>> I started the renaming process from Dataflow to Beam.
>>>
>>> I submitted a first PR about the Maven coordinates:
>>>
>>> https://github.com/apache/incubator-beam/pull/46
>>>
>>> I will start the packages renaming (updating the same PR). For the
>>> directories structure, I would like to talk with Frances, Dan, Tyler,
>>> and
>>> Davor first.
>>>
>>> Regards
>>> JB
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Davor,
thank you so much for your comments. I'm updating the PR according to
your PR (and will provide explanation to some changes).
Thanks dude !
Regards
JB
On 03/21/2016 06:29 AM, Davor Bonaci wrote:
> I left a few comments on PR #46.
>
> Thanks JB for doing this; a clear improvement.
>
> On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
>> Hi all,
>>
>> I started the renaming process from Dataflow to Beam.
>>
>> I submitted a first PR about the Maven coordinates:
>>
>> https://github.com/apache/incubator-beam/pull/46
>>
>> I will start the packages renaming (updating the same PR). For the
>> directories structure, I would like to talk with Frances, Dan, Tyler, and
>> Davor first.
>>
>> Regards
>> JB
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Renaming process: first step Maven coordonates
Posted by Davor Bonaci <da...@google.com.INVALID>.
I left a few comments on PR #46.
Thanks JB for doing this; a clear improvement.
On Mon, Mar 14, 2016 at 6:04 PM, Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:
> Hi all,
>
> I started the renaming process from Dataflow to Beam.
>
> I submitted a first PR about the Maven coordinates:
>
> https://github.com/apache/incubator-beam/pull/46
>
> I will start the packages renaming (updating the same PR). For the
> directories structure, I would like to talk with Frances, Dan, Tyler, and
> Davor first.
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>