Thanks for your input Trent, I did
have a look at the Nexus Unzip plugin previously, but
I was hesitant as our Nexus is currently not at the
minimum level required to use this plugin, so we
would have to upgrade Nexus in order to try it out.
However, if we do exhaust other potential avenues, we
can look into doing this.
I read on this wiki page that if you use "POM
dependencies consider":
"Tycho
then checks each of these artifacts, and if
the artifact is an OSGi bundle, it is
added to the target platform."
https://wiki.eclipse.org/Tycho/Target_Platform#.22POM_dependencies_consider.22
This seems like it would be an ideal solution, to
declare a dependency on a bundle artifact in the POM
of a feature, except I think it's not working due to
the limitation that we can't mix pom-first and
manifest-first resolution in the same reactor?
https://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts#It_is_not_possible_to_mix_pom-first_and_manifest-first_projects_in_the_same_reactor_build
Any other ideas/options would be most welcome.
Cheers,
Irene
On 18-Nov-14 21:51, Vigar,Barry wrote:
Hey
Irene,
What
our development team is doing to get the p2
repositories we want is the following :
- feature projects in which we group our plugin
dependencies together in the feature.xml and list
the dependency versions in the pom.xml for that
project
-
these feature projects are contained within a
‘parent’ aggregate maven project whose pom lists the
tycho plugins and repositories to get our plugin
dependencies from
- we build all our features sequentially with the
maven-invoker-plugin and run the package goal on
them all
- after building the features, we run the package,
then deploy goal on the update site project (which
builds and deploys all the feature plugins in a
p2-style repository to our nexus box).
-
an update-site project which builds as
eclipse-repository and just points to the build
state of all our feature projects (target/site
folder)
-
the update-site deploys to a regular Nexus maven
repository, but we have the Tycho Nexus Unzip plugin
pointing to a virtual repository which turns our
deployed maven artifacts (the update-site zip
specifically) into an unzipped p2 repository that
we’re consuming in targets and products.
Hope
this information is helpful, keep in mind this is
not exactly how tycho advocates this process, this
is just what works best for us.
-
Trent V.
Hello,
We have some regularly changing external plugin
dependencies that are deployed to a Nexus repository.
As I understand it, in order for Tycho to be able to
"see" and consume these bundles, we would need to
first generate p2 metadata for them.
I am having some trouble figuring out the best
workflow for systematically producing this p2 target
platform, making it available for the upcoming Tycho
build steps, as well as any subsequent local builds by
developers.
I have considered using a separate Maven build to
fetch the POM dependencies, generate the metadata,
then redeploy a zipped p2 repository. However, I am
not sure in which phase of my Tycho build, if such a
possibility exists, I could fetch and "prepare" the
zipped repository (i.e. unzip) before Tycho does its
dependency resolution.
Another possibility I have considered is having my
official build create the p2 repository and keep the
latest version somewhere accessible by HTTP on the
same machine. This would avoid unnecessary uploading
and downloading to and from Nexus, though we would not
have much versioning functionality then.
Is there a recommended solution for handling such
cases where systematically processing external bundles
is necessary?
Thank you very much in advance,
Irene
CONFIDENTIALITY NOTICE This
message and any included attachments are from Cerner
Corporation and are intended only for the addressee.
The information contained in this message is
confidential and may constitute inside or non-public
information under international, federal, or state
securities laws. Unauthorized forwarding, printing,
copying, distribution, or use of such information is
strictly prohibited and may be unlawful. If you are
not the addressee, please promptly delete this
message and notify the sender of the delivery error
by e-mail or you may call Cerner's corporate offices
in Kansas City, Missouri, U.S.A at (+1)
(816)221-1024.
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user