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

Time for action – creating a nature


A nature is created by implementing the IProjectNature interface. This will be used to create a MinimarkNature, which will allow projects to be associated with the MinimarkBuilder. Perform the following steps:

  1. Create a class called MinimarkNature in the com.packtpub.e4.minimark.ui package:

    public class MinimarkNature implements IProjectNature {
      public static final String ID ="com.packtpub.e4.minimark.ui.MinimarkNature";
      private IProject project;
      public IProject getProject() {
        return project;
      }
      public void setProject(IProject project) {
        this.project = project;
      }
      public void configure() throws CoreException {
      }
      public void deconfigure() throws CoreException {
      }
    }
  2. The purpose of a nature is to assist by adding (or configuring) the builders, which are associated by an ID. To make cross-referencing possible, define a constant in the MinimarkBuilder which can be used to refer to it by the nature:

    public class MinimarkBuilder extends IncrementalProjectBuilder...