+1

i also think we can omit D) for the first step.
i'm also fine with C) that it always include sample data - we can always add a 
switch later to remove it.

for B) we might consider putting all bundle projects below a bundles/ folder
and all content package projects below a /content-packages folder
it's not unusual you create more of them for bigger projects, and then they are 
nicely grouped.

stefan

>-----Original Message-----
>From: Konrad Windszus [mailto:konra...@gmx.de]
>Sent: Thursday, September 12, 2019 5:53 PM
>To: dev@sling.apache.org
>Subject: Re: [hackathon] maven archetypes
>
>Definitely +1 on having only one archetype. In case D is too much effort,
>we could even leave it out.
>A maintained archetype is better than what we currently have.
>And it should be pretty easy for every developer to just copy over from a
>blueprint project created from the archetype only the desired modules...
>
>Konrad
>
>> On 12. Sep 2019, at 16:50, Robert Munteanu <romb...@apache.org> wrote:
>>
>> On Thu, 2019-09-05 at 14:43 +0000, Stefan Seifert wrote:
>>> - currently there are lots of sling maven archetypes, and most of
>>> them not well maintained
>>> - we would favor to have only one single "project" archetypes,
>>> probably the new "project" archetype contributed by andy
>>> - add parameters to switch features on and off, e.g. for generating
>>> only with bundle but not with the content packages
>>>  - this can be done using the groovy prost process
>>>  - there is already a groovy script with a lot of logic in it, to be
>>> reviewed if it already covers all use cases
>>> - the plan is to no longer have the need to maintain multiple
>>> archetypes
>>> - review the generated structure of the current project archetypes.
>>> the structure is derived from the adobe AEM project archetype, but we
>>> like not all of it. e.g. the "ui." prefix for the contant packages,
>>> probably introduce "bundles" and "content-packages" folders to but
>>> bundles and content packages in.
>>
>> I would like to propose the following:
>>
>> A. deprecate all project archetype ( + parent ) except the sling-
>> project-archetype
>>
>> 1. sling-slingstart-archetype
>> 2. sling-archetype-parent
>> 3. sling-taglib-archetype
>> 4. sling-servlet-archetype
>> 5. sling-bundle-archetype
>> 6. sling-initial-content-archetype
>> 7. sling-launchpad-standalone-archetype
>> 8. sling-launchpad-webapp-archetype
>> 9. sling-jcrinstall-bundle-archetype
>>
>> B. include the following artifacts in the project
>>
>> 1. core ( Java bundle )
>> 2. content ( content package, sample data )
>> 3. apps ( content package, Sling scripts )
>> 4. launcher ( feature model project )
>>
>> C. I like the fact that the project includes sample data. Would it
>> simplify maintenance if we always generated the sample data? I would
>> expect the user to tweak it anyway.
>>
>> D. We _could_ heavily tweak the project and make it generate a single
>> module, by e.g. deleting anything but the one of the modules and then
>> making them top-level after generation has run (groovy script).
>>
>> That would effectively replace the other 8 existing projects, but I'm
>> not sure if the complexity is worth it.
>>
>> Thoughts?
>>
>> Thanks,
>> Robert


Reply via email to