Discussion:
[tycho-dev] How does Tycho plugin generates the dependency tree for both feature installation & uninstallation
Kasun Siyambalapitiya
2017-07-20 09:41:25 UTC
Permalink
Hi all,

Can someone please be kind enough to explain me the methodology or provide
a link to a proper documentation on how the *eclipse tycho plugin*
generates the dependency tree for both feature installation and
uninstallation via the *tycho-standalone-p2-director *application as the
official doc [1] only provide how to use it.

[1] https://www.eclipse.org/tycho/sitedocs/index.html


Thanks in advance.
--
*Regards,*

*Kasun Siyambalapitiya*
*Software Engineer*
WSO2 Inc. - http://wso2.com/
lean . enterprise . middleware
Tel : 0715523466
E mail : ***@wso2.com
<https://wso2.com/signature>
Mickael Istria
2017-07-20 09:46:48 UTC
Permalink
Tycho also delegates that part to the p2 resolver: Tycho generates some p2
metadata for the artifacts according to the MANIFEST.MF or feature.xml
files, and uses the p2 dependency resolver (aka planner) to build the
dependency tree. The resolver takes the content of the target-platform as
input for dependency resolution.
Kasun Siyambalapitiya
2017-07-20 10:14:46 UTC
Permalink
Hi Mickael,

In which bundle does the above class is located, I searched everywhere for
the terms *p2 resolver, p2-resolver, dependency resolver, planner and etc.* But
I could only find these classes

class PlannerStatus -> found inside
org.eclipse.equinox.internal.provisional.p2.director package

class PlannerComponent -> found inside
org.eclipse.equinox.internal.p2.director package

class DependencyHelper -> found inside org.sat4j.pb.tools package

Could you please let me know which one is doing the job, and is there
anyway to extract out the dependency tree created from the p2 dependency
resolver (aka Planner) for a given feature.


Thank you.
Post by Mickael Istria
Tycho also delegates that part to the p2 resolver: Tycho generates some p2
metadata for the artifacts according to the MANIFEST.MF or feature.xml
files, and uses the p2 dependency resolver (aka planner) to build the
dependency tree. The resolver takes the content of the target-platform as
input for dependency resolution.
_______________________________________________
tycho-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-dev
--
*Regards,*

*Kasun Siyambalapitiya*
*Software Engineer*
WSO2 Inc. - http://wso2.com/
lean . enterprise . middleware
Tel : 0715523466
E mail : ***@wso2.com
<https://wso2.com/signature>
Mickael Istria
2017-07-20 10:27:19 UTC
Permalink
Post by Kasun Siyambalapitiya
Could you please let me know which one is doing the job, and is there
anyway to extract out the dependency tree created from the p2 dependency
resolver (aka Planner) for a given feature.
The job of doing dependency resolution from Tycho is a complex one which
spreads on multiple layers (Tycho, p2, sat4j...) and multiple classes
(AbstractArtifactDependencyWalker,
org.eclipse.tycho.p2.resolver.P2ResolverImpl,
org.eclipse.tycho.p2.util.resolution.ProjectorResolutionStrategy,
org.eclipse.equinox.internal.p2.director.SimplePlanner... and more).
At this point, I believe the best for you to understand the workflow is
probably to start a build with a debugger enabled and to watch how
execution happens by putting breakpoints here and there.

Cheers,
Kasun Siyambalapitiya
2017-07-20 10:36:48 UTC
Permalink
Hi Mickael,

Thank you for the quick response, I'll try to understand the workflow and
contact you if anything needs more to be cleared.

Thank you
Post by Mickael Istria
Post by Kasun Siyambalapitiya
Could you please let me know which one is doing the job, and is there
anyway to extract out the dependency tree created from the p2 dependency
resolver (aka Planner) for a given feature.
The job of doing dependency resolution from Tycho is a complex one which
spreads on multiple layers (Tycho, p2, sat4j...) and multiple classes (
AbstractArtifactDependencyWalker, org.eclipse.tycho.p2.resolver.P2ResolverImpl,
org.eclipse.tycho.p2.util.resolution.ProjectorResolutionStrategy,
org.eclipse.equinox.internal.p2.director.SimplePlanner... and more).
At this point, I believe the best for you to understand the workflow is
probably to start a build with a debugger enabled and to watch how
execution happens by putting breakpoints here and there.
Cheers,
_______________________________________________
tycho-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-dev
--
*Regards,*

*Kasun Siyambalapitiya*
*Software Engineer*
WSO2 Inc. - http://wso2.com/
lean . enterprise . middleware
Tel : 0715523466
E mail : ***@wso2.com
<https://wso2.com/signature>
Loading...