Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] No Jetty Bom [was Re: Jetty 9.4.6 Released!]

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 / joakim@xxxxxxxxxxx

On Thu, Jun 8, 2017 at 3:02 PM, Greg Wilkins <gregw@xxxxxxxxxxx> wrote:


On 8 June 2017 at 16:00, Joakim Erdfelt <joakim@xxxxxxxxxxx> wrote:
On Thu, Jun 8, 2017 at 4:13 AM, Olivier Lamy <olamy@xxxxxxxxxxx> wrote:


On Thu, Jun 8, 2017 at 6:11 PM, Greg Wilkins <gregw@xxxxxxxxxxx> 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.

 

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)


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
jetty-users@xxxxxxxxxxx
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
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


Back to the top