• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A journey with Target Platforms
 

A journey with Target Platforms

on

  • 3,057 views

Slides from EclipseCon Europe 2012 session "A journey with Target Platforms". ...

Slides from EclipseCon Europe 2012 session "A journey with Target Platforms".
This presentation contains some tips on tricks on how to leverage Eclipse target platforms at development time and build time, based n experiences from JBoss Tools team.

Statistics

Views

Total Views
3,057
Views on SlideShare
3,054
Embed Views
3

Actions

Likes
1
Downloads
6
Comments
0

1 Embed 3

https://twitter.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A journey with Target Platforms A journey with Target Platforms Presentation Transcript

    • A journey with Target PlatformsMickael Istria @mickaelistriaEclipseCon Europe 2012Licensed under CC-BY 3.0
    • Target Platforms...“Which dependencies are available?”
    • Before Target-PlatformsPDE allows you to add dependency to any bundle from IDE Workspace IDE Eclipse Core 4.2 Bundle B PDE Default TP EGit Feature F GMF Tooling Mylyn JBoss Tools 4.0 Depends on Does NOT depend on Depends on ANOTHER VERSION
    • Default Target-PlatformsPDE allows you to add dependency to any bundle from IDE Workspace IDE Eclipse Core 4.2 Bundle B PDE Default TP EGit Feature F GMF Tooling Mylyn JBoss Tools 4.0 Depends on Does NOT depend on Depends on ANOTHER VERSION
    • Target-platforms p2 Repo B p2 Repo A ● Bundle B1 (1.3.0) ● Bundle B1 (1.0.0) ● Bundle B3 (1.0.0) ● Bundle B2 (1.0.0) ● Feature F1 (1.3.0) ● Feature F1 (1.0.0) My dependencies set: Local Filesystem a .target file ● Bundle B3 (1.0.0) ● Bundle B4 (5.1.201)Local Filesystem● RCP app (“installation”) ● plugins/* Local Filesystem ● Feature F1 (1.2.0) ● Feature F3 (1.0.0) ● Feature F4 (5.1.201)Specify available dependencies in PDE Workspaceor Maven Reactor.
    • Edit Target PlatformsFrom Preferences
    • Edit Target PlatformsWith Target Editor
    • Edit Target Platforms as XML
    • Include Sources in IDE But not in Tycho ;)
    • Planner vs SlicerPlanner tries to get dependencies – and fails when it cant. [~p2 director]Slicer just takes what you want it to take. [~p2 mirror]
    • Use TP in IDE OR
    • Use TP in a Maven build
    • Separate Tools and Dependencies Workspace IDE Eclipse Core 4.2 Bundle B PDE Managed TP EGit Feature FGMF Tooling Mylyn JBoss Tools 4.0 EGit repo JBoss Tools 3.3 repo Eclipse Indigo repo ● Eclipse Core 3.7
    • Target for compatibility: Example● JBoss Tools – 1 target for “minimal dependencies” ensures we can build and run against our minimal requirements – 1 target for “recommended dependencies” ensures we can build and run against latest versions of deps● JBoss Developer Studio (install into Eclipse) – 1 target for “minimal” – 1 target for “recommended”● JBoss Developer Studio (RCP) Same one – Uses “recommended” for product build
    • Develop for an “old” productWithout loading all code as projects in your workspace Workspace IDE Eclipse Core 4.2 Bundle A (1.1.0) PDE Managed TP EGit Bundle C GMF Tooling Mylyn JBoss Tools 4.0 Older RCP app ● Bundle A (1.0.0) ● Bundle B IDE only! ● Feature F Does not work with Tycho
    • Share TP: on SCM
    • Share TP: “mvn deploy” it
    • Performances: aggregate repoA repoB multiple repoC aggregated Aggregated repo repoE repoD● Create a new site + a new .target file● 2 Maven Mojos available – “Flatten” platform (multiple to aggregated) org.jboss.tools.tycho-plugins:repository-utils:0.0.1-SNAPSHOT:flattern-target – TP to p2 repo org.jboss.tools.tycho-plugins:repository-utils:0.0.1-SNAPSHOT:mirror-target-to-repo
    • Performances: mirrorshttp://wiki.eclipse.org/Tycho/Target_Platform/Authentication_and_Mirrors#Mirrors remote piiiiiiiiiiiiiiiiiiiiiiiiiiiiiiing Remote repo remote + ping Local mirror repo Mirror defintion In settings.xml
    • Missing concept: project-specific TP● PDE only allows 1 TP for the whole workspace – Finer grain would be convenient – https://bugs.eclipse.org/bugs/show_bug.cgi?id=159072● Tycho already supports “project-specific” TP. – Could PDE rely on m2e and Tycho to use TP specified in project pom?
    • Missing concept: “compound” TPCompose, use multiple or reference target-platforms– 1 .target for general deps (Eclipse.org, GWT...)– Each project adds its specific extra deps– Not supported in PDE nor Tycho ● https://bugs.eclipse.org/bugs/show_bug.cgi?id=392652 ● https://bugs.eclipse.org/bugs/show_bug.cgi?id=380120– Maven plugin to merge targets ● https://github.com/jbosstools/jbosstools-maven-plugins
    • Related (?) topics● Most p2 repo are not sustainable – https://bugs.eclipse.org/bugs/show_bug.cgi?id=331385 – Mirror and manage them locally● Still no link between Eclipse/p2/Tycho and SpringSource EBR – Would be useful to allow EBR bundles in a TP – https://issuetracker.springsource.com/browse/EBR-868
    • Questions? Discussions? Debates?Mickael Istria @mickaelistriaEclipseCon Europe 2012Licensed under CC-BY 3.0