Initial commit of Sigil contribution. (FELIX-1142)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@793581 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/sigil/org.cauldron.sigil.help/.classpath b/sigil/org.cauldron.sigil.help/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sigil/org.cauldron.sigil.help/.project b/sigil/org.cauldron.sigil.help/.project
new file mode 100644
index 0000000..3e3bb3b
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.cauldron.sigil.help</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs b/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..1174b4b
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Fri Aug 01 14:46:19 BST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..97cd5ab
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Sigil Help Plug-in
+Bundle-SymbolicName: org.cauldron.sigil.help;singleton:=true
+Bundle-Version: 0.8.0.qualifier
+Bundle-Activator: org.cauldron.sigil.help.Activator
+Bundle-Vendor: Paremus Ltd
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.help;bundle-version="3.3.1",
+ org.eclipse.ui.cheatsheets;bundle-version="3.3.100",
+ org.cauldron.sigil.ui;bundle-version="0.5.5",
+ org.eclipse.ui.ide;bundle-version="3.4.0",
+ org.cauldron.sigil.core;bundle-version="0.5.5"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Import-Package: org.cauldron.sigil.model.eclipse,
+ org.eclipse.core.resources
diff --git a/sigil/org.cauldron.sigil.help/build.properties b/sigil/org.cauldron.sigil.help/build.properties
new file mode 100644
index 0000000..5bab7a8
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ html/,\
+ toc.xml,\
+ cheatsheets/,\
+ archive/
diff --git a/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml b/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml
new file mode 100644
index 0000000..94ce68d
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/cheatsheets/HelloWorld.xml
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<cheatsheet title="Create a Hello World composite application">
+ <intro>
+ <description>This cheat sheet shows you how to create a simple hello world composite application using Sigil.</description>
+ </intro>
+
+ <item title="Create an empty Newton project" href="/org.cauldron.sigil.help/html/tasks/new_project.html" dialog="true" skip="true">
+ <description>
+ First, you must create a new "org.example.helloworld" empty Newton project to house the java classes and SCA composites.
+ </description>
+
+ <subitem label="Select "File >New >Project...". Expand "Sigil", select "Newton Project" and click "Next"." skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.OpenEmptyNewtonProjectWizardAction"
+ param1="org.example.helloworld"
+ translate="" />
+ </subitem>
+
+ <subitem label="Enter "org.example.helloworld" as the "Project name", then click "Finish"." skip="false" />
+ </item>
+
+ <item title="Create The Java Interfaces and Classes" skip="true">
+ <description>
+ Create a new "org.example.helloworld.api" package and add a HelloWorld interface to this package.
+ Then create a new "org.example.helloworld.impl" package and add a HelloWorldImpl class which implements HelloWorld to the impl package.
+ Finally create a new "org.example.helloworld.cli" package and add a HelloWorldCli class which references the HelloWorld api to the cli package.
+ </description>
+
+ <subitem label="Create the HelloWorld API" skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+ param1="org.example.helloworld"
+ param2="src/org/example/helloworld/api"
+ param3="org.cauldron.sigil.help"
+ param4="archive/java/HelloWorld.java"
+ param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+ translate="" />
+ </subitem>
+ <subitem label="Create the HelloWorld Impl" skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+ param1="org.example.helloworld"
+ param2="src/org/example/helloworld/impl"
+ param3="org.cauldron.sigil.help"
+ param4="archive/java/HelloWorldImpl.java"
+ param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+ translate="" />
+ </subitem>
+ <subitem label="Create the HelloWorld CLI" skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+ param1="org.example.helloworld"
+ param2="src/org/example/helloworld/cli"
+ param3="org.cauldron.sigil.help"
+ param4="archive/java/HelloWorldCli.java"
+ param5="org.eclipse.jdt.ui.CompilationUnitEditor"
+ translate="" />
+ </subitem>
+ </item>
+ <item
+ title="Add OSGi Package Imports To The HelloWorld Project">
+ <description>
+ The HelloWorldCli class references classes which are exported from other OSGi bundles. In order to satisfy the OSGi classloading rules the HelloWorld project must import the required packages.
+ </description>
+ <subitem
+ label="Open the "org.example.helloworld" project editor by double-clicking on the "sigil.properties" file in the project directory."
+ skip="false">
+ </subitem>
+ <subitem
+ label="Select the "Overview" tab.">
+ </subitem>
+ <subitem
+ label="Click on the "Resolve missing dependencies" link in the "Tools" section.">
+ </subitem>
+ <subitem
+ label="Wait for the background task to complete. When the "Review New Imports" dialog appears, click "OK".">
+ </subitem>
+ </item>
+
+
+ <item title="Create The SCA Composites That Describe The Java Resources" skip="true">
+ <description>
+ Create a new HelloWorld service composite that exports the HelloWorldImpl class using the HelloWorld interface.
+ Then create a new HelloWorld cli composite that imports the HelloWorld interface and exports a ConsoleCommandHandler
+ service to allow user interaction via the command handler.
+ </description>
+
+ <subitem label="Create the HelloWorld Service" skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+ param1="org.example.helloworld"
+ param2="sca"
+ param3="org.cauldron.sigil.help"
+ param4="archive/sca/org.example.helloworld.service.composite"
+ param5="org.cauldron.sigil.editors.SCACompositeEditor"
+ translate="" />
+ </subitem>
+ <subitem label="Create the HelloWorld Command Line" skip="true">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.CopyResourceFromPlugin"
+ param1="org.example.helloworld"
+ param2="sca"
+ param3="org.cauldron.sigil.help"
+ param4="archive/sca/org.example.helloworld.cli.composite"
+ param5="org.cauldron.sigil.editors.SCACompositeEditor"
+ translate="" />
+ </subitem>
+ </item>
+
+ <item
+ title="Add The SCA Composites To The HelloWorld Bundle">
+ <description>
+ In order to load a composite in a Newton container it needs to be associated with an OSGi bundle that will act as the classpath for that bundle.
+ </description>
+ <subitem
+ label="Open the "org.example.helloworld" project editor by double-clicking on the "sigil.properties" file in the project directory.">
+ </subitem>
+ <subitem
+ label="Select the "Exports" tab.">
+ </subitem>
+ <subitem
+ label="Click on the "Add" button in the Composites section.">
+ </subitem>
+ <subitem
+ label="Add the "org.example.helloworld.service" and "org.example.helloworld.cli" composites to the OSGi bundle.">
+ </subitem>
+ <subitem
+ label="Save the "org.example.helloworld" project editor.">
+ </subitem>
+ </item>
+
+ <item
+ title="Launch A Newton Container">
+ <description>
+ Launch a Newton enabled JVM in which to host the SCA composites you have just created.
+ </description>
+ <subitem
+ label="Make sure that the the "org.example.helloworld" project editor is open.">
+ </subitem>
+ <subitem
+ label="Select the "Overview" tab.">
+ </subitem>
+ <subitem
+ label="Click on the "Launch a newton container" link in the "Testing" section.">
+ </subitem>
+ <subitem
+ label="Wait for the newton container to finish launching. This is signified by the console message: "Boot complete"">
+ </subitem>
+ </item>
+
+ <item
+ title="Install The HelloWorld Composites In The Newton Container">
+ <description>
+ We will now install the two composites in the Newton container we just launched using the short-cut menu items in the eclipse navigation bar.
+ </description>
+ <subitem
+ label="Open the "org.example.helloworld.service.composite" document using the Sigil "SCA Composite Editor".">
+ </subitem>
+ <subitem
+ label="Click on the "Install Composite" short-cut menu item in the navigation bar.">
+ </subitem>
+ <subitem
+ label="Select the "org.example.helloworld" instance and click ok">
+ </subitem>
+ <subitem
+ label="Open the "org.example.helloworld.cli.composite" document using the Sigil "SCA Composite Editor".">
+ </subitem>
+ <subitem
+ label="Again, click on the "Install Composite" short-cut menu item in the navigation bar and install into the "org.example.helloworld" Newton instance.">
+ </subitem>
+ </item>
+
+ <item title="Type "sayhello" on the Newton console" skip="false">
+ <description>
+
+ </description>
+ <subitem
+ label="Select the Newton console.">
+ <action
+ pluginId="org.cauldron.sigil.help"
+ class="org.cauldron.sigil.cheatsheets.actions.ShowViewAction"
+ param1="org.eclipse.ui.console.ConsoleView"
+ translate="" />
+
+ </subitem>
+ <subitem
+ label="Type "sayhello". You should see the response:<br/>Hello World">
+ </subitem>
+ </item>
+
+ <onCompletion>Congratulations you have created your first composite application using Sigil.</onCompletion>
+
+
+</cheatsheet>
diff --git a/sigil/org.cauldron.sigil.help/html/book.html b/sigil/org.cauldron.sigil.help/html/book.html
new file mode 100644
index 0000000..a9fc420
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/book.html
@@ -0,0 +1,45 @@
+<html>
+<header>
+<title>Sigil - Newton Development Plugin</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Sigil - Newton Development Plugin</h1></td><td align="right"><img src="images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<p>Sigil is an eclipse plugin that helps developers build and test code to be deployed on the Newton platform</p>
+
+<p>Features:<br/>
+<ul>
+ <li>New (Newton Project, Composite, System)</li>
+ <li>Syntax highlighting and code completion for SCA/System docs</li>
+ <li>Launch Newton in Debug/Standard vm from Eclipse</li>
+ <li>Full debug support - break points/source code/step through etc</li>
+ <li>Install Composites into running newton from Eclipse</li>
+ <li>Log integration</li>
+</ul>
+</p>
+
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/container_log.html b/sigil/org.cauldron.sigil.help/html/tasks/container_log.html
new file mode 100644
index 0000000..9b8808f
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/container_log.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Viewing The Newton Log</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Viewing The Newton Log</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html
new file mode 100644
index 0000000..43db6da
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/debug_composite.html
@@ -0,0 +1,66 @@
+<html>
+<header>
+<title>Debugging A Composite</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Debugging A Composite</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<p>In order to debug composite applications using the Newton Eclipse
+ plugin, use the runtime configuration you created in above, and start it
+ using a debug session. This will launch a newton container as a separate
+ process to the Eclipse IDE environment but which can be controlled from
+ the IDE</p>
+
+
+<div align="center">
+<img class="figure" alt="Debug" src="my-images/debug.png"></div>
+
+<p>Install your composite into this container using the Newton context
+ menu in the package view as documented above. In this example we have
+ installed the gui.composite component from the fractal render demo into
+ a Newton debug container.</p>
+
+
+<div align="center">
+<img class="figure" alt="Fractal GUI Debug" src="my-images/demo-gui.png"></div>
+
+<p>You can now add break points within your code to allow you to get a
+ better idea of what is going on within your application. In this example
+ we have added a break point to the FractalViewFrame of the fractal
+ render demo to break out into an interactive debug session when any of
+ the buttons <em>draw</em>, <em>save</em>, <em>cancel</em> are pressed on
+ the gui window.</p>
+
+
+<div align="center">
+<img class="figure" alt="Add a breakpoint" src="my-images/breakpoint.png"></div>
+
+<p>You can then inspect variable values in top-right-hand corner as per
+ normal debugging in the Eclipse IDE.</p>
+
+<div align="center">
+<img class="figure" alt="Debug breakpoint" src="my-images/debug-breakpoint.png"></div>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html
new file mode 100644
index 0000000..e20d472
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/install_composite.html
@@ -0,0 +1,41 @@
+<html>
+<header>
+<title>Installing A Composite</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Installing A Composite</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<p>To install a composite into a Infiniflow Service Fabric container, you require a running
+ container instance on your machine. This can either be an external
+ process which you have launched using the bin/container script or the
+ container can be launched via an Eclipse runtime configuration as per
+ the instructions <a href="launch_newton.html" alt="Launching Newton">here</a>.</p>
+
+<p>You can then select your .composite file in the
+ package view and select Newton->Install Composite using the context
+ menu.</p>
+
+
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2008 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html b/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html
new file mode 100644
index 0000000..6a2edc4
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/launch_newton.html
@@ -0,0 +1,55 @@
+<html>
+<header>
+<title>Launching Newton</title>
+</header>
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Launching Newton</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+ <h2>Runtime Configuration</h2>
+ <p>To run a Infiniflow Service Fabric container within Eclipse you first need to configure
+ its runtime options in the IDE.</p>
+
+ <p>Open the Run configuration dialog by selecting the Run → Run… option
+ from the menu bar.</p>
+
+ <div align="center"><img class="figure" alt="Run Menu" src="my-images/run-menu.png"></div>
+
+ <p>Create a new Newton configuration by right-clicking on the Newton
+ configuration group and selecting <em>New</em>. Type in a name for your
+ configuration, the other default options should be sufficient for most
+ users.</p>
+
+
+ <div align="center"><img class="figure" alt="Run Dialog" src="my-images/run.png"></div>
+
+ <h2>Launch Newton</h2>
+ <p>Click the <em>Run</em> button to start the container, you will see
+ the container output appear in the console tab. Wait until the <em>Boot
+ Complete</em> line appears, as below.</p>
+
+
+ <div align="center"><img class="figure" alt="Boot Complete" src="my-images/run-complete.png"></div>
+
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html b/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html
new file mode 100644
index 0000000..58d9541
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_composite.html
@@ -0,0 +1,41 @@
+<html>
+<header>
+<title>Creating SCA Composites</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Creating SCA Composites</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+ <p>
+ Create a new sca composite document using the <em>New->Other</em> menu option.<br/>
+ Page 1:<br/>
+ <img src="../images/new_composite_page1.png" alt="New Composite Page 1" /><br/>
+ Page 2:<br/>
+ <img src="../images/new_composite_page2.png" alt="New Composite Page 2" />
+ </p>
+ <p>There is basic support for context sensitive text completion in sca documents. Press <em>Ctrl+Space</em> to see a list of valid elements at the current cursor location.<br/>
+ <img src="../images/composite_suggest_text.png" alt="New Composite Page 2" />
+ </p>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_project.html b/sigil/org.cauldron.sigil.help/html/tasks/new_project.html
new file mode 100644
index 0000000..90e14e7
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_project.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Creating A Newton Project</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Creating A Newton Project</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/new_system.html b/sigil/org.cauldron.sigil.help/html/tasks/new_system.html
new file mode 100644
index 0000000..a0cc7ae
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/new_system.html
@@ -0,0 +1,31 @@
+<html>
+<header>
+<title>Creating Newton Systems</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Creating Newton Systems</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</td></tr></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html b/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html
new file mode 100644
index 0000000..8334f70
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/html/tasks/sigil_config.html
@@ -0,0 +1,32 @@
+<html>
+<header>
+<title>Configuring Sigil</title>
+</header>
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td valign="bottom"><h1>Configuring Sigil</h1></td><td align="right"><img src="../images/sigil.gif" /></td>
+ </tr>
+ <tr><td colspan="2">
+<p>After having installed sigil, the preferences dialog should appear and ask you to specify the location of a valid newton install directory.</p>
+<div id="footer">
+<table cellpadding="4" cellspacing="0" border="0">
+<tr>
+<td><a href="http://www.paremus.com/License">
+ Copyright © 2003-2007 Paremus Limited.</a>
+ All rights reserved.
+ <br>
+
+<script type="text/javascript" language="JavaScript"><!--
+ document.write(" - "+"Last Published: " + document.lastModified);
+ // --></script>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:webmaster@paremus.com?subject=Feedback%C2%A0common/eclipse/UsingEclipsePlugin.html">webmaster@paremus.com</a>
+</div>
+</td><td nowrap class="footerLogos"></td>
+</tr>
+</table>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/plugin.xml b/sigil/org.cauldron.sigil.help/plugin.xml
new file mode 100644
index 0000000..0586903
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.cheatsheets.cheatSheetContent">
+ <category
+ id="org.cauldron.sigil.help.category"
+ name="Sigil">
+ </category>
+ <cheatsheet
+ category="org.cauldron.sigil.help.category"
+ composite="false"
+ contentFile="cheatsheets/HelloWorld.xml"
+ id="org.cauldron.sigil.help.createProjectCheatSheet"
+ name="Create a Hello World composite application">
+ </cheatsheet>
+ </extension>
+</plugin>
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java
new file mode 100644
index 0000000..5875264
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/AbstractNewWizardAction.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+public abstract class AbstractNewWizardAction extends Action {
+
+ @Override
+ public void run() {
+ Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
+
+ try {
+ INewWizard wizard = createWizard();
+ wizard.init(PlatformUI.getWorkbench(), getSelection());
+ WizardDialog dialog = new WizardDialog(shell, wizard);
+ int res = dialog.open();
+ notifyResult(res == Window.OK);
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ protected abstract INewWizard createWizard() throws CoreException;
+
+ private IStructuredSelection getSelection() {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ if (window != null)
+ {
+ ISelection selection = window.getSelectionService().getSelection();
+ if (selection instanceof IStructuredSelection)
+ {
+ return (IStructuredSelection)selection;
+ }
+ }
+ return StructuredSelection.EMPTY;
+ }
+}
\ No newline at end of file
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java
new file mode 100644
index 0000000..81cdccd
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/CopyResourceFromPlugin.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+import org.eclipse.ui.part.FileEditorInput;
+import org.osgi.framework.Bundle;
+
+public class CopyResourceFromPlugin extends Action implements ICheatSheetAction {
+
+ private String targetProject;
+ private String targetFolder;
+ private String sourceBundle;
+ private String sourcePath;
+ private String editorID;
+
+ public void run(String[] params, ICheatSheetManager manager) {
+ if ( params != null && params.length > 4 ) {
+ targetProject = params[0];
+ targetFolder = params[1];
+ sourceBundle= params[2];
+ sourcePath = params[3];
+ editorID = params[4];
+ }
+
+ WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor monitor) throws CoreException {
+ try {
+ Bundle b = Platform.getBundle(sourceBundle);
+
+ IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+ IProject project = workspaceRoot.getProject(targetProject);
+ IPath path = new Path( targetFolder ).append( sourcePath.substring( sourcePath.lastIndexOf( '/' ) ) );
+ IFile file = project.getFile( path );
+
+ if ( !file.exists() ) {
+ mkdirs( (IFolder) file.getParent(), monitor );
+
+ InputStream in = FileLocator.openStream(b, new Path(sourcePath), false);
+ file.create(in, true, monitor);
+ }
+
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ FileEditorInput input = new FileEditorInput(file);
+ window.getActivePage().openEditor(input, editorID);
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ };
+
+ try {
+ new ProgressMonitorDialog(Display.getCurrent().getActiveShell()).run(false, false, op);
+ } catch (InvocationTargetException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ private void mkdirs(IFolder folder, IProgressMonitor monitor) throws CoreException {
+ IContainer parent = folder.getParent();
+ if ( !parent.exists() ) {
+ mkdirs((IFolder) parent, monitor);
+ }
+
+ if ( !folder.exists() ) {
+ folder.create(true, true, monitor);
+ }
+
+ }
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
new file mode 100644
index 0000000..34d08da
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/OpenEmptySigilProjectWizardAction.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.ui.wizard.project.SigilProjectWizard;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class OpenEmptySigilProjectWizardAction extends AbstractNewWizardAction implements ICheatSheetAction {
+
+ private String name;
+
+ public void run(String[] params, ICheatSheetManager manager) {
+ if ( params != null && params.length > 0 ) {
+ name = params[0];
+ }
+
+ run();
+ }
+
+ @Override
+ protected INewWizard createWizard() throws CoreException {
+ SigilProjectWizard wizard = new SigilProjectWizard();
+ wizard.setName(name);
+ return wizard;
+ }
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
new file mode 100644
index 0000000..a851e3d
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ResolveProjectDependencies.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.SigilCore;
+import org.cauldron.sigil.model.project.ISigilProjectModel;
+import org.cauldron.sigil.actions.ResolveProjectDependenciesAction;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class ResolveProjectDependencies extends Action implements ICheatSheetAction {
+
+ private String targetProject;
+
+ public void run(String[] params, ICheatSheetManager manager) {
+ if ( params != null && params.length > 3 ) {
+ targetProject = params[0];
+ }
+
+ IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+ IProject project = workspaceRoot.getProject(targetProject);
+
+ try {
+ ISigilProjectModel sigil = SigilCore.create(project);
+ new ResolveProjectDependenciesAction(sigil, false).run();
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
new file mode 100644
index 0000000..ef48890
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/cheatsheets/actions/ShowViewAction.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.cheatsheets.actions;
+
+import org.cauldron.sigil.SigilCore;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.cheatsheets.ICheatSheetAction;
+import org.eclipse.ui.cheatsheets.ICheatSheetManager;
+
+public class ShowViewAction extends Action implements ICheatSheetAction {
+
+ public void run(String[] params, ICheatSheetManager manager) {
+ if ( params != null && params.length > 0 ) {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ IWorkbenchPage page = window.getActivePage();
+ try {
+ page.showView(params[0]);
+ } catch (PartInitException e) {
+ SigilCore.error( "Failed to show view", e);
+ }
+ }
+
+ }
+}
diff --git a/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java
new file mode 100644
index 0000000..8a94528
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/src/org/cauldron/sigil/help/Activator.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.cauldron.sigil.help;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.cauldron.sigil.help";
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/sigil/org.cauldron.sigil.help/toc.xml b/sigil/org.cauldron.sigil.help/toc.xml
new file mode 100644
index 0000000..191daf4
--- /dev/null
+++ b/sigil/org.cauldron.sigil.help/toc.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<toc label="Sigil - Newton Development Plugin" topic="html/book.html">
+ <topic label="Configuring Sigil" href="html/tasks/sigil_config.html"/>
+ <topic label="Creating A Newton Project" href="html/tasks/new_project.html"/>
+ <topic label="Creating SCA Composites" href="html/tasks/new_composite.html"/>
+ <topic label="Creating Newton Systems" href="html/tasks/new_system.html"/>
+ <topic label="Launching Newton" href="html/tasks/launch_newton.html"/>
+ <topic label="Viewing The Newton Log" href="html/tasks/container_log.html"/>
+ <topic label="Installing Your Composites" href="html/tasks/install_composite.html"/>
+ <topic label="Debugging Your Composites" href="html/tasks/debug_composite.html"/>
+</toc>