Book Image

Eclipse 4 Plug-in Development by Example : Beginner's Guide

By : Dr Alex Blewitt
Book Image

Eclipse 4 Plug-in Development by Example : Beginner's Guide

By: Dr Alex Blewitt

Overview of this book

<p>As a highly extensible platform, Eclipse is used by everyone from independent software developers to NASA. Key to this is Eclipse’s plug-in ecosystem, which allows applications to be developed in a modular architecture and extended through its use of plug-ins and features.<br /><br />"Eclipse 4 Plug-in Development by Example Beginner's Guide" takes the reader through the full journey of plug-in development, starting with an introduction to Eclipse plug-ins, continued through packaging and culminating in automated testing and deployment. The example code provides simple snippets which can be developed and extended to get you going quickly.</p> <p>This book covers basics of plug-in development, creating user interfaces with both SWT and JFace, and interacting with the user and execution of long-running tasks in the background.</p> <p>Example-based tasks such as creating and working with preferences and advanced tasks such as well as working with Eclipse’s files and resources. A specific chapter on the differences between Eclipse 3.x and Eclipse 4.x presents a detailed view of the changes needed by applications and plug-ins upgrading to the new model. Finally, the book concludes on how to package plug-ins into update sites, and build and test them automatically.</p>
Table of Contents (19 chapters)
Eclipse 4 Plug-in Development by Example Beginner's Guide
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 10, Automated Builds with Tycho


Pop quiz – understanding automated builds and update sites

Q1

The GroupId, ArtifactId, and Version are a set of co-ordinates (collectively known as GAV) that Maven uses to identify dependencies and plugins. The group is a means of associating multiple artifacts together, and the artifact is the individual component name. In OSGi and Eclipse builds, the group is typically the first few segments of the bundle name, and the artifact is the bundle name. The version follows the same syntax as the bundle's version, except that .qualifier is replaced with -SNAPSHOT.

Q2

The four types are pom (used for the parent), eclipse-plugin (for plug-ins), eclipse-feature, (for features) and eclipse-repository (for update sites and products)

Q3

Version numbers can be updated with mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=version.number. Note that while mvn version:set exists, it will not update the plug-in versions, if chosen.

Q4

JAR files are signed to ensure that the contents of the JAR file have not been modified after creation. Eclipse looks at these JAR files at run-time to ensure that they are not modified, and warns if they are unsigned or if the signatures are invalid. The standard JDK tool, jarsigner is used to sign and verify JAR files; the JDK tool, keytool is used to manipulate keypairs.

Q5

A simple HTTP server can be launched using the command python -m SimpleHTTPServer. In Python 3.0, the command is python3 -m http.server.

Q6

Eclipse features are typically published in the Eclipse Marketplace at http://marketplace.eclipse.org. This includes both open source and commercial plug-ins.