Difference between revisions of "Eclipse"

From Jmol
Jump to navigation Jump to search
(Prerequisites: Eclipse 3.4)
(Identifying the location of the Java executables (Unnecessary in Mac OS X))
 
(11 intermediate revisions by 3 users not shown)
Line 23: Line 23:
 
* Launch Eclipse.
 
* Launch Eclipse.
 
* Using the menu system at the top of the application, navigate to {{MenuItem|Window}} {{Submenu}} {{MenuItem|Open Perspective}} {{Submenu}} {{MenuItem|Other...}} and choose {{Field|SVN Repository Exploring}}. Then click on the {{Button|OK}} button.
 
* Using the menu system at the top of the application, navigate to {{MenuItem|Window}} {{Submenu}} {{MenuItem|Open Perspective}} {{Submenu}} {{MenuItem|Other...}} and choose {{Field|SVN Repository Exploring}}. Then click on the {{Button|OK}} button.
* Then right click in the {{WindowTitle|SVN Repository}} window and select {{MenuItem|New}} {{Submenu}} {{MenuItem|Repository Location...}} in the contextual menu.
+
* Then right click in the {{WindowTitle|SVN Repositories}} window and select {{MenuItem|New}} {{Submenu}} {{MenuItem|Repository Location...}} in the contextual menu.
* In the {{WindowTitle|Add SVN Repository}} window, enter the value <tt><nowiki>https://jmol.svn.sourceforge.net/svnroot/jmol</nowiki></tt> in the {{Field|Url}} field.
+
* In the {{WindowTitle|New Repository Location}} window, enter the value <tt><nowiki>https://svn.code.sf.net/p/jmol/code/trunk</nowiki></tt> in the {{Field|Url}} field.
 +
* Select {{Field|Use a custom label:}} and enter the value <tt>Jmol</tt> for the custom value.
 
* Click on the {{Button|Finish}} button and you are done.
 
* Click on the {{Button|Finish}} button and you are done.
  
Line 36: Line 37:
 
** {{MenuItem|Jmol-datafiles}} is a collection of datafiles used for testing Jmol.
 
** {{MenuItem|Jmol-datafiles}} is a collection of datafiles used for testing Jmol.
 
** {{MenuItem|Jmol-documentation}} is a collection of Jmol documentation.
 
** {{MenuItem|Jmol-documentation}} is a collection of Jmol documentation.
 +
** {{MenuItem|Jmol-FAH}} is a collection of Jmol tools for [http://folding.stanford.edu Folding@Home].
 
** {{MenuItem|Jmol-web}} is the source of the [http://www.jmol.org/ Jmol website].
 
** {{MenuItem|Jmol-web}} is the source of the [http://www.jmol.org/ Jmol website].
* Right click on {{MenuItem|Jmol}} and select {{MenuItem|Checkout...}} in the contextual menu.
+
* Right click on {{MenuItem|Jmol}} and select {{MenuItem|Checkout}} in the contextual menu.
* In the {{WindowTitle|Checkout from SVN}} window, select {{Field|Check out as a project in the workspace}} and use {{Field|Jmol}} as Project Name. Then click on the {{Button|Finish}} button.
+
* If you want, you can also check-out other projects:
* If you want, you can also check-out {{MenuItem|Jmol-datafiles}}:
+
** Right click on the project and select {{MenuItem|Checkout}} in the contextual menu.
** Right click on {{MenuItem|Jmol-datafiles}} and select {{MenuItem|Checkout...}} in the contextual menu.
 
** In the {{WindowTitle|Checkout from SVN}} window, select {{Field|Check out as a project in the workspace}} and use {{Field|Jmol-datafiles}} as Project Name. Then click on the {{Button|Finish}} button.
 
* If you want, you can also check-out {{MenuItem|Jmol-documentation}}:
 
** Right click on {{MenuItem|Jmol-documentation}} and select {{MenuItem|Checkout...}} in the contextual menu.
 
** In the {{WindowTitle|Checkout from SVN}} window, select {{Field|Check out as a project in the workspace}} and use {{Field|Jmol-documentation}} as Project Name. Then click on the {{Button|Finish}} button.
 
* If you want, you can also check-out {{MenuItem|Jmol-web}}:
 
** Right click on {{MenuItem|Jmol-web}} and select {{MenuItem|Checkout...}} in the contextual menu.
 
** In the {{WindowTitle|Checkout from SVN}} window, select {{Field|Check out as a project in the workspace}} and use {{Field|Jmol-web}} as Project Name. Then click on the {{Button|Finish}} button.
 
  
  
Line 56: Line 50:
 
* If the {{File|.project}} file has not been checked-out (no version information after the filename), delete it by selecting it and pressing the {{Keyboard|Suppr}} key.
 
* If the {{File|.project}} file has not been checked-out (no version information after the filename), delete it by selecting it and pressing the {{Keyboard|Suppr}} key.
 
* Right click on the project and select {{MenuItem|Team}} {{Submenu}} {{MenuItem|Update}} in the contextual menu.
 
* Right click on the project and select {{MenuItem|Team}} {{Submenu}} {{MenuItem|Update}} in the contextual menu.
 
  
 
= Configuring Eclipse to build Jmol =
 
= Configuring Eclipse to build Jmol =
Line 67: Line 60:
 
== Identifying the location of the Java executables (Unnecessary in Mac OS X) ==
 
== Identifying the location of the Java executables (Unnecessary in Mac OS X) ==
  
Ant needs to know where to find {{File|javac(.exe)}} and {{File|jarsigner(.exe)}}. This simply requires adding the Java SDK {{Directory|bin}} directory to the <tt>PATH</tt> environment variable.
+
Ant needs to know where to find {{File|javac(.exe)}} and {{File|jarsigner(.exe)}}.  
  
 +
This simply requires adding the Java SDK {{Directory|bin}} directory to the <tt>PATH</tt> environment variable.
 
To do this on Windows, you need to open the Windows {{WindowTitle|Control Panel}}, then double-click the {{WindowTitle|System}} icon (which may be under category {{WindowTitle|Performance}}). On the {{Field|Advanced}} tab, select {{Field|Environment variables}}. Scroll down to the <tt>path</tt> system variable and append to it a semicolon (<tt>;</tt>) followed by the path to the Java SDK binaries, something like "<tt>;C:\j2sdk1.4.2_10\bin</tt>".
 
To do this on Windows, you need to open the Windows {{WindowTitle|Control Panel}}, then double-click the {{WindowTitle|System}} icon (which may be under category {{WindowTitle|Performance}}). On the {{Field|Advanced}} tab, select {{Field|Environment variables}}. Scroll down to the <tt>path</tt> system variable and append to it a semicolon (<tt>;</tt>) followed by the path to the Java SDK binaries, something like "<tt>;C:\j2sdk1.4.2_10\bin</tt>".
 +
 +
''Alternative:'' adding the Java JDK directory to the <tt>JAVA_HOME</tt> environment variable.
 +
As above, select {{Field|Environment variables}} and edit or add the <tt>JAVA_HOME</tt> system variable with the path to the Java JDK files, something like "<tt>C:\Program Files (x86)\Java\jdk1.8.0_66</tt>".
  
 
== Identifying the location of the Java library (Unnecessary in Mac OS X)==
 
== Identifying the location of the Java library (Unnecessary in Mac OS X)==

Latest revision as of 20:31, 19 December 2015

Jmol/JSmol Development

To implement new features in Jmol (or simply build yourself a version of Jmol), you can use many development tools. One of them is Eclipse.

If you don't already have a suitable development environment for Jmol, then Eclipse is probably the best choice:

  • it's easy to install and is bundled with several tools required for Jmol.
  • it's a powerful IDE.
  • Jmol is already configured as an Eclipse project.

The following description has been tested under Windows, but it should work also for other OS (Linux, Mac OS X, ...).


Prerequisites

The following tools must be already installed for Jmol:

  • Java: Java 2 SDK 1.4, Java 5 SDK 1.5, or a later release.
  • Eclipse: version 3.4 or a later release recommended but it should work from version 3.1.
  • A Subversion (SVN) plugin for Eclipse : Subversive or Subclipse.

SVN Repository Configuration

To configure Eclipse to access Jmol's SVN repository, do the following:

  • Launch Eclipse.
  • Using the menu system at the top of the application, navigate to WindowOpen PerspectiveOther... and choose SVN Repository Exploring. Then click on the OK button.
  • Then right click in the SVN Repositories window and select NewRepository Location... in the contextual menu.
  • In the New Repository Location window, enter the value https://svn.code.sf.net/p/jmol/code/trunk in the Url field.
  • Select Use a custom label: and enter the value Jmol for the custom value.
  • Click on the Finish button and you are done.

Checking out Jmol from SVN

To check out Jmol from SVN, do the following:

  • Switch to the SVN Repository Exploring perspective using WindowOpen PerspectiveOther... and choose SVN Repository Exploring. Click on the OK button.
  • Expand the repository location you added in the previous section, you should see branches, tag and trunk after a few seconds.
  • Expand trunk, you should see amongst other things the Jmol projects:
    • Jmol is the source code of the Jmol Application and Applet.
    • Jmol-datafiles is a collection of datafiles used for testing Jmol.
    • Jmol-documentation is a collection of Jmol documentation.
    • Jmol-FAH is a collection of Jmol tools for Folding@Home.
    • Jmol-web is the source of the Jmol website.
  • Right click on Jmol and select Checkout in the contextual menu.
  • If you want, you can also check-out other projects:
    • Right click on the project and select Checkout in the contextual menu.


Note: There was a bug somewhere in the SVN chain (we don't know if the problem is in Subclipse, Eclipse or Sourceforge), so you may get an error during the check-out. Apparently, it has been fixed with more recent versions of the tools, but if it happens to you, you can fix the problem by doing the following:

  • Switch to the Java perspective using WindowOpen PerspectiveOther... and choose Java (default). Click on the OK button.
  • In the Package Explorer window, left click on the small triangle at the top right of the window and select Filters.... Uncheck the .* resources item and click on the OK button.
  • Expand the project which had a problem.
  • If the File icon.gif.project file has not been checked-out (no version information after the filename), delete it by selecting it and pressing the Suppr key.
  • Right click on the project and select TeamUpdate in the contextual menu.

Configuring Eclipse to build Jmol

To configure Eclipse to build Jmol, you need to make sure that:

  1. the location of the Java executables (File icon.gifjavac.exe and File icon.gifjarsigner.exe) is identified.
  2. the location of the Java library (File icon.giftools.jar) is identified.
  3. Eclipse is using the same version of the Java compiler as the Java Runtime Environment.

Identifying the location of the Java executables (Unnecessary in Mac OS X)

Ant needs to know where to find File icon.gifjavac(.exe) and File icon.gifjarsigner(.exe).

This simply requires adding the Java SDK bin directory to the PATH environment variable. To do this on Windows, you need to open the Windows Control Panel, then double-click the System icon (which may be under category Performance). On the Advanced tab, select Environment variables. Scroll down to the path system variable and append to it a semicolon (;) followed by the path to the Java SDK binaries, something like ";C:\j2sdk1.4.2_10\bin".

Alternative: adding the Java JDK directory to the JAVA_HOME environment variable. As above, select Environment variables and edit or add the JAVA_HOME system variable with the path to the Java JDK files, something like "C:\Program Files (x86)\Java\jdk1.8.0_66".

Identifying the location of the Java library (Unnecessary in Mac OS X)

Ant needs to know where to find File icon.giftools.jar.

From WindowPreferences...: in the Preferences window, go to AntRuntime and select Global Entries and click on the Add External JARs button. Navigate to the directory containing File icon.giftools.jar (probably something like C:\j2sdk1.4.2_10\lib), select File icon.giftools.jar and click on OK.

Matching the Java compiler to the Java Runtime Environment

From WindowPreferences..., select Java. Compare the version listed for the compiler with that for the selected installed JREs. If they are not the same, use the Search facility to find more installed JREs. Then select the JRE that matches the compiler.


Installing and configuring gettext tools

If you want to use Jmol in an other language than English, you will need to install the gettext tools.

Download and install gettext. Linux users should try to install it using their distributions package management (like rpm, dpkg, apt, ...). Windows user download gettext from GnuWin32. Both make sure, that the gettext binaries are in your PATH environment variable.

Note for Windows users: If you installed the gettext binaries into e.g. File icon.gifC:\Program Files\GnuWin32, then you need to add File icon.gifC:\Program Files\GnuWin32\bin; to the existing PATH environment variable: Control PanelSystemEnvironment Variable (Tab Extended) OR run the following command in a windows command shell (this command is not permanent, you need to do it each time):

set PATH=%PATH%;C:\Program Files\GnuWin32\bin;.

Windows XP and Windows 2000 are currently supported.


Running and Debugging Jmol

You can run and debug Jmol directly within Eclipse.

Open a Java Perspective using WindowOpen PerspectiveOther... and there select Java (default).

To run either the application or the applet, right click on Jmol under the Projects tab and select (for the applet) Run AsJava Applet or (for the application) Run AsJava Application. The main class for the application is org.openscience.jmol.app.Jmol.


Building Jmol

If not already done, open a Java Perspective using WindowOpen PerspectiveOther... and there select Java (default).

To make a full build of Jmol under Eclipse, just do the following:

  • Find File icon.gifbuild.xml in the Package Explorer window and right click on it.
  • Then select Run AsAnt Build in the contextual menu.
  • If the build fails, look carefully at the message, and if you can't figure it out, send a copy of it in email message to jmol-developers@lists.sourceforge.net. Problems might include Ant not being able to find the Java compiler ("JAVA_HOME not in CLASSPATH?") or a difference in Java compiler and runtime environment versions ("class file has wrong version 49.0, should be 48.0").