[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] [discuss] tycho repository layout and metadata format



On 11-06-16 1:36 PM, Oberlies, Tobias wrote:


@Igor: As for the more general repository format discussion, I am wondering if you know our Nexus Unzip Plugin. Except for implementation optimizations, I believe that it is conceptionally all that we need to have Nexus natively serve the same artifacts as p2 and Maven repository.


I think your nexus unzip plugin works very similar to how we deploy and maintain m2e and related projects on repository.sonatype.com, where each build gets deployed to a new folder (for example, see [1]) and inter-project dependencies are expressed in terms of build repository URLs (for example, see [2]).

While this works reasonably well for RELEASE dependencies, we found
manually maintenance of SNAPSHOT dependencies too error prone and
incompatible changes often go unnoticed until final product integration.

Locating p2 repositories for external dependencies can also be quite a
challenge, as many projects do not have well implemented retention
policies for both repository URLs and repository contents (it is NOT
okay to remove old releases when new become available, for example).

Interoperability with maven-bundle-plugin and non-Tycho artifacts in
general, too, cannot be achieved with unzip-a-repo approach, but I think
we get enough questions about pomDependencies=consider to at least try
to come up with a good long-term solution.

I don't have fully fleshed out solution yet, but at very least I would
like to be able to consume all m2e snapshot builds from a single
repository that gets updated automatically after each successful "mvn
deploy". I also think it will be extremely helpful if we find a way to
promote builds from integration to milestone to release status [3]. And
finally, I want to be able to introduce Tycho Central repository similar
in nature to Maven Central.


[1] https://repository.sonatype.org/content/repositories/forge-sites/ [2] https://github.com/sonatype/m2eclipse-tycho/blob/master/pom.xml [3] http://download.eclipse.org/eclipse/downloads/build_types.html

--
Regards,
Igor