I have pushed some changes in the branch feature/bom_packaging
so there is now new packaging. (have a look at the it test)
I found a hackhish way to replace the current pom.
I sent an email to dev@maven as I'm not sure of a better way to do it.
Well they will probably tell me that's not something to do as it's not the
maven to modify pom dynamically.....
I agree this can generate some issue with ide if people import the this pom
as a dependency...


On Fri, Jun 9, 2017 at 10:03 AM, Olivier Lamy <[email protected]> wrote:

> Hi
> A solution could be creating a new packaging type called "bom" I will try
> today in a branch.
> Cheers
> Olivier
>
> On Fri, Jun 9, 2017 at 9:52 AM, Joakim Erdfelt <[email protected]> wrote:
>
>> A proof of concept bom generation maven plugin has been written.
>>
>> https://github.com/jetty-project/bom-maven-plugin
>>
>> It can currently generate a bom from the projects present in the reactor.
>> I consider this ideal, as only the projects we deploy will be on the
>> reactor (adding/removing/skipping will all be instantly reflected without a
>> maintenance task on the jetty-bom).
>>
>> The (preliminary) example configuration:
>>
>> https://github.com/eclipse/jetty.project/blob/issue-generate
>> -bom/jetty-bom/pom.xml
>>
>> Actual output produced:
>>
>> https://gist.github.com/joakime/0a78afcdde515f48389ce975a3f15e51
>>
>> What's left to figure out:
>>
>> Now that we can generate the bom from the list of projects in the reactor
>> (with include/exclude filtering).
>> How do we get it installed (to the local repo) and deployed (to the
>> snapshot repo and release repo) in a minimal amount of hassle?
>>
>> Traditionally, you would attach the generated artifacts, but that means
>> it would be a artifact with a classifier on the project.
>>
>> Using maven-deploy-plugin:deploy-file in the project pom is quirky as
>> you have to declare a url configuration parameter (which is different for
>> snapshot vs release builds).
>>
>> Internally, the bom-maven-plugin could use the 
>> org.apache.maven.shared.project.deploy.ProjectDeployer
>> from maven-artifact-transfer-<ver>.jar
>> But that would require a fully fleshed out project to be declared to use
>> that class.
>> There's also the org.apache.maven.shared.artifact.deploy.ArtifactDeployer
>> available, but I've never used that before.
>> Setting up a ProjectBuildingRequest seems daunting.
>>
>>
>> Joakim Erdfelt / [email protected]
>>
>> On Thu, Jun 8, 2017 at 3:02 PM, Greg Wilkins <[email protected]> wrote:
>>
>>>
>>>
>>> On 8 June 2017 at 16:00, Joakim Erdfelt <[email protected]> wrote:
>>>
>>>> On Thu, Jun 8, 2017 at 4:13 AM, Olivier Lamy <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, Jun 8, 2017 at 6:11 PM, Greg Wilkins <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> I tried but failed to get the jetty-bom released for 9.4.6
>>>>>> I got it to oss.sonatype, but it failed a rule on closing the staged
>>>>>> repo.
>>>>>>
>>>>>
>>>>> which rule?
>>>>>
>>>>
>>>> Cannot release the same version again.
>>>> If any artifact in your staging repository already exists on central,
>>>> then that entire staging repository is invalid.
>>>>
>>>
>>>
>>> It's not being released again.  jetty-bom for 9.4.6 has never been
>>> released.
>>>
>>>
>>>
>>>>
>>>> Lets take a look at the tag.
>>>>
>>>> https://github.com/eclipse/jetty.project/blob/jetty-9.4.6.v2
>>>> 0170531/pom.xml#L92
>>>>
>>>> Yup, the jetty-bom is part of the module tree, so its part of the
>>>> reactor.
>>>>
>>>> https://github.com/eclipse/jetty.project/blob/jetty-9.4.6.v2
>>>> 0170531/jetty-bom/pom.xml#L5
>>>>
>>>>
>>> But why wasn't it updated?
>>>
>>>
>>>
>>>> That's the reason, since the jetty-bom is no longer participating in
>>>> the hierarchy of the parent, its isolated, considered a separate release
>>>> from the rest of the project.
>>>> The jetty-bom itself does not participate in the maven release process
>>>> properly.
>>>>
>>>> However, the other artifacts, that are part of the hierarchy are
>>>> updated (example, the dependencies in the jetty-bom)
>>>>
>>>> https://github.com/eclipse/jetty.project/blob/jetty-9.4.6.v2
>>>> 0170531/jetty-bom/pom.xml#L97
>>>>
>>>> It simply cannot be part of the release and be unconnected from the
>>>> hierarchy at the same time.
>>>>
>>>> There are only 2 options left
>>>>
>>>> 1) jetty-bom as a standalone project with its own release
>>>>
>>>> 2) Generate the jetty-bom during the build and perform a pom artifact
>>>> swap during install/deploy (like you can with the shade plugins)
>>>>
>>>>
>>> I've seen other projects that have a sub-module that does not list a
>>> parent module.
>>>
>>> I still think something strange is going on here....
>>>
>>> I'll do some test release prepares in the next few days to work it out.
>>>
>>> cheers
>>>
>>>
>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>
>>>
>>>
>>> --
>>> Greg Wilkins <[email protected]> CTO http://webtide.com
>>>
>>> _______________________________________________
>>> jetty-users mailing list
>>> [email protected]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>
>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>
>
>
> --
> Olivier
>



-- 
Olivier
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to