> On Feb 16, 2018, at 12:17 PM, Rob Tompkins <chtom...@gmail.com> wrote:
> 
> 
> 
>> On Feb 16, 2018, at 11:50 AM, Rob Tompkins <chtom...@gmail.com 
>> <mailto:chtom...@gmail.com>> wrote:
>> 
>> 
>> 
>>> On Feb 16, 2018, at 11:16 AM, Gilles <gil...@harfang.homelinux.org 
>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>> 
>>> On Fri, 16 Feb 2018 10:05:15 -0500, Rob Tompkins wrote:
>>>>> On Feb 16, 2018, at 2:47 AM, Gilles <gil...@harfang.homelinux.org 
>>>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>>>> 
>>>>> On Thu, 15 Feb 2018 15:01:23 -0500, Rob Tompkins wrote:
>>>>>>> On Feb 15, 2018, at 2:37 PM, Gilles <gil...@harfang.homelinux.org 
>>>>>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>>>>>> 
>>>>>>>> On Wed, 07 Feb 2018 15:22:59 +0100, Gilles wrote:
>>>>>>>> On Wed, 7 Feb 2018 08:31:45 -0500, Rob Tompkins wrote:
>>>>>>>>>> On Feb 6, 2018, at 6:28 PM, Gilles <gil...@harfang.homelinux.org 
>>>>>>>>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>>>>>>>>> 
>>>>>>>>>> On Mon, 5 Feb 2018 21:49:52 -0500, Rob Tompkins wrote:
>>>>>>>>>>>> On Feb 5, 2018, at 3:05 PM, Gilles <gil...@harfang.homelinux.org 
>>>>>>>>>>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> On Mon, 5 Feb 2018 14:27:53 -0500, Rob Tompkins wrote:
>>>>>>>>>>>>>> On Feb 5, 2018, at 2:22 PM, Gilles <gil...@harfang.homelinux.org 
>>>>>>>>>>>>>> <mailto:gil...@harfang.homelinux.org>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> On Mon, 5 Feb 2018 14:17:18 -0500, Rob Tompkins wrote:
>>>>>>>>>>>>>>> Which should be the template multi-module project? They all have
>>>>>>>>>>>>>>> subtle differences that lead to different nuances to the build.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Which differences did you spot?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Nothing of any particular consequence, just where the main 
>>>>>>>>>>>>> assemblies
>>>>>>>>>>>>> end up. Or which Pom they’re in.
>>>>>>>>>>>> 
>>>>>>>>>>>> What do you mean by "main assemblies"?  If it's the "full"
>>>>>>>>>>>> distribution, then is it a matter of naming the output directory?
>>>>>>>>>>>> It could be configurable.
>>>>>>>>>>>> 
>>>>>>>>>>>> For the config, the main POM looks the appropriate place if it can
>>>>>>>>>>>> be done without side-effects. [For RNG I created a separate 
>>>>>>>>>>>> directory
>>>>>>>>>>>> because I was not sure how to do it.]
>>>>>>>>>>> 
>>>>>>>>>>> Right….that’s why I was asking which project would be the best
>>>>>>>>>>> standard to work from, and then I could go through and take all of 
>>>>>>>>>>> the
>>>>>>>>>>> other multi-module builds and mildly refactor the pom/directory
>>>>>>>>>>> structure to align with which ever we decided was standard.
>>>>>>>>>>> 
>>>>>>>>>>> Is [jcs] the right choice as the standard?
>>>>>>>>>> 
>>>>>>>>>> Why this one rather than another?
>>>>>>>>>> It's not clear what you are looking for.
>>>>>>>>> 
>>>>>>>>> It really doesn’t matter too much to me, I just wanted to get a
>>>>>>>>> community consensus on what we think a standard directory structure
>>>>>>>>> should be, or the exemplar
>>>>>>>>> multimodule commons project.
>>>>>>>> 
>>>>>>>> Quite possibly none of them is *the* example to follow.
>>>>>>>> 
>>>>>>>>> It’s just easier to work from a specific project as opposed to trying
>>>>>>>>> to generalize immediately.
>>>>>>>> 
>>>>>>>> Perhaps (?) the other way around: by implementing some release
>>>>>>>> procedure of a multi-module project, you can suggest a matching
>>>>>>>> layout.
>>>>>>>> 
>>>>>>>> See also my "wish" below. If it could work that way, the layout
>>>>>>>> does not matter since the module info is taken from the top POM.
>>>>>>>> 
>>>>>>>> Perhaps there could be a profile
>>>>>>>> ---CUT---
>>>>>>>> <profile>
>>>>>>>>   <id>distribution-bundle</id>
>>>>>>>>   <modules>
>>>>>>>>     <module>commons-compX-mod1</module>
>>>>>>>>     <module>commons-compX-mod2</module>
>>>>>>>>   </modules>
>>>>>>>> </profile>
>>>>>>>> ---CUT---
>>>>>>>> And the plugin would go down the named directories and collect
>>>>>>>> the artefacts.  This would allow a project to contain modules
>>>>>>>> not yet ready for release.
>>>>>>>> 
>>>>>>>>> So my thought right now is either [rng] or [jcs].
>>>>>>>>> 
>>>>>>>>> I suppose another thought could be: is anyone planning a release on a
>>>>>>>>> commons multi-module project anytime soon?
>>>>>>>> 
>>>>>>>> Yes.
>>>>>>>> 
>>>>>>>>> If so which?
>>>>>>>> 
>>>>>>>> "Commons RNG", as soon as the pending issues[1] are resolved:
>>>>>>>> * RNG-40
>>>>>>>> * RNG-31
>>>>>>>> * RNG-48
>>>>>>>> * RNG-44
>>>>>>>> 
>>>>>>>> The latter three are related to the multi-module handling by
>>>>>>>> the "parent" project (i.e. the problem(s) which you intend to
>>>>>>>> solve IIUC).
>>>>>>> 
>>>>>>> Where do we stand wrt the functionalities needed to
>>>>>>> release a modular project?
>>>>>> 
>>>>>> My first attempt (which I’ve gotten to work with other maven plugins)
>>>>>> didn’t immediately work.
>>>>> 
>>>>> Which project is serving as playground?
>>>>> 
>>>>>> More debugging there will likely tease out
>>>>>> the issue. The goal is to have the mojos only operate on the top level
>>>>>> pom.xml.
>>>>> 
>>>>> Why? [It is conceivable that some project may want to release
>>>>> some sub-module(s).]
>>>> 
>>>> For the most part the plugin centers on the assembly files, the site,
>>>> and the release notes for which a release only has one of.
>>> 
>>> For "site" and "release notes" I agree that there is one. [Which
>>> is the same as saying that this is not multi-module related.]
>>> 
>>> The "assembly" is an problem with the release of a multi-module
>>> project (see issue RNG-31).
>>> 
>>> I see that Maven is working "hierarchically" (cf. "effective POM").
>>> But from the above, I have the (perhaps wrong) impression, that you
>>> are working against that feature...
>>> 
>>> I have the perhaps naïve view that whenever a module is
>>> mentioned in a <modules> directive, it should just be
>>> aggregated to the "assembly".
>>> 
>>>> So my focus
>>>> is to get that working, then we can jump into the how to think about a
>>>> release where individual sub modules are removed.
>>> 
>>> Again, this is the other way around (IMHO): let maven tell you which
>>> module is "on" (and the plugin will aggregate); nothing to do for
>>> a "removed" <module> directive.
>> 
>> I’m actually not all that concerned with which modules are or aren’t 
>> included because I’m focusing on what gets staged in subversion for website 
>> download in the end. I’m not familiar with lots of different types of 
>> tars/zips other than src and bin ending up there in svn. 
>> 
>> 
>> For the main maven process I’m trying to stay away from doing any subtle 
>> build manipulation that could effect what gets deployed to nexus, aside from 
>> keeping the tars/zips from landing up there. 
>> 
>>> 
>>>> If we do a release removing sub modules, how do we accomplish that?
>>>> Do we remove them from the Pom?
>>> 
>>> It's a possibility (to be done only in the release branch then).
>>> Another, which I mentioned in a previous post (see somewhere
>>> above), would be to have a profile that would list the modules
>>> to be released.
>>> Please look at the POMs, "top-level" and modules, for [RNG].
>>> 
>>> There is a default list of modules and there is a profile that
>>> duplicates that list and add "commons-rng-examples" to allow
>>> a more recent language level.
> 
> And, I forgot to mention that I’m working with jcs and vfs as the sample 
> modules. I think having that src directory at the top level for the 
> distributions makes sense.

Working with [rng] now as the other’s were a bit cumbersome to work with.

> 
>>> 
>>> Gilles
>>> 
>>>>> 
>>>>>> 
>>>>>> -Rob
>>>>>> 
>>>>>>> 
>>>>>>> Regards,
>>>>>>> Gilles
>>>>>>> 
>>>>>>>> [1]
>>>>>>>> https://issues.apache.org/jira/browse/RNG-40?filter=-5&jql=project%20%3D%20RNG%20AND%20resolution%20%3D%20Unresolved%20AND%20fixVersion%20%3D%201.1%20order%20by%20priority%20DESC%2Cupdated%20DESC
>>>>>>>>  
>>>>>>>> <https://issues.apache.org/jira/browse/RNG-40?filter=-5&jql=project%20%3D%20RNG%20AND%20resolution%20%3D%20Unresolved%20AND%20fixVersion%20%3D%201.1%20order%20by%20priority%20DESC%2Cupdated%20DESC>
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -Rob
>>>>>>>>> 
>>>>>>>>>> From what I see wrt the creation of "full dist" artefacts, the
>>>>>>>>>> difference with e.g. [RNG] is that in [jcs], there is a maven
>>>>>>>>>> module, with no code, while for [RNG], there is a directory
>>>>>>>>>> (not a maven module), but both contain a POM whose only purpose
>>>>>>>>>> is to provide an "assembly" config.
>>>>>>>>>> 
>>>>>>>>>> Having no idea on how to achieve it, I'd wish that creating
>>>>>>>>>> the "full dist" only requires a custom "goal" like (?)
>>>>>>>>>> $ mvn package:dist
>>>>>>>>>> with no ad-hoc directory/module: all modules specified in the
>>>>>>>>>> top POM would have their artefacts (recursively) bundled into
>>>>>>>>>> <component>-dist-<version>.tar.gz
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> Gilles
>>>>>>>>>> 
>>>>>>>>>>> Cheers,
>>>>>>>>>>> -Rob
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Gilles
>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>> figure we pick one and make that the standard multi-module build
>>>>>>>>>>>>>>> paradigm and fit the others into it.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> -Rob
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org 
>>> <mailto:dev-unsubscr...@commons.apache.org>
>>> For additional commands, e-mail: dev-h...@commons.apache.org 
>>> <mailto:dev-h...@commons.apache.org>

Reply via email to