]> gerrit.simantics Code Review - simantics/third-party.git/blob - README.md
Removed old batik
[simantics/third-party.git] / README.md
1 # Adding components to the set of manually built third-party dependencies\r
2 \r
3 The simantics/platform.git repository contains a Maven project releng/org.simantics.sdk.build.p2.site/ which defines a set of libraries that are built into bundles and from there into a P2 repository completely based on standard Maven repository contents.\r
4 \r
5 Not all bundles can be taken from Maven though, without considerable effort. Sometimes it is just easier to bundle the libraries into OSGi bundles manually and join them into a P2 repository.\r
6 \r
7 This repository contains two folders: plugins and features.\r
8 \r
9 If you want to manually bundle an external third-party library into the Simantics target platform, add any plug-in/fragment bundles related to into the *plugins* folder.\r
10 \r
11 If your bundled library has dependencies to other bundles, you should probably create a feature project in the *features* directory that includes the plug-in(s) required by those plug-ins.\r
12 \r
13 When building, it is recommended to use a separate otherwise empty workspace and the target definition file */externals.target*. After you've created the necessary plugins and features, use the Eclipse PDE IDE plug-in/feature export wizards to produce the required P2 repository content under /p2/{features,plugins}.\r
14 \r
15 The *publish.sh* script at the root of the repository will be ran automatically by the Simantics platform Jenkins job [SDK/manual-third-party-components](https://www.simantics.org/jenkins/job/SDK/job/manual-third-party-components/). It will create the required P2 repository content and artifact metadata files under the *p2/* directory based on the contents of directories *p2/{features,plugins}*.\r
16 \r
17 To summarize, what ever you put into the **p2** directory will be published by Jenkins as a P2 repository at `http://www.simantics.org/download/<PUBLISHED_BRANCH_NAME>/external-components/manual`, i.e. for master branch the URL will be [http://www.simantics.org/download/master/external-components/manual](http://www.simantics.org/download/master/external-components/manual). To have the [SDK/manual-third-party-components](https://www.simantics.org/jenkins/job/SDK/job/manual-third-party-components/) Jenkins job publish the p2 repository online, you must run the build with the parameter `PUBLISHED_BRANCH_NAME` set to the name of an existing simantics platform branch.