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
