> On Feb 16, 2018, at 11:50 AM, Rob Tompkins <chtom...@gmail.com> wrote:
> 
> 
> 
>> On Feb 16, 2018, at 11:16 AM, Gilles <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> 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> 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> 
>>>>>>>>> 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> 
>>>>>>>>>>> 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> 
>>>>>>>>>>>>> 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.

>> 
>> 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
>>>>>>> 
>>>>>>>> 
>>>>>>>> -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
>> For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to