[ 
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)

Reply via email to