Njord: where to put publishing properties? #5
cstamas
started this conversation in
Njord General Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I want to pitch a discussion about Njord, as people started integrating Njord into their builds in various ways. I always trumpeted that "publishing is orthogonal to builds", essentially Njord, unlike other publishing solutions, are not there to "grow into the tissue" of your project. It can peacefully live next to it. Still, if one wants, can "deeply integrate" it by for example putting Njord into
project/build/extensions/extension[]in parent POM and it works okay.Still, there are questions like where to put publishing properties?
Historically (in Maveniverse) but also elsewhere, this was the recommended pattern, example of QDox project:
paul-hammant/qdox#285
As one of the many ideas that Njord pushes for is to stop "custom naming" distribution servers (in OSS/S01 times each project -- think mojohaus, plexus, takari, etc) everyone came up with "own" names like
takari-releases,plexus-releases, etc... all this ended up on users maintaining those projects (or multiple of those) to have copy-paste server entries in their ownsettings.xmlwhile effectively we could talk about TWO possible services: OSS or S01. Today, every "standalone" OSS project publishes tosonatype-central-portaland nowhere else. So Njord pushes also to stop this copy-pasta problem, and offers solution if POM changes are not possible: redirects insettings.xml.Still, there came the question to put these three key properties into POM properties:
njord.publishernjord.releaseUrlnjord.snapshotUrlAnd this is where the problems started: in original idea (provide them as
settings/servers/server[]/config/*) there is a proper scoping happening, and Njord "kicks in" when givenRemoteRepositoryasked for (having the same ID as settings server; usual Maven thing to set up things like auth): if this property is present, Njord should kick in. But, with adding those properties to project, they are always present, so scoping needs to be done somehow.Beta Was this translation helpful? Give feedback.
All reactions