[
https://issues.apache.org/jira/browse/BEAM-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15373662#comment-15373662
]
Kenneth Knowles commented on BEAM-442:
--------------------------------------
Here is how they are different: One is a git repo and one is an archetype :-)
I assume you mean "what are the important differences in how they might be
used?". A high level difference, which is already enough for me, is that one
you clone & modify and the other you instantiate by providing parameters. So in
my opinion, the repo is far simpler and more effective as a demonstration since
it is already instantiated. It also uses more commonplace tooling (git) with
great, readable, integrations (e.g. GitHub).
Probably more importantly, I might refer to the repo on the web as a reference,
which I doubt I would ever do with an archetype. I certainly wouldn't want to
have to set up a scratch space to instantiate it just to remind myself of some
details of its configuration, but the alternative is digging deep into our repo
for the archetype. Its just a needless layer of indirection for that use case.
It is true that the bigger problem for Dataflow-examples is that we made a repo
but then didn't configure it like a real repo would be configured. In Beam, we
haven't made the repo so there's not such a contradiction. But I think that it
might be a nice thing to do. Given the choice of both I would choose the repo
every time, though maybe other folks prefer maven incantations. They aren't in
competition anyhow. We can have both (just instantiate the archetype and push
it up) and they serve different purposes.
> Examples demonstrate code, but not project configuration
> --------------------------------------------------------
>
> Key: BEAM-442
> URL: https://issues.apache.org/jira/browse/BEAM-442
> Project: Beam
> Issue Type: Improvement
> Components: examples-java
> Reporter: Kenneth Knowles
>
> Deriving a possible issue from
> http://stackoverflow.com/questions/38317428/how-do-i-resolve-java-lang-nosuchmethoderror-com-google-api-services-dataflow-m
> The above StackOverflow question illuminates the fact that the
> Dataflow-examples repository is not a demonstration of proper project
> configuration, but only code. Today there is not a separate examples
> repository for Beam, but just an examples module, so the issue is not
> highlighted.
> It is probably quite useful to have a starter project that actually has the
> dependencies set up correctly, not referencing the Beam parent pom, so users
> can clone it and get started. It could be in a separate repository or not -
> that aspect is actually orthogonal IMO.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)