eclipse:eclipse_rcp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
eclipse:eclipse_rcp [2016/07/15 07:19] – skipidar | eclipse:eclipse_rcp [2023/11/01 07:15] (current) – ↷ Links adapted because of a move operation skipidar | ||
---|---|---|---|
Line 205: | Line 205: | ||
{{http:// | {{http:// | ||
+ | |||
+ | ==== Dependencies Management in Eclipse ==== | ||
+ | |||
+ | Documentation: | ||
+ | |||
+ | ^Location ^Documentation^ | ||
+ | |**feature.xml**|< | ||
+ | |**plugin.xml**|< | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | </ | ||
+ | |**MANIFEST.MF**|< | ||
+ | |||
+ | |||
+ | Eclipse Dependencies have different Levels: | ||
+ | |||
+ | ^Level ^ Describtion ^ Configuration File^ | ||
+ | |OSGI| The OSGI is a specification, | ||
+ | |Eclipse RCP| Eclipse Introduces Concepts like **Product, Feature, Application, | ||
+ | |||
+ | |||
+ | {{http:// | ||
+ | |||
+ | |OSGI Level dependencies| All OSGI dependencies - are dependencies that are defined in **MANIFEST.MF**' | ||
+ | |Describes Product in Extension Point| The Product.xml is just a configuration files to enable forms to manage icons, and stuff. The framework retrieves the product not from this file, but from an **an associated plugin.xml**. There the product describtion is saved under an **extension point org.eclipse.core.runtime.products** |{{http:// | ||
+ | |Contains any plugin which will be used in Product.| Plugins/ | ||
+ | |Depends on foreign features| Dependencies to features/ | ||
+ | |||| | ||
+ | |||
+ | |||
+ | === Libs dependencies in Project === | ||
+ | If a project requires an external libraries | ||
+ | * create a new **plugin-project** and add those libraries to the subfolder, e.g. " | ||
+ | * add the " | ||
+ | * and **export all packages** which should be visible from outside | ||
+ | |||
+ | This will allow to check in the libs to the version control and make the project completely portable, avoiding problems with unavailable external repos. So it can be checked out even years later and compiled again! | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | === Storing Libs in a local repository === | ||
+ | A local p2 repository can be set up, by exporting a project. | ||
+ | The local repository can then be references from the product as | ||
+ | < | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | Using a p2-repository will allow Maven-Tycho (the headless build plugin) to resolve dependencies automatically. | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | === Tool === | ||
+ | |||
+ | To analyse the dependencies there is a tool: Plug-in Dependency Visualization | ||
+ | Here is a p2 repository to install the tool which is aplugin: http:// | ||
+ | |||
+ | Open the View "Graph Plug-In Dependency" | ||
+ | |||
+ | {{http:// | ||
==== Dependency resolutions ==== | ==== Dependency resolutions ==== | ||
Line 1133: | Line 1195: | ||
+ | |||
+ | |||
+ | ==== Download the Eclipse RCP updatesite ==== | ||
+ | |||
+ | To install Eclipse plugins offline you have to download the updatesite. | ||
+ | Here is an example to download instasearch. | ||
+ | |||
+ | < | ||
+ | set eclipse_home=" | ||
+ | set updatesite=http:// | ||
+ | set folder=d: | ||
+ | |||
+ | |||
+ | %eclipse_home% -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source %updatesite% -destination %folder% | ||
+ | %eclipse_home% -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source %updatesite% -destination %folder% | ||
+ | </ | ||
Line 1170: | Line 1248: | ||
</ | </ | ||
* Injections will only be processed in classes, which are referenced in Application Model. \\ (see [[http:// | * Injections will only be processed in classes, which are referenced in Application Model. \\ (see [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
==== Target Platform ==== | ==== Target Platform ==== | ||
eclipse/eclipse_rcp.1468567191.txt.gz · Last modified: (external edit)