There are some typos in there. See review
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Thu, Dec 6, 2018 at 3:43 PM Jean-Louis Monteiro <jlmonte...@tomitribe.com>
wrote:

> Thanks Bruno. I'll review it very quick
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Thu, Dec 6, 2018 at 2:44 PM Bruno Baptista <bruno...@gmail.com> wrote:
>
>> Hi folks,
>>
>> I've created a jira and a PR to define the rules/guidelines in the
>> creation of new examples.
>>
>> Jira: https://issues.apache.org/jira/browse/TOMEE-2326
>>
>> PR: https://github.com/apache/tomee/pull/257
>>
>> Please feel free to comment and ask for changes.
>>
>> Cheers.
>>
>> Bruno Baptista
>> https://twitter.com/brunobat_
>>
>>
>> On 05/12/18 22:23, Bruno Baptista wrote:
>> > Thanks for the context David.
>> >
>> > I'll write a PR with README at the Examples project level with some
>> > guidelines that we can discuss. There were some other resources to
>> > help make new examples. Will research that too.
>> >
>> > Cheers
>> >
>> > Bruno Baptista
>> > https://twitter.com/brunobat_
>> >
>> >
>> > On 05/12/18 21:21, David Blevins wrote:
>> >>> On Dec 5, 2018, at 10:28 AM, Bruno Baptista <bruno...@gmail.com>
>> wrote:
>> >>>
>> >>> I'd say we have a problem here. What do you guys think we should do?
>> >>>
>> >>>     • Remove Parent definition on examples and fix the ones that
>> >>> will break.
>> >>>     • Use Parent always and fix the dependencies scope.
>> >>>     • A mix of both. Use parent when needed and fix the dependencies
>> >>> scope.
>> >> Historically we've not used parents because the goal of each example
>> >> is to be completely independent in every way from the other examples
>> >> and the TomEE build overall.  The intention is people can grab an
>> >> example and build on it in their own projects without having to
>> >> perform surgery to "cut it free" from the parent pom.
>> >>
>> >> This conversation typically comes up because people are trying to
>> >> remove duplication between the examples, which is good habit normally
>> >> and therefore most people's initial gut reaction.
>> >>
>> >> When you're on the learning side, however, it significantly increases
>> >> the complexity of the example because:
>> >>
>> >>   - basic "project" structure is moved to the example parent, which
>> >> then has complexity of removing duplication between 139 examples
>> >>   - some of that complexity will then move to the top-level tomee
>> >> parent pom to reduce duplication further
>> >>   - inevitably someone will say "maybe MicroProfile examples should
>> >> have their own parent pom"
>> >>
>> >> The result is then if a user would want to make their own tiny
>> >> project based on a MicroProfile example they would need to spend a
>> >> few hours learning how to untangle this theoretical pom inheritance
>> >> chain:
>> >>
>> >>   - tomee/examples/microprofile/metrics-counted/pom.xml
>> >>   - tomee/examples/microprofile/pom.xml
>> >>   - tomee/examples/pom.xml
>> >>   - tomee/pom.xml
>> >>
>> >> As coders we'll be thrilled by how much duplication we removed. As
>> >> someone learning, you basically have to be an expert in maven and our
>> >> build structure and be extremely willing to invest time in trial and
>> >> error to recreate your own truly independent example you can then
>> >> build from.
>> >>
>> >> For certain things like Arquillian, the pom is the hardest part, so
>> >> if it isn't completely self contained and independent, it is pretty
>> >> much an unusable example.
>> >>
>> >> At least that's how the conversation has historically gone.  We can
>> >> certainly have it again and maybe create some documentation to help
>> >> example authors understand the goals/motivations.
>> >>
>> >>
>> >> -David
>> >>
>> >>
>> >>
>> >>
>>
>

Reply via email to