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. >> v20170531/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. >> v20170531/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. >> v20170531/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
