software packet manager

52
Page Software Packet Manager Use EMF and P2 to manage device development environment Gaetan Morice Eclipse Con 2010 January 21, 2010 Sierra Wireless Proprietary and Confidential 1

Upload: gaetanmorice

Post on 27-Jun-2015

614 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Software Packet Manager

Page

Software Packet ManagerUse EMF and P2 to manage device development environment

Gaetan Morice – Eclipse Con 2010

January 21, 2010Sierra Wireless Proprietary and Confidential 1

Page 2: Software Packet Manager

Page

Sierra Wireless ?

January 21, 2010 2

Mobile Broadband Device

Intelligent Embedded Modules

Intelligent Gateways & Routers

Services Platform & Solutions

Page 3: Software Packet Manager

Page

Device software development ?

January 21, 2010 3

#include <stdio.h>

int main()

{

printf("Hello world!\n");

return 0;

}

My application

Page 4: Software Packet Manager

Page

Device software development ?

January 21, 2010 4

The device

#include <stdio.h>

int main()

{

printf("Hello world!\n");

return 0;

}

My application

Page 5: Software Packet Manager

Page

Device software development ?

January 21, 2010 5

The device

The IDE

#include <stdio.h>

int main()

{

printf("Hello world!\n");

return 0;

}

My application

Page 6: Software Packet Manager

Page

Device software development ?

January 21, 2010 6

The device

The IDE

?

The development

environment

#include <stdio.h>

int main()

{

printf("Hello world!\n");

return 0;

}

My application

Page 7: Software Packet Manager

Page

Development environment ?

January 21, 2010 7

The development

environment

Page 8: Software Packet Manager

Page

Development environment ?

January 21, 2010 8

The development

environment

Firmwares

Page 9: Software Packet Manager

Page

Development environment ?

January 21, 2010 9

The development

environment

Firmwares

Libraries

Page 10: Software Packet Manager

Page

Development environment ?

January 21, 2010 10

The development

environment

Firmwares

Libraries

Tools

Page 11: Software Packet Manager

Page

Development environment ?

January 21, 2010 11

The development

environment

Firmwares

Libraries

Tools

Drivers

Page 12: Software Packet Manager

Page

Here come the problems !

January 21, 2010 12

Page 13: Software Packet Manager

Page

Here come the problems !

January 21, 2010 13

Complex dependencies

Page 14: Software Packet Manager

Page

Here come the problems !

January 21, 2010 14

Complex dependencies

Multiple versions

Page 15: Software Packet Manager

Page

Here come the problems !

January 21, 2010 15

Complex dependencies

Multiple versions

Hardware specificity

Page 16: Software Packet Manager

Page

Here come the problems !

January 21, 2010 16

Complex dependencies

Multiple versions

Hardware specificity

Parallel development

Page 17: Software Packet Manager

Page

A classic scenarioCheckout the project from the SVN

January 21, 2010 17

Page 18: Software Packet Manager

Page

A classic scenarioCheckout the project from the SVN

Compile it

January 21, 2010 18

Page 19: Software Packet Manager

Page

A classic scenarioCheckout the project from the SVN

Compile it Compilation error

January 21, 2010 19

Page 20: Software Packet Manager

Page

A classic scenarioCheckout the project from the SVN

Compile it Compilation error

The project rely on a vendor specific library

January 21, 2010 20

Page 21: Software Packet Manager

Page

A classic scenarioCheckout 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 21

Page 22: Software Packet Manager

Page

A classic scenarioCheckout 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 22

Page 23: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

January 21, 2010 23

Page 24: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

January 21, 2010 24

Page 25: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the paths

January 21, 2010 25

Page 26: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompile the project

January 21, 2010 26

Page 27: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

January 21, 2010 27

Page 28: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

January 21, 2010 28

Page 29: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

Compile the project

January 21, 2010 29

Page 30: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

Compile the project Compilation error

January 21, 2010 30

Page 31: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

Compile the project Compilation error

Your library rely on another one that is not compatible

with the project’s dependencies

January 21, 2010 31

Page 32: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

Compile the project Compilation error

Your library rely on another one that is not compatible

with the project’s dependencies…

January 21, 2010 32

Page 33: Software Packet Manager

Page

A classic scenarioCheckout 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 Compilation error

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

Modify the pathsCompilation OK Compile the project

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

Compile the project Compilation error

Your library rely on another one that is not compatible

with the project’s dependencies…

Pain and frustration

January 21, 2010 33

Page 34: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 34

Page 35: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 35

Package it

Page 36: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 36

ID

Package it

Add ID and version

Page 37: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 37

ID

Package it

Add ID and version

Make it available

Page 38: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 38

ID

Package it

Add ID and version

Make it available

Provision it

Page 39: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 39

ID

Package it

Add ID and version

Make it available

Provision it

Use it

Page 40: Software Packet Manager

Page

What do we exactly need ?

January 21, 2010 40

ID

Package it

Add ID and version

Make it available

Provision it

Use it

Page 41: Software Packet Manager

Page

Wait a minute !

January 21, 2010 41

It reminds me of something !

Page 42: Software Packet Manager

Page

Wait a minute !

January 21, 2010 42

It reminds me of something !

The Eclipse Update System !

Page 43: Software Packet Manager

Page

Use plug-ins

January 21, 2010 43

To package

Basic resource plug-ins

Page 44: Software Packet Manager

Page

Use EMF

January 21, 2010 44

To identify

Page 45: Software Packet Manager

Page

Use EMF

January 21, 2010 45

To identify

Page 46: Software Packet Manager

Page

Use p2

January 21, 2010 46

To provision

Basic p2 update site

ID infos in P2 meta-data

Custom UI on top of p2

Page 47: Software Packet Manager

Page

Use p2

January 21, 2010 47

To provision

Page 48: Software Packet Manager

Page

Use extension points

January 21, 2010 48

Plug-in registry to listen to new installations

Access to EMF model

Perform specific actions according to the package

To install

Page 49: Software Packet Manager

Page

Use EMF

January 21, 2010 49

In projects properties

Page 50: Software Packet Manager

Page

A step further

A central repository for multiple vendors

Allow to have a single Eclipse distro

January 21, 2010 50

Page 51: Software Packet Manager

PageMarch 22nd, 2010 51

Questions?

Page 52: Software Packet Manager

Page

Gaétan [email protected]