<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="copyright" content="Copyright (c) 2012, 2020 EclipseSource. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <title>Setting up the Eclipse IDE</title>
  <link rel="stylesheet" href="../../../PRODUCT_PLUGIN/book.css" type="text/css"/>
</head>
<body>

  <h1>Setting up the Eclipse IDE</h1>
  <p>
    To get started with RAP, it's recommended to set up an Eclipse IDE with the
    <strong>RAP Tools</strong> installed.
    The RAP Tools provide useful IDE extensions for RAP application development such as a
    target installer
    and launchers for RAP applications.
    The RAP developer's guide (which you are currently reading) is also included.
  </p>

  <h2>Option One: Get a complete IDE package</h2>
  <p>
    The most convenient way to get the RAP Tools is using the Eclipse package
    <em>for RCP and RAP Developers</em> from the
    <a href="http://www.eclipse.org/downloads/">Eclipse download page</a>.
    This IDE includes everything you need to develop RCP and RAP applications, and
    you can skip to <a href="target-install.html">installing the target platform</a>.
  </p>

  <h2>Option Two: Install the RAP Tools into an existing Eclipse IDE</h2>
  <p>
    If you rather want to use an existing Eclipse IDE, you can also get the RAP Tools
    separately and install them as an add-on:
  </p>
  <ul>
    <li>
      With Eclipse up and running, select <em class="UILabel">Help &gt; Install New Software…</em>
      from the main menu.
    </li>
    <li>
      Enter the RAP Update Site URL
      <em>http://download.eclipse.org/rt/rap/tools/3.1</em>
      into the <em class="UILabel">Work with</em> field and press Enter.
      <br/>
      <strong>Note:</strong> The RAP 3.1 Tools can only be installed into an Eclipse IDE version 4.5 (Mars) or newer.
    </li>
    <li>
      After a short while, an entry labeled <em>Remote Application Platform (RAP)</em> appears
      in the list below. Depending on your Eclipse IDE version, select the corresponding check box
      and click <em class="UILabel">Next</em>.
    </li>
    <li>
      On the next page you may review the installation details.
    </li>
    <li>
      Accept the terms in the license agreement and click the
      <em class="UILabel">Finish</em> button.
    </li>
    <li>
      The features and plug-ins will now be downloaded from the repository and
      installed locally.
    </li>
    <li>
      Confirm the following prompt to restart Eclipse.
    </li>
  </ul>

  <p>
    You can also get a zipped version of the RAP Tools repository from the RAP
    <a href="http://www.eclipse.org/rap/downloads/">Download page</a>.
  </p>

</body>
</html>
