This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
studio-se-master/build/Target_Platform_for_Talend_Studio/README.md
hzhao-talendbj 92225f8337 feat(TUP-29701): Upgrade eclipse 418 (#352)
* chore : eclipse upgrade test

* feat(TUP-29701): upgrade eclipse to eclipse 4.18

* change target_platform

* change config.ini

* change talend.product

* change config.ini for other products

* change delta-pack to 4.18.0

* TUP-29701 add feature org.eclipse.m2m.atl.feature.group to fix compile
error

* TUP-29701 add target platform

* TUP-29701  change start level to 3 to set high priority when regist
handler (mainly to use org.ops4j.pax.url.mvn_2.6.1.Talend.jar instead of
org.eclipse.m2e.core) to fix Caused by: java.io.IOException: required
format is groupId:artifactId:version[:packaging[:classifier]]

* TUP-29701 maybe wrong judgement before, need to make sure
org.ops4j.pax.url.mvn is regist after org.eclipse.m2e.core . so change
startlevel 5 to test

* change url

* TUP-29701 change ini jdk to 11 and change ops4j to 2.6.2

* eclipse upgrade un-commonent module

* eclipse upgrade remove eclipse-orbit-p2-repo.url

* eclipse upgrade   change to target R2021-03

* eclipse upgrade TUP-31484 remove bonita p2 and add some plugins

* eclipse upgrade TUP-31484  change delta pack to 4.19.0

* TUP-31484 eclipse upgrade remove jackson and change talend.product

* TUP-31484 change back to 4

* TUP-31484 try add org.apache.xerces.jaxp.DocumentBuilderFactoryImpl  to
ini file

* TUP-31484 add pluins for ee

* TUP-31484 remove bonita jackson

* TUP-31484 add plugin for jgit

* TUP-31484  change for temp p2 url for temp build

* TUP-31484 change temp p2 url

* TUP-31484 set temp p2

* TUP-31484 change url to add /test

* TUP-31484 uncomment tmdm module

* TUP-31484 change version org.eclipse.equinox.launcher

* TUP-31484 revert temp p2 url

Co-authored-by: Nicolas Rousseau <nrousseau@talend.com>
2021-06-18 17:36:20 +08:00

3.4 KiB

Current target platform

Eclipse used for Target setup: 2020-12

Using: Eclipse: https://download.eclipse.org/releases/2020-12 Orbit: https://download.eclipse.org/tools/orbit/downloads/drops/R20201130205003/repository/ Jeeyul: https://eclipse.jeeeyul.net/update/ Nebula / Nattable: https://download.eclipse.org/nebula/releases/2.4.3/ / https://download.eclipse.org/nattable/releases/2.0.0/repository/ Eclipse test plugin: https://download.eclipse.org/eclipse/updates/4.18

How to prepare a target platform for testing in eclipse.

Open the .target in Eclipse using the Target Editor. Either edit from the target editor, or modify manually.

Note: Seems much faster if we know the list of features needed to edit manually the file to set the version.

Once target is prepared, most simple is to: Click on button on the top right corder of the target editor in Eclipse, export it to a folder, this will create the p2 target.

Then set as usual the target in eclipse, using folders with:

  • Eclipse p2 repository
  • tos p2
  • ee p2 (if testing ee product)
  • bonita p2 (if test bonita/MDM)
  • babel p2 (can be included in eclipse p2, just not required for development normally) tos/ee p2, can be easily built manually / edited to customize the target platform easily. (mvn package in the folder + edit pom to add more dependencies)

It's sometimes more simple to add a new dependency directly from tos p2 target rather than update the eclipse platform itself. Another point is that Eclipse p2 / tos p2 should be enough normally to check from a development environment for a TOS.

How to prepare the final target platform to build the studio:

First, Eclipse p2 repository (main one):

  • Difficulty here is more to get a target working for all os : macos, linux, windows.
  • It needs to export the target platform three times, one for each OS, then rebuild the p2.
  • Export first as win32 (Environment: win32/win32/x86_64), in a folder for example /win32
  • Export as macos (Environment: macos/cocoa/x86_64), in a folder for example /macos
  • Export as linux (Environment: linux/gtk/x86_64), in a folder for example /linux
  • Copy / merge all the plugins/features into another folder, for example: /building-target
  • Now we need to rebuild the p2 (contents/artifacts), and put it in another folder for example /any, using:

/Applications/Eclipse.app/Contents/MacOS/eclipse -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadataRepository file:/any -artifactRepository file:/any -source file:/building-target -config ANY -publishArtifacts -compress

(replace of course with the origin folder)

Once it's done, build can be tested locally (modify pom / set url of folder using file:// as prefix instead of URL) If everything is ok, target can be deployed to nexus, using for example:

mvn deploy:deploy-file -Dfile=/Applications/java/talend/TargetPlatformE44/p2site/TargetPlatform.zip -DgroupId=org.talend.repo -DartifactId=eclipse-p2-repo -Dversion=4.18.0 -Dpackaging=zip -Durl=https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceSnapshot -DrepositoryId=talend_nexus_deployment (prefer use the original version of eclipse instead of talend version)

Nexus p2 repository will be available at https://artifacts-oss.talend.com/nexus/content/unzip/TalendP2UnzipOpenSourceRelease/org/talend/repo/eclipse-p2-repo/4.18.0/eclipse-p2-repo-4.18.0.zip-unzip/