SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Software Packet Manager
       Use EMF and P2 to manage device development environment
       Gaetan Morice – Eclipse Con 2010




Sierra Wireless Proprietary and Confidential   January 21, 2010   Page 1
Sierra Wireless ?

                           Mobile Broadband Device




                           Intelligent Embedded Modules




                           Intelligent Gateways & Routers




                           Services Platform & Solutions



                    January 21, 2010            Page 2
Device software development ?




                #include <stdio.h>

                int main()
                {
                  printf("Hello world!n");
                  return 0;
                }




             My application




                                      January 21, 2010   Page 3
Device software development ?



              The device



                #include <stdio.h>

                int main()
                {
                  printf("Hello world!n");
                  return 0;
                }




             My application




                                      January 21, 2010   Page 4
Device software development ?



              The device



                #include <stdio.h>

                int main()
                {
                  printf("Hello world!n");
                  return 0;
                }




             My application



                                                         The IDE



                                      January 21, 2010      Page 5
Device software development ?



                   The device



                     #include <stdio.h>

                     int main()
                     {
                       printf("Hello world!n");
                       return 0;
                     }




                  My application
      ?
                                                              The IDE
The development
  environment

                                           January 21, 2010      Page 6
Development environment ?




The development
  environment




                  January 21, 2010   Page 7
Development environment ?


                                 Firmwares




The development
  environment




                  January 21, 2010           Page 8
Development environment ?


                                 Firmwares


                                 Libraries


The development
  environment




                  January 21, 2010           Page 9
Development environment ?


                                 Firmwares


                                 Libraries


The development                  Tools
  environment




                  January 21, 2010           Page 10
Development environment ?


                                 Firmwares


                                 Libraries


The development                  Tools
  environment



                                 Drivers


                  January 21, 2010           Page 11
Here come the problems !




                  January 21, 2010   Page 12
Here come the problems !


 Complex dependencies




                        January 21, 2010   Page 13
Here come the problems !


 Complex dependencies


 Multiple versions




                        January 21, 2010   Page 14
Here come the problems !


 Complex dependencies


 Multiple versions


 Hardware specificity




                        January 21, 2010   Page 15
Here come the problems !


 Complex dependencies


 Multiple versions


 Hardware specificity


 Parallel development


                        January 21, 2010   Page 16
A classic scenario
Checkout the project from the SVN




                                    January 21, 2010   Page 17
A classic scenario
Checkout the project from the SVN

                      Compile it




                                    January 21, 2010   Page 18
A classic scenario
Checkout the project from the SVN

                      Compile it          Compilation error




                                    January 21, 2010          Page 19
A classic scenario
Checkout the project from the SVN

                        Compile it          Compilation error

      The project rely on a vendor specific library




                                      January 21, 2010          Page 20
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project




                                       January 21, 2010            Page 21
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

                                Compile the project




                                       January 21, 2010            Page 22
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project




                                       January 21, 2010            Page 23
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute




                                       January 21, 2010            Page 24
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

                                                          Modify the paths




                                       January 21, 2010             Page 25
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

                          Compile the project             Modify the paths




                                       January 21, 2010             Page 26
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths




                                       January 21, 2010             Page 27
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had made previously




                                       January 21, 2010             Page 28
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had develop

                         Compile the project




                                       January 21, 2010             Page 29
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had develop

Compilation error        Compile the project




                                       January 21, 2010             Page 30
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had develop

Compilation error        Compile the project

    Your library rely on another one that is not compatible
    with the project’s dependencies

                                       January 21, 2010             Page 31
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute

  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had develop

Compilation error        Compile the project

    Your library rely on another one that is not compatible
    with the project’s dependencies
                                              …
                                       January 21, 2010             Page 32
A classic scenario
Checkout the project from the SVN

                        Compile it           Compilation error

      The project rely on a vendor specific library

             Find the library, download it and put it next to the project

     Compilation error          Compile the project
              The paths to the includes in the make file of the project are absolute
                    Pain and frustration
  Compilation OK          Compile the project             Modify the paths

       Start to work, add to the project a library you had develop

Compilation error        Compile the project

    Your library rely on another one that is not compatible
    with the project’s dependencies
                                              …
                                       January 21, 2010             Page 33
What do we exactly need ?




                  January 21, 2010   Page 34
What do we exactly need ?

      Package it




                   January 21, 2010   Page 35
What do we exactly need ?

      Package it




                        Add ID and version



                   ID




                         January 21, 2010    Page 36
What do we exactly need ?

      Package it

                          Make it available




                        Add ID and version



                   ID




                         January 21, 2010     Page 37
What do we exactly need ?

      Package it

                          Make it available




                        Add ID and version


                                              Provision it
                   ID




                         January 21, 2010       Page 38
What do we exactly need ?

      Package it

                          Make it available




                        Add ID and version


                                              Provision it
                   ID


                             Use it




                         January 21, 2010       Page 39
What do we exactly need ?

      Package it

                          Make it available




                        Add ID and version


                                              Provision it
                   ID


                             Use it




                         January 21, 2010       Page 40
Wait a minute !


   It reminds me of something !




                    January 21, 2010   Page 41
Wait a minute !


   It reminds me of something !



   The Eclipse Update System !




                    January 21, 2010   Page 42
Use plug-ins
     To package
Basic resource plug-ins




                          January 21, 2010   Page 43
Use EMF
   To identify




                 January 21, 2010   Page 44
Use EMF
   To identify




                 January 21, 2010   Page 45
Use p2
     To provision
Basic p2 update site

ID infos in P2 meta-data

Custom UI on top of p2




                           January 21, 2010   Page 46
Use p2
   To provision




                  January 21, 2010   Page 47
Use extension points
      To install
Plug-in registry to listen to new installations
Access to EMF model
Perform specific actions according to the package




                            January 21, 2010   Page 48
Use EMF
   In projects properties




                    January 21, 2010   Page 49
A step further
A central repository for multiple vendors

Allow to have a single Eclipse distro




                             January 21, 2010   Page 50
Questions?



    March 22nd, 2010   Page 51
Gaétan Morice
gmorice@sierrawireless.com




                             Page

Weitere ähnliche Inhalte

Andere mochten auch

ירושלים הביזאנטים
ירושלים הביזאנטיםירושלים הביזאנטים
ירושלים הביזאנטיםhaimkarel
 
Media Evalutaion Questuion 2
Media Evalutaion Questuion 2Media Evalutaion Questuion 2
Media Evalutaion Questuion 2Mason Atkinson
 
הפקודה
הפקודההפקודה
הפקודהhaimkarel
 
Ubay Syahru M U Iia Pe
Ubay Syahru M U Iia PeUbay Syahru M U Iia Pe
Ubay Syahru M U Iia Pejuhro
 
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...Kalle
 
Hyves Cbw Mitex Harry Van Wouter
Hyves Cbw Mitex Harry Van WouterHyves Cbw Mitex Harry Van Wouter
Hyves Cbw Mitex Harry Van Wouterguest2f17d3
 
Aang Apandi
Aang ApandiAang Apandi
Aang ApandiAANG88
 
Don't Trust, And Verify - Mobile Application Attacks
Don't Trust, And Verify - Mobile Application AttacksDon't Trust, And Verify - Mobile Application Attacks
Don't Trust, And Verify - Mobile Application AttacksPrathan Phongthiproek
 
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...Kalle
 
Estrategia de innovacion empresarial
Estrategia de innovacion empresarialEstrategia de innovacion empresarial
Estrategia de innovacion empresarialLuisa Rendon
 

Andere mochten auch (15)

Hulu
HuluHulu
Hulu
 
ירושלים הביזאנטים
ירושלים הביזאנטיםירושלים הביזאנטים
ירושלים הביזאנטים
 
Media Evalutaion Questuion 2
Media Evalutaion Questuion 2Media Evalutaion Questuion 2
Media Evalutaion Questuion 2
 
Hacker Space
Hacker SpaceHacker Space
Hacker Space
 
Rock'n Roll in Database S
Rock'n Roll in Database SRock'n Roll in Database S
Rock'n Roll in Database S
 
הפקודה
הפקודההפקודה
הפקודה
 
Ubay Syahru M U Iia Pe
Ubay Syahru M U Iia PeUbay Syahru M U Iia Pe
Ubay Syahru M U Iia Pe
 
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...
Kollenberg Visual Search In The (Un)Real World How Head Mounted Displays Affe...
 
TEMA 2B GRAMMAR NOUNS
TEMA 2B GRAMMAR NOUNSTEMA 2B GRAMMAR NOUNS
TEMA 2B GRAMMAR NOUNS
 
Hyves Cbw Mitex Harry Van Wouter
Hyves Cbw Mitex Harry Van WouterHyves Cbw Mitex Harry Van Wouter
Hyves Cbw Mitex Harry Van Wouter
 
Aang Apandi
Aang ApandiAang Apandi
Aang Apandi
 
D I G I T R O M A N
D I G I T  R O M A ND I G I T  R O M A N
D I G I T R O M A N
 
Don't Trust, And Verify - Mobile Application Attacks
Don't Trust, And Verify - Mobile Application AttacksDon't Trust, And Verify - Mobile Application Attacks
Don't Trust, And Verify - Mobile Application Attacks
 
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
Nakayama Estimation Of Viewers Response For Contextual Understanding Of Tasks...
 
Estrategia de innovacion empresarial
Estrategia de innovacion empresarialEstrategia de innovacion empresarial
Estrategia de innovacion empresarial
 

Ähnlich wie Software Packet Manager

Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernizationbmerkle
 
Azure Saturday - Build and Deploy multi-arch Docker Images
Azure Saturday - Build and Deploy multi-arch Docker ImagesAzure Saturday - Build and Deploy multi-arch Docker Images
Azure Saturday - Build and Deploy multi-arch Docker ImagesStefan Scherer
 
Docker Meetup Mannheim: Multiarch docker images for cross-platform apps
Docker Meetup Mannheim: Multiarch docker images for cross-platform appsDocker Meetup Mannheim: Multiarch docker images for cross-platform apps
Docker Meetup Mannheim: Multiarch docker images for cross-platform appsStefan Scherer
 
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesLavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesMary Connor
 
Creating Packages that Run Anywhere with Chef Habitat
Creating Packages that Run Anywhere with Chef HabitatCreating Packages that Run Anywhere with Chef Habitat
Creating Packages that Run Anywhere with Chef HabitatNell Shamrell-Harrington
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Stefan Scherer
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX ApplicationsEnkitec
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian WitalecSimone Basso
 
Thinking tts - Eric Floe
Thinking tts - Eric FloeThinking tts - Eric Floe
Thinking tts - Eric FloeEric Floe
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcodeSunny Shaikh
 
Product Development in the Age of Cloud Native
Product Development in the Age of Cloud NativeProduct Development in the Age of Cloud Native
Product Development in the Age of Cloud NativeJohn Mark Walker
 
Keil tutorial
Keil tutorialKeil tutorial
Keil tutorialanishgoel
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareLeon Anavi
 
SOA, OTD, and Web 2.0 = Collaboration
SOA, OTD, and Web 2.0 = CollaborationSOA, OTD, and Web 2.0 = Collaboration
SOA, OTD, and Web 2.0 = Collaborationjstogdill
 

Ähnlich wie Software Packet Manager (20)

Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernization
 
Azure Saturday - Build and Deploy multi-arch Docker Images
Azure Saturday - Build and Deploy multi-arch Docker ImagesAzure Saturday - Build and Deploy multi-arch Docker Images
Azure Saturday - Build and Deploy multi-arch Docker Images
 
Docker Meetup Mannheim: Multiarch docker images for cross-platform apps
Docker Meetup Mannheim: Multiarch docker images for cross-platform appsDocker Meetup Mannheim: Multiarch docker images for cross-platform apps
Docker Meetup Mannheim: Multiarch docker images for cross-platform apps
 
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesLavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
 
Creating Packages that Run Anywhere with Chef Habitat
Creating Packages that Run Anywhere with Chef HabitatCreating Packages that Run Anywhere with Chef Habitat
Creating Packages that Run Anywhere with Chef Habitat
 
Capacitor 1.0 launch
Capacitor 1.0 launchCapacitor 1.0 launch
Capacitor 1.0 launch
 
Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019
 
Using the NDK and Renderscript
Using the NDK and RenderscriptUsing the NDK and Renderscript
Using the NDK and Renderscript
 
Developing Commercial APEX Applications
Developing Commercial APEX ApplicationsDeveloping Commercial APEX Applications
Developing Commercial APEX Applications
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 
Thinking tts - Eric Floe
Thinking tts - Eric FloeThinking tts - Eric Floe
Thinking tts - Eric Floe
 
Ionic best practices
Ionic best practicesIonic best practices
Ionic best practices
 
Ionic best practices
Ionic best practicesIonic best practices
Ionic best practices
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcode
 
Product Development in the Age of Cloud Native
Product Development in the Age of Cloud NativeProduct Development in the Age of Cloud Native
Product Development in the Age of Cloud Native
 
Keil tutorial
Keil tutorialKeil tutorial
Keil tutorial
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
 
E engineering
E engineeringE engineering
E engineering
 
SOA, OTD, and Web 2.0 = Collaboration
SOA, OTD, and Web 2.0 = CollaborationSOA, OTD, and Web 2.0 = Collaboration
SOA, OTD, and Web 2.0 = Collaboration
 

Software Packet Manager

  • 1. Software Packet Manager Use EMF and P2 to manage device development environment Gaetan Morice – Eclipse Con 2010 Sierra Wireless Proprietary and Confidential January 21, 2010 Page 1
  • 2. Sierra Wireless ? Mobile Broadband Device Intelligent Embedded Modules Intelligent Gateways & Routers Services Platform & Solutions January 21, 2010 Page 2
  • 3. Device software development ? #include <stdio.h> int main() { printf("Hello world!n"); return 0; } My application January 21, 2010 Page 3
  • 4. Device software development ? The device #include <stdio.h> int main() { printf("Hello world!n"); return 0; } My application January 21, 2010 Page 4
  • 5. Device software development ? The device #include <stdio.h> int main() { printf("Hello world!n"); return 0; } My application The IDE January 21, 2010 Page 5
  • 6. Device software development ? The device #include <stdio.h> int main() { printf("Hello world!n"); return 0; } My application ? The IDE The development environment January 21, 2010 Page 6
  • 7. Development environment ? The development environment January 21, 2010 Page 7
  • 8. Development environment ? Firmwares The development environment January 21, 2010 Page 8
  • 9. Development environment ? Firmwares Libraries The development environment January 21, 2010 Page 9
  • 10. Development environment ? Firmwares Libraries The development Tools environment January 21, 2010 Page 10
  • 11. Development environment ? Firmwares Libraries The development Tools environment Drivers January 21, 2010 Page 11
  • 12. Here come the problems ! January 21, 2010 Page 12
  • 13. Here come the problems ! Complex dependencies January 21, 2010 Page 13
  • 14. Here come the problems ! Complex dependencies Multiple versions January 21, 2010 Page 14
  • 15. Here come the problems ! Complex dependencies Multiple versions Hardware specificity January 21, 2010 Page 15
  • 16. Here come the problems ! Complex dependencies Multiple versions Hardware specificity Parallel development January 21, 2010 Page 16
  • 17. A classic scenario Checkout the project from the SVN January 21, 2010 Page 17
  • 18. A classic scenario Checkout the project from the SVN Compile it January 21, 2010 Page 18
  • 19. A classic scenario Checkout the project from the SVN Compile it Compilation error January 21, 2010 Page 19
  • 20. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library January 21, 2010 Page 20
  • 21. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project January 21, 2010 Page 21
  • 22. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compile the project January 21, 2010 Page 22
  • 23. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project January 21, 2010 Page 23
  • 24. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute January 21, 2010 Page 24
  • 25. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Modify the paths January 21, 2010 Page 25
  • 26. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compile the project Modify the paths January 21, 2010 Page 26
  • 27. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths January 21, 2010 Page 27
  • 28. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had made previously January 21, 2010 Page 28
  • 29. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had develop Compile the project January 21, 2010 Page 29
  • 30. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had develop Compilation error Compile the project January 21, 2010 Page 30
  • 31. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had develop Compilation error Compile the project Your library rely on another one that is not compatible with the project’s dependencies January 21, 2010 Page 31
  • 32. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had develop Compilation error Compile the project Your library rely on another one that is not compatible with the project’s dependencies … January 21, 2010 Page 32
  • 33. A classic scenario Checkout the project from the SVN Compile it Compilation error The project rely on a vendor specific library Find the library, download it and put it next to the project Compilation error Compile the project The paths to the includes in the make file of the project are absolute Pain and frustration Compilation OK Compile the project Modify the paths Start to work, add to the project a library you had develop Compilation error Compile the project Your library rely on another one that is not compatible with the project’s dependencies … January 21, 2010 Page 33
  • 34. What do we exactly need ? January 21, 2010 Page 34
  • 35. What do we exactly need ? Package it January 21, 2010 Page 35
  • 36. What do we exactly need ? Package it Add ID and version ID January 21, 2010 Page 36
  • 37. What do we exactly need ? Package it Make it available Add ID and version ID January 21, 2010 Page 37
  • 38. What do we exactly need ? Package it Make it available Add ID and version Provision it ID January 21, 2010 Page 38
  • 39. What do we exactly need ? Package it Make it available Add ID and version Provision it ID Use it January 21, 2010 Page 39
  • 40. What do we exactly need ? Package it Make it available Add ID and version Provision it ID Use it January 21, 2010 Page 40
  • 41. Wait a minute ! It reminds me of something ! January 21, 2010 Page 41
  • 42. Wait a minute ! It reminds me of something ! The Eclipse Update System ! January 21, 2010 Page 42
  • 43. Use plug-ins To package Basic resource plug-ins January 21, 2010 Page 43
  • 44. Use EMF To identify January 21, 2010 Page 44
  • 45. Use EMF To identify January 21, 2010 Page 45
  • 46. Use p2 To provision Basic p2 update site ID infos in P2 meta-data Custom UI on top of p2 January 21, 2010 Page 46
  • 47. Use p2 To provision January 21, 2010 Page 47
  • 48. Use extension points To install Plug-in registry to listen to new installations Access to EMF model Perform specific actions according to the package January 21, 2010 Page 48
  • 49. Use EMF In projects properties January 21, 2010 Page 49
  • 50. A step further A central repository for multiple vendors Allow to have a single Eclipse distro January 21, 2010 Page 50
  • 51. Questions? March 22nd, 2010 Page 51