The Launching Framework in Eclipse

7
1 The Launching Framework in Eclipse Cheng-Chia Chen

description

The Launching Framework in Eclipse. Cheng-Chia Chen. Outlines. source: http://www.eclipse.org/articles/Article-Launch-Framework/launch.html Eclipse's launching capabilities depend entirely on the current set of installed plug-ins. API available to build launching plug-ins and - PowerPoint PPT Presentation

Transcript of The Launching Framework in Eclipse

Page 1: The Launching Framework in Eclipse

1

The Launching Framework in Eclipse

Cheng-Chia Chen

Page 2: The Launching Framework in Eclipse

2

Outlines

• source:– http://www.eclipse.org/articles/Article-Launch-Framework/launch.

html

• Eclipse's launching capabilities– depend entirely on the current set of installed plug-ins. – API available to build launching plug-ins and – developing an example launcher using this API.

• Prerequisites:– basic understanding of Eclipse plug-in architecture– understanding the structure of plugin.xml– knowledge of java and java environment

Page 3: The Launching Framework in Eclipse

3

What is launching ?

• launching is defined as running or debugging a program from within Eclipse.

• a launcher is a set of Java classes that live in an Eclipse plug-in that performs launching.

• The base Eclipse workbench has no launcher.– It is only through plug-ins that Eclipse gains the ability to launch.

• The Eclipse SDK does ship with a set of useful launchers for launching– local Java applications & Java applets, – connecting to remote Java applications,– JUnit test suites and – starting an Eclipse workbench,

• if none of these satisfy your needs, you may need to write your own launcher.

Page 4: The Launching Framework in Eclipse

4

The framework• two main classes:• LaunchConfiguration

– the cookies

• LaunchConfigurationType– the cookie cutters

• Example: run a HelloWorld.java program– configurations:

• main class name: ‘HelloWorld’

• JRE to use: 1.4.2

• program and VM arguments

• classpath,…

– type: local Java Application'• means only this type knows how to make sense of this config and how

to launch it.

Page 5: The Launching Framework in Eclipse

5

The Java applet example

• an example actually part of eclipse SDK– non-UI parts living in org.eclipse.jdt.launching plug-in, and– UI parts contained in org.eclipse.jdt.debug.ui plug-in.

• Declaring and implementing a launch configuration type

• Declaring and implementing a launch configuration type icon

• Declaring and implementing a tab group • Declaring and implementing launch shortcuts • Declaring and implementing launch groups• Declaring and implementing a launch configuration

comparator• Putting it all together

Page 6: The Launching Framework in Eclipse

6

Declaring a launch configuration type <extension

point="org.eclipse.debug.core.launchConfigurationTypes"> <launchConfigurationType name="Java Applet"

delegate="org.eclipse.jdt.internal.launching.JavaAppletLaunchConfigurationDelegate"

modes="run, debug" id="org.eclipse.jdt.launching.javaApplet"> </launchConfigurationType> </extension>

Notes:1. The delegate class must implement the

interface:org.eclipse.debug.core.model.ILaunchConfigurationDelegate. it is the brains of the launcher, and implements the launch() method which launches a specified config.

2. modes can be run or debug or both. can affect how the the configs appear in UI. if in both mode, launch() should handle both.

Page 7: The Launching Framework in Eclipse

7

Declaring a launch configuration type

Notes:

3. optional boolean attributes: • private

– ture => can be launched by programs only.– false[default] => can appear in UI.

• category– discussed later