<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<LINK REL="Stylesheet" HREF="https://netbeans.org/netbeans.css" TYPE="text/css">
<TITLE>netbeans.org : NetBeans Visual Library 2.0 - Setup</TITLE>
</HEAD>

<body>
<h1>NetBeans Visual Library 2.0 - Setup Building Environment</h1>

<h2>Requirements</h2>

<p>
The library requires Java 5+ and can be used in NetBeans 5.5+.

<h2>Get the Sources</h2>

<p>
First you have to check out sources.
<ol>

<li>Clone NetBeans Main repository:
<pre>hg clone http://hg.netbeans.org/main/</pre>
<p>

<li>Update your clone of NetBeans Main repository:
<pre>cd main ; hg pull -u</pre>

</ol>

<h2>Compilation</h2>

<p>
Now you can compile the sources.
<ol>

<li>Compile the NetBeans using:
<pre>cd main ; ant</pre>
Note Visual Library project is a part of NetBeans Platform and therefore it is build together with the rest of NetBeans.

<li>Optionally clone NetBeans Contrib repository:
<pre>hg clone http://hg.netbeans.org/main/contrib/</pre>
and compile the Visual Library examples:
Note: Examples will automatically start, so close the dialog.
<pre>cd contrib/visual.examples ; ant</pre>

<li>Additionally you may compile Visual Library experimental project:
<pre>cd contrib/visual.experimental ; ant</pre>

<li>Also you may compile Visual Library with NetBeans Integration sample project:
<pre>cd contrib/visual.examples.shapes ; ant</pre>
You can start the NetBeans and you will find <strong>Windows | Open Shape Window</strong> main menu action which opens the scene.
<p>

</ol>
<!--
<h2>Building Minimal Installation</h2>

<p>
If you do not want to check out and build the whole NetBeans CVS, you can following these steps instead of previous two sections:
<ol>

<li>Have a empty directory called <strong>nb_all</strong>, where the sources will be placed.
<p>

<li>Check out just a minimal set of required modules:
<pre>cvs -d :pserver:anoncvs@cvs.netbeans.org:/cvs co core/external libs/external libs/xerces nbbuild openide/util graph</pre>

<li>Initialize the NetBeans environment:
<pre>cd nb_all/nbbuild ; ant bootstrap</pre>

<li>Initialize libraries:
<pre>cd nb_all/libs/external ; ant</pre>

<li>Compile the openide/util module:
<pre>cd openide/util ; ant</pre>

<li>Compile the Visual Library:<br>
<pre>cd graph/lib ; ant</pre>

<li>Optionally compile the Visual Library examples:
<pre>cd graph/examples ; ant</pre>
Note: Examples will automatically start, so close the dialog.

</ol>
Now you have everything compiled. But in that case, you are not able to compile/run the <strong>graph/integration</strong> module.
-->
<h2>Building Minimal Installation for NetBeans 5.5.1</h2>

<p>
Building the minimal installation for NetBeans 5.5.1 is similar to previous steps. The difference is that the <strong>graph</strong> module is not tagged with <strong>release551</strong> tag. Therefore it has to be checked out from main trunk.
<ol>

<li>Have a empty directory called <strong>nb_all</strong>, where the sources will be placed.
<p>

<li>Check out just a minimal set of required modules from release551 branch including graph module:
<pre>cvs -d :pserver:anoncvs@cvs.netbeans.org:/cvs co -r release551 core/external libs/external libs/xerces nbbuild openide/util graph</pre>

<li>Initialize the NetBeans environment:
<pre>cd nb_all/nbbuild ; ant bootstrap</pre>

<li>Initialize libraries:
<pre>cd nb_all/libs/external ; ant</pre>

<li>Compile the openide/util module:
<pre>cd openide/util ; ant</pre>

<li>Compile the Visual Library:<br>
<pre>cd graph/lib ; ant</pre>

<li>Optionally compile the Visual Library examples:
<pre>cd graph/examples ; ant</pre>
Note: Examples will automatically start, so close the dialog.

</ol>
Now you have everything compiled. You are just not able to compile/run the <strong>graph/integration</strong> module.

<h2>Building Java Documentation</h2>

<ol>

<li>Optionally you may build the openide-util module javadoc:
<pre>cd main/openide.util ; ant javadoc</pre>

<li>Build the Visual Library javadoc:
<pre>cd main/api.visual ; ant javadoc</pre>

</ol>

Javadocs are build into:
<ol>
<li><strong>main/nbbuild/build/javadoc/org-openide-util/</strong> - contains the openide/util module javadoc.
<li><strong>main/nbbuild/build/javadoc/org-netbeans-api-visual/</strong> - contains the Visual Library javadoc.
</ol>

<h2>Distribution Packages</h2>

<p>
When you compile the library, you have following packages available which you can use outside of NetBeans CVS.
<p>
Packages:
<ol>
<li><b>main/nbbuild/netbeans/platform7/lib/org-openide-util.jar</b> - contains openide/util module.
<li><b>main/nbbuild/netbeans/platform7/modules/org-netbeans-api-visual.jar</b> - contains the Visual Library.
<li><b>main/nbbuild/netbeans/extra/modules/org-netbeans-modules-visual-examples.jar</b> - contains the Visual Library examples.
<li><b>main/nbbuild/netbeans/extra/modules/org-netbeans-modules-visual-experimental.jar</b> - contains the Visual Library Experimental project.
<li><b>main/nbbuild/netbeans/extra/modules/org-netbeans-modules-visual-examples-shapes.jar</b> - contains the Visual Library with NetBeans Integration sample project.
</ol>

You may copy out the first 2 packages to get a standalone copy of Visual Library. Just put them on your classpath.

</body>
</html>
