Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [orbit-dev] Discussion on coordinates for uploading of approved artifacts

Hi Roland, all,

First of all : as I joined orbit quite recently, I was not yet aware about this ongoing effort and the bugs 484633 and 484631. And this information and effort is coming at the right moment for me : after approved CQs I would also like to add some artifacts that are not in maven central.
So thanks to everyone involved in this!

About your questions, my 2 cents :
- I think it would make sense to "specialize" the group name, in the case of modified artifacts.
Besides the argument in the bug comments I see another benefit for this :
A single "org.eclipse.orbit" group to contain everything could lead to a very large set of artifacts in there, which may difficult to use/navigate. Consider e.g. a case similar to httpcomponents, which groups a number of related binary artifacts. I think it would be best not to lose the org.apache.httpcomponents (sub)grouping when migrating these artifacts in the orbit repo. Whether or not "org.eclipse.orbit" must be part of every group name, I'm not sure. The repo seems to be already orbit-reserved, so I guess the group names don't need an extra reference to orbit. And if the only/main user of that repo is Orbit itself and our bundle recipes, that should be OK I guess? If the intention is to also allow others to use that repo, mixed in with maybe other repos (like maven central?) to find their dependencies, it may be good to have globally unique group names (e.g. by including org.eclipse.orbit)?

- In the cases where the original artifact names are not sufficiently "scoped", again only for modified artifacts, it may be good that someone selects a better name. And that someone being the committer seems like a sufficient/good option, to avoid long-running discussions on naming. "core" is a typical case, but there are many more (e.g. the artifacts in httpcomponents suffer from this as well with names like fluent-hc etc). My personal preference is that artifact names follow the rules used for bundle symbolic naming, e.g the above could become org.apache.httpcomponents.fluent or something similar.

regards
erwin

Op 1/27/2017 om 8:36 PM schreef Roland Grunberg:
I wanted to open a discussion on this topic as it wasn't resolved in Bug
484633 [1].

When the migration to using orbit-recipes was first starting out there was
a discussion on what would happen in the case of artifacts that couldn't be
found on maven central, or that needed to differ beyond the scope of what
ebr-maven-plugin could do. It was determined that we would host a maven
repository of approved artifacts at repo.eclipse.org and they could be
consumed from there.

"- What Maven coordinate should we use for published artifacts?
   (libraries may be different from their original, not in Maven Central at
   all, etc.) (eg., coordinates could incorporate a CQ number)"

 From the bug, I agree that if the content is to remain identical then the
GAV should be as well. However, I don't think for the time being we'll be
transferring any artifacts of this case since they can always be used from
maven central.

If the content varies we could make the groupId something like
'org.eclipse.orbit' and then simply match the artifactId/version/classifier
to what it is in maven central and this could work. Maybe we'd run into
issues with poorly named artifactIds (eg. 'core') so we might consider as
Andreas suggested some combination of 'org.eclipse.orbit' combined with the
original groupId. We could even leave the artifactId name up to the
individual committer and only require the groupId be 'org.eclipse.orbit'.

Thoughts on this ?

The process to upload approved artifacts is nearly in place but I just want
to be sure on some conventions as once they're deployed (at least for
release repositories), there doesn't seem to be a way of removing them.

Another thing to consider is whether any decisions we make should be
influenced by the fact that we've been asked before about providing a maven
repository of approved artifacts.


Cheers,




Back to the top