Difference between revisions of "CompileProtege4InIntelliJFromSvn"

From Protege Wiki
Jump to: navigation, search
(Prerequisites)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Instructions for Compiling and Running Protege 4.1 in Eclipse using the sources from SVN =
+
= Instructions for Compiling and Running Protege 4.1 in IntelliJ using the sources from SVN =
  
 
These instructions will help you set up the Eclipse environment for Protege 4.1. In the first part, we will check out from SVN a Eclipse workspace already configured for Protege 4.1 and its plugins, then in the second part, we will show how to add your own plugin in Eclipse.
 
These instructions will help you set up the Eclipse environment for Protege 4.1. In the first part, we will check out from SVN a Eclipse workspace already configured for Protege 4.1 and its plugins, then in the second part, we will show how to add your own plugin in Eclipse.
Line 15: Line 15:
 
These directions are based on a preconfigured workspace which you can use for the build.
 
These directions are based on a preconfigured workspace which you can use for the build.
  
== Configuring Eclipse ==
+
== Configuring IntelliJ ==
  
 
'''Step 1: Checking out the workspace''' Use subversion to checkout the following workspace:
 
'''Step 1: Checking out the workspace''' Use subversion to checkout the following workspace:
 
<pre>
 
<pre>
     http://smi-protege.stanford.edu/repos/protege/protege4/ide/eclipse/protege4.1
+
     http://smi-protege.stanford.edu/repos/protege/protege4/ide/idea/protege4.1
 
</pre>
 
</pre>
 
If you are using command line tools you can do this with the svn command
 
If you are using command line tools you can do this with the svn command
 
<pre>
 
<pre>
     svn checkout http://smi-protege.stanford.edu/repos/protege/protege4/ide/eclipse/protege4.1
+
     svn checkout http://smi-protege.stanford.edu/repos/protege/protege4/ide/idea/protege4.1
 
</pre>
 
</pre>
This creates an eclipse workspace but some of the metadata is still missing.  Note that when using Tortoise svn, you need to do a full recursive  checkout.  It may appear that there is only one file in the repository but the svn checkout needs to also checkout the external references.
+
This creates all the files you need to compile, but without the IntelliJ configuration.  Note that when using Tortoise svn, you need to do a full recursive  checkout.  It may appear that there is only one file in the repository but the svn checkout needs to also checkout the external references.
  
'''Step 2: Install the Eclipse metadata''' Inside the directory that you just checked out is a file called metadata.zip.  Extract this file into the created directory.  Now the eclipse workspace is ready for eclipse.  Note that on the mac, double-clicking the metadata.zip file does not do the right thing; it does not simple extract the files into the current directory.  So on the mac the command line unzip is probably recommended:
+
'''Step 2: Install the IntellJ configuration''' Inside the directory that you just checked out is a file called idea.zip.  Extract this file into the created directory.  Now the directory location is all ready for IntelliJ.  Note that on the mac, double-clicking the metadata.zip file does not do the right thing; it does not simple extract the files into the current directory.  So on the mac the command line unzip is probably recommended:
 
<pre>
 
<pre>
       unzip metadata.zip
+
       unzip idea.zip
 
</pre>
 
</pre>
  
'''Step 3: Load the Workspace'''  Start eclipse and choose the newly created directory as the workspace.  You should see seven projectsSelect them all, right click and select refresh.
+
'''Step 3: Load the Project'''  Start idea and click on File -> Open Project and choose the newly created directory.   
  
'''Step 4a: Run Protege (The easy and better way)''' This step is a bit problematic on the mac but works for linux and windows machines. Click on the down arrow just to the right of the little bug (near the top of the eclipse window perhaps just under the Refactor menu).  Select ''Protege'' (not ''Protege.From.Build'').  This should start Protege.   
+
'''Step 4: Run Protege'''  Click on the run button or hit shift-F10.  This should start Protege.   
  
Note that when starting Protege in this way, the mechanism by which the plugins are found is different than the mechanism that Protege uses when it is distributed.  When Protege is distributed, it scans the plugin directory and find the plugins there.  When Protege is started in this manner, eclipse is loading the plugins for Protege.  In fact, Protege will report "No Plugins Found" because it does not find a plugin directory and thus did not find any plugins to load.  But if you enter "status" in the console you will see a detailed description of the state of the run including a description of what plugins have been found.
+
Note that when starting Protege in this way, the mechanism by which the plugins are found is different than the mechanism that Protege uses when it is distributed.  When Protege is distributed, it scans the plugin directory and find the plugins there.  When Protege is started in this manner, OSGI is loading the plugins for Protege.  In fact, Protege will report "No Plugins Found" because it does not find a plugin directory and thus did not find any plugins to load.  But if you enter "status" in the console you will see a detailed description of the state of the run including a description of what plugins have been found.
  
'''Step 4b: Run Protege the Harder Way (use only if the easy way 4a did not work)'''  The second icon to the right of the little bug is a run icon with a suitcase.  Click the little down arrow beside this icon and run the following scripts in this order:
+
Protege will attempt to upgrade the Owlviz Plug-In. Close the Automatic Update window and ignore this for now.
# Build.Protege.Infrastructure
 
# Build.Common
 
# Build.Core
 
# Build.Owlapi.Lib
 
# Build.Owl.Editor
 
# Build.OwlViz
 
 
 
If the projects are marked with red in the left project tree view, refresh them all.
 
 
 
Now we have built a Protege distribution.  This distribution is in the Protege directory in the eclipse workspace.  Having created this distribution, we can run the other runnable in the bug menu.  Click the down arrow beside the little bug and select run ''Protege from build''.
 
 
 
== Add your own plugin ==
 
 
 
Just make your plugin into a plugin development project.
 
 
 
'''Easy way'''.  If you are able to run protege the easy way (4a) then your plugin will be included. Hotspot replace works (some of the time as always).
 
 
 
'''Harder way'''. If you run protege the harder way (4b) then you will need to install your plugin into the protege distribution that we have created.  To do this you will need an ant build file.  We have provided a [http://smi-protege.stanford.edu/repos/protege/protege4/protege-base/trunk/etc/template-plugin-build.xml template build file] that can easily be filled in.  We will now describe how this script is added as an eclipse build script.  We will turn the fact that I forgot to install the dlquery build script in eclipse into an advantage by showing how this is added here.
 
 
 
To create this new eclipse build script, click on the down arrow to the right of the suitcase runnable and click on "External Tool Configurations".  Select "Ant Build" and click the "New Launch Configuration" just above the selected "Ant Build" option.  In the resulting window, set the name to "Build.DlQuery" and browse the workspace for the DLQuery build.xml file.  The result should look like this:
 
 
 
[[File:Protege4.1InEclipseWIthSvnExternalTools.png|frame|none|]]
 
 
 
Now go to the targets tab and make sure that the install target is chosen.
 
 
 
[[File:Protege4.1InEclipseWIthSvnAntSetTarget.png|frame|none|]]
 
 
 
Finally go to the Environment tab and make sure that PROTEGE_HOME is set to ${workspace_loc}/Protege.
 
 
 
[[File:Protege4.1InEclipseWIthSvnAntEnvironment.png|frame|none|]]
 
 
 
Now the new build script can be saved (Apply) and run.  Running this script will install your plugin (DLQuery in this case) into the Protege distribution that we have been making.
 

Latest revision as of 10:41, September 14, 2012

Instructions for Compiling and Running Protege 4.1 in IntelliJ using the sources from SVN

These instructions will help you set up the Eclipse environment for Protege 4.1. In the first part, we will check out from SVN a Eclipse workspace already configured for Protege 4.1 and its plugins, then in the second part, we will show how to add your own plugin in Eclipse.

Prerequisites

To follow these directions you will need the following tools:

  • IntelliJ 9 (naturally) with
    • The OSGI (Osmorc) plugin enabled.
    • The Subversion version control system enabled.
  • A tool for extracting a zip file into a directory.
  • A tool for checking out a repository from subversion (e.g. tortoise or the svn command line client).

These directions are based on a preconfigured workspace which you can use for the build.

Configuring IntelliJ

Step 1: Checking out the workspace Use subversion to checkout the following workspace:

    http://smi-protege.stanford.edu/repos/protege/protege4/ide/idea/protege4.1

If you are using command line tools you can do this with the svn command

    svn checkout http://smi-protege.stanford.edu/repos/protege/protege4/ide/idea/protege4.1

This creates all the files you need to compile, but without the IntelliJ configuration. Note that when using Tortoise svn, you need to do a full recursive checkout. It may appear that there is only one file in the repository but the svn checkout needs to also checkout the external references.

Step 2: Install the IntellJ configuration Inside the directory that you just checked out is a file called idea.zip. Extract this file into the created directory. Now the directory location is all ready for IntelliJ. Note that on the mac, double-clicking the metadata.zip file does not do the right thing; it does not simple extract the files into the current directory. So on the mac the command line unzip is probably recommended:

      unzip idea.zip

Step 3: Load the Project Start idea and click on File -> Open Project and choose the newly created directory.

Step 4: Run Protege Click on the run button or hit shift-F10. This should start Protege.

Note that when starting Protege in this way, the mechanism by which the plugins are found is different than the mechanism that Protege uses when it is distributed. When Protege is distributed, it scans the plugin directory and find the plugins there. When Protege is started in this manner, OSGI is loading the plugins for Protege. In fact, Protege will report "No Plugins Found" because it does not find a plugin directory and thus did not find any plugins to load. But if you enter "status" in the console you will see a detailed description of the state of the run including a description of what plugins have been found.

Protege will attempt to upgrade the Owlviz Plug-In. Close the Automatic Update window and ignore this for now.