Merge "Bug 507360: Example Scripts for EGit integration"
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.classpath b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.classpath
new file mode 100644
index 0000000..2cb9784
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.classpath
@@ -0,0 +1,5 @@
+<?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/JavaSE-1.8"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.project b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.project
new file mode 100644
index 0000000..e8cc632
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>EclipseCon Europe 2016</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.settings/org.eclipse.jdt.core.prefs b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..3a21537
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/epl-v10.html b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/epl-v10.html
new file mode 100644
index 0000000..0beaf86
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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 http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/license.html b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/license.html
new file mode 100644
index 0000000..0fd3dd1
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and
+Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/01 explore/Explore from here.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/01 explore/Explore from here.js
new file mode 100644
index 0000000..b0eeaea
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/01 explore/Explore from here.js
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * toolbar: Project Explorer
+ * name: Explore from here
+ * image: platform:/plugin/org.eclipse.ease.ui/icons/eobj16/folder.png
+ * popup: enableFor(org.eclipse.core.resources.IResource)
+ ******************************************************************************/
+
+loadModule('/System/Platform');
+loadModule('/System/UI');
+
+var selection = getSelection();
+if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection)
+ selection = selection.getFirstElement();
+
+if (!(selection instanceof org.eclipse.core.resources.IResource))
+ selection = adapt(selection, org.eclipse.core.resources.IResource)
+
+if (selection instanceof org.eclipse.core.resources.IFile)
+ selection = selection.getParent();
+
+if (selection instanceof org.eclipse.core.resources.IContainer)
+ // runProcess("/usr/bin/krusader", [ "--left",
+ // getSystemProperty("user.home"), "--right", selection.getRawLocation() ]);
+ runProcess("explorer.exe", [ selection.getLocation().toFile().toString() ]);
\ No newline at end of file
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/02 Pastebin/Pastebin.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/02 Pastebin/Pastebin.js
new file mode 100644
index 0000000..b16461f
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/02 Pastebin/Pastebin.js
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Copy to PasteBin
+ * popup: enableFor(org.eclipse.jface.text.ITextSelection)
+ * image: http://pastebin.com/favicon.ico
+ */
+
+loadModule("/System/UI");
+
+// get selected text
+code = getSelection().getText();
+language = "unknown";
+title = "Code Snippet";
+
+// try to detect editor type to set right coding
+if (getActiveView() instanceof org.eclipse.wst.jsdt.internal.ui.javaeditor.CompilationUnitEditor)
+ language = "javascript";
+else if (getActiveView() instanceof org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor)
+ language = "java";
+
+// try to get filename from active editor
+editorInput = getActiveView().getEditorInput();
+if (editorInput instanceof org.eclipse.ui.part.FileEditorInput)
+ title = editorInput.getFile().getName();
+
+// paste content
+paste(title, code, language);
+
+// visualize paste result
+if ((response.startsWith("Bad")) || (response.startsWith("Post")))
+ showErrorDialog("Could not publish to pastebin:\n\n" + response,
+ "Pastebin error");
+else
+ showInputDialog("Successfully pasted to: ", response, "Pastebin URL");
+
+/**
+ * Paste a text on PasteBin.
+ *
+ * @param title
+ * paste title
+ * @param message
+ * paste content
+ * @returns PasteBin response
+ */
+function paste(title, message, language) {
+ params = encode("api_dev_key", "0d8fe3b5d541fda00bf87d8d66d7ac2d");
+ params += "&" + encode("api_option", "paste");
+ params += "&" + encode("api_paste_code", code);
+ params += "&" + encode("api_paste_private", "0");
+ params += "&" + encode("api_paste_name", title);
+ params += "&" + encode("api_paste_format", language);
+ params += "&" + encode("api_paste_expire_date", "1H");
+ // params += "&" + encode("api_user_key", "");
+
+ postData = new java.lang.String(params)
+ .getBytes(java.nio.charset.StandardCharsets.UTF_8);
+
+ url = new java.net.URL("http://pastebin.com/api/api_post.php");
+
+ // @type java.net.HttpURLConnection
+ connection = url.openConnection();
+ connection.setDoOutput(true)
+ connection.setInstanceFollowRedirects(false);
+ connection.setRequestMethod("POST");
+ connection.setRequestProperty("Content-Type",
+ "application/x-www-form-urlencoded");
+ connection.setRequestProperty("charset", "utf-8");
+ connection.setRequestProperty("Content-Length", postData.length);
+ connection.setUseCaches(false);
+
+ connection.getOutputStream().write(postData);
+ connection.getOutputStream().close();
+
+ reader = new java.io.BufferedReader(new java.io.InputStreamReader(
+ connection.getInputStream()));
+ response = reader.readLine();
+ connection.disconnect();
+
+ return response;
+}
+
+/**
+ * Utility function to encode text data for POST request
+ *
+ * @param key
+ * parameter key
+ * @param value
+ * parameter content
+ * @returns encoded POST parameter
+ */
+function encode(key, value) {
+ return java.net.URLEncoder.encode(key) + "="
+ + java.net.URLEncoder.encode(value);
+}
\ No newline at end of file
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Ping.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Ping.js
new file mode 100644
index 0000000..7330675
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Ping.js
@@ -0,0 +1,11 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Event creator to trigger event based script.
+ */
+
+loadModule("/System/Platform");
+postEvent("org/eclipse/ease/ping")
\ No newline at end of file
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Pong.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Pong.js
new file mode 100644
index 0000000..7a11119
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/03 event bus/Pong.js
@@ -0,0 +1,12 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * onEventBus: org/eclipse/ease/ping
+ */
+
+loadModule('/System/UI');
+
+showInfoDialog("Pong");
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/04 Builder/CustomBuilder.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/04 Builder/CustomBuilder.js
new file mode 100644
index 0000000..a1a80c8
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/04 Builder/CustomBuilder.js
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Custom JS Builder
+ * onSave: *.js
+ */
+loadModule('/System/Resources');
+
+markerMessage = "File should start with a file comment";
+
+// remove old markers
+file = getFile(argv[0]);
+file.deleteMarkers("org.eclipse.core.resources.problemmarker", false, 0);
+
+firstLine = readLine(file).trim();
+if (!firstLine.startsWith("//") && !firstLine.startsWith("/*"))
+ // file should start with a comment
+ createProblemMarker("warning", argv[0], 1, "File should start with a file comment");
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/05 Changelog/ChangeLog creator.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/05 Changelog/ChangeLog creator.js
new file mode 100644
index 0000000..daaa694
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/05 Changelog/ChangeLog creator.js
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Create workspace change log
+ * onResourceChange: *.js
+ */
+
+loadModule('/System/Resources');
+
+timestamp = new java.text.SimpleDateFormat("yyyy-MM-dd', 'HH:mm").format(java.lang.System.currentTimeMillis());
+
+file = getChangeLog(argv[0]);
+file = writeLine(file, timestamp + ": " + argv[0] + " " + argv[1], APPEND);
+closeFile(file);
+
+function getChangeLog(changedFile) {
+ file = getFile(changedFile, false);
+ project = file.getProject();
+
+ return getFile("workspace://" + project.getName() + "/changeLog.txt", false);
+}
+
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/06 Tasks for today/Tasks for today.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/06 Tasks for today/Tasks for today.js
new file mode 100644
index 0000000..0192d04
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/06 Tasks for today/Tasks for today.js
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Show open Mylyn tasks
+ * onStartup: 3
+ */
+loadModule('/System/UI');
+
+tasks = org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.getTaskList().getAllTasks();
+
+now = new java.util.Date();
+message = "";
+
+it = tasks.iterator();
+while(it.hasNext()) {
+ task = it.next();
+ if (!task.isCompleted()) {
+ dueDate = task.getDueDate();
+ if (now.after(dueDate)) {
+ message += "\n\t* " + task.getSummary();
+ }
+ }
+}
+
+if (message.length > 0) {
+ showInfoDialog("Following tasks need to be completed:\n" + message, "Open tasks for today");
+ openView("Task List");
+}
\ No newline at end of file
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThis.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThis.js
new file mode 100644
index 0000000..b4f4617
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThis.js
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Remember This
+ * toolbar: Project Explorer
+ * keyboard: Shift+F9
+ */
+
+loadModule('/System/UI');
+topic = showInputDialog("What do you want me to remind you?", "", "Remember This!");
+
+if (!topic.isEmpty()) {
+ loadModule('/System/Scripting');
+ list = getSharedObject("RememberThis");
+ if (list == null) {
+ list = new java.util.ArrayList();
+ setSharedObject("RememberThis", list, true, true);
+ }
+
+ list.add(topic);
+}
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThisReminder.js b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThisReminder.js
new file mode 100644
index 0000000..3b9a89a
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/scripts/07 Remember this/rememberThisReminder.js
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * onShutdown: 5000
+ */
+loadModule('/System/Scripting');
+
+loadModule('/System/UI');
+list = getSharedObject("RememberThis");
+if (list != null) {
+ text = ""
+ for (index=0; index < list.size(); index++)
+ text += "\n" + list.get(index);
+
+ showInfoDialog("Please remember:\n" + text, "Remember This!");
+}
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/bullet.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/bullet.png
new file mode 100644
index 0000000..658d126
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/bullet.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_build_module_docs.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_build_module_docs.png
new file mode 100644
index 0000000..12c63e2
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_build_module_docs.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_charts.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_charts.png
new file mode 100644
index 0000000..8fc674f
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_charts.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_invoke_java.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_invoke_java.png
new file mode 100644
index 0000000..70643f2
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_invoke_java.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_module_extension.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_module_extension.png
new file mode 100644
index 0000000..6119987
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_module_extension.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_simple_module.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_simple_module.png
new file mode 100644
index 0000000..6ec0fbf
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/code_simple_module.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/coming_soon.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/coming_soon.png
new file mode 100644
index 0000000..7c6483e
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/coming_soon.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/eclipse256.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/eclipse256.png
new file mode 100644
index 0000000..7e5bbdc
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/eclipse256.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/evaluation.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/evaluation.png
new file mode 100644
index 0000000..bcbbaf3
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/evaluation.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/java.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/java.png
new file mode 100644
index 0000000..b069023
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/java.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/not_supported.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/not_supported.png
new file mode 100644
index 0000000..9ed9246
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/not_supported.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/script.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/script.png
new file mode 100644
index 0000000..dc6fde5
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/script.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_advanced_chart.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_advanced_chart.png
new file mode 100644
index 0000000..aaeb908
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_advanced_chart.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion.png
new file mode 100644
index 0000000..ad6bfce
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion_help.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion_help.png
new file mode 100644
index 0000000..d767a0f
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_code_completion_help.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class.png
new file mode 100644
index 0000000..749d75a
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class_project.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class_project.png
new file mode 100644
index 0000000..2c82a8a
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_compile_class_project.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_debugging.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_debugging.png
new file mode 100644
index 0000000..f095e08
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_debugging.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_java.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_java.png
new file mode 100644
index 0000000..9386e78
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_java.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_result.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_result.png
new file mode 100644
index 0000000..223a6e0
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_invoke_result.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_launch_configuration.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_launch_configuration.png
new file mode 100644
index 0000000..a267e54
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_launch_configuration.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_load_module.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_load_module.png
new file mode 100644
index 0000000..8d2e6a1
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_load_module.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_modules_explorer.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_modules_explorer.png
new file mode 100644
index 0000000..ca981d6
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_modules_explorer.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_online_help.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_online_help.png
new file mode 100644
index 0000000..b640c78
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_online_help.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_explorer.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_explorer.png
new file mode 100644
index 0000000..d5c01d3
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_explorer.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_locations.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_locations.png
new file mode 100644
index 0000000..f534cc8
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_locations.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_popup.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_popup.png
new file mode 100644
index 0000000..8a8fa48
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_popup.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_context.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_context.png
new file mode 100644
index 0000000..7655bd9
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_context.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_menu.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_menu.png
new file mode 100644
index 0000000..7352c81
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_menu.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_toolbar.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_toolbar.png
new file mode 100644
index 0000000..09dbbbf
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_script_ui_toolbar.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell.png
new file mode 100644
index 0000000..728805d
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic.png
new file mode 100644
index 0000000..f52aaad
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic_console.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic_console.png
new file mode 100644
index 0000000..be52ade
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_basic_console.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_eclipse.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_eclipse.png
new file mode 100644
index 0000000..3d1e767
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_eclipse.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_jars.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_jars.png
new file mode 100644
index 0000000..1e619b5
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_shell_jars.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_simple_chart.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_simple_chart.png
new file mode 100644
index 0000000..714e5a9
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_simple_chart.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_unit_testing.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_unit_testing.png
new file mode 100644
index 0000000..c8dbf16
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_unit_testing.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_wrap_instance.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_wrap_instance.png
new file mode 100644
index 0000000..50b56c3
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/scrn_wrap_instance.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_1.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_1.png
new file mode 100644
index 0000000..bc79603
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_1.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_2.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_2.png
new file mode 100644
index 0000000..054e8d5
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_2.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_3.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_3.png
new file mode 100644
index 0000000..3d13b38
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/shell_java_3.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/supported.png b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/supported.png
new file mode 100644
index 0000000..4e491ac
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/images/supported.png
Binary files differ
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/index.html b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/index.html
new file mode 100644
index 0000000..61a1076
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/index.html
@@ -0,0 +1,366 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8" />
+<meta name="viewport" content="width=1024" />
+<meta name="apple-mobile-web-app-capable" content="yes" />
+<title>Elevate your IDE with scripting, EclipseCon Europe 2016</title>
+
+<meta name="description"
+ content="EclipseCon presentation of the Eclipse Advanced Scripting Environment." />
+<meta name="author" content="Christian Pontesegger" />
+
+<link
+ href="http://fonts.googleapis.com/css?family=Open+Sans:regular,semibold,italic,italicsemibold|PT+Sans:400,700,400italic,700italic|PT+Serif:400,700,400italic,700italic"
+ rel="stylesheet" />
+ <link href='https://fonts.googleapis.com/css?family=Marck+Script&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
+ <link href="https://fonts.googleapis.com/css?family=Bangers" rel="stylesheet">
+ <link href="style.css" rel="stylesheet" />
+</head>
+
+<body class="impress-not-supported">
+
+ <!--
+ For example this fallback message is only visible when there is `impress-not-supported` class on body.
+-->
+ <div class="fallback-message">
+ <p>
+ Your browser <b>doesn't support the features required</b> by impress.js, so you are presented
+ with a simplified version of this presentation.
+ </p>
+ <p>
+ For the best experience please use the latest <b>Chrome</b>, <b>Safari</b> or <b>Firefox</b>
+ browser.
+ </p>
+ </div>
+
+ <div id="impress">
+ <div id="title" class="step slide" data-x="0" data-y="600" data-scale="4">
+ <div id="i_love">Elevate your IDE<br /><br />with scripting</div>
+ <div id="copyright">EclipseCon Europe 2016<br />by Christian Pontesegger</div>
+ </div>
+
+ <div id="bigPicture" class="step slide" data-x="0" data-y="500" data-z="-500" data-rotate-x="-90">
+ <img id="picture_java" src="images/java.png" />
+
+ <img id="picture_script1" src="images/script.png" />
+ <img id="picture_script2" src="images/script.png" />
+ <img id="picture_script3" src="images/script.png" />
+ <img id="picture_script4" src="images/script.png" />
+ <img id="picture_script5" src="images/script.png" />
+
+ <p id="picture_ease" class="box eclipse">
+ EASE<br />Eclipse Advanced Scripting Environment
+ </p>
+
+ <p id="picture_jsdt" class="ideSupport box eclipse">JSDT</p>
+ <p id="picture_pydev" class="ideSupport box eclipse">PyDev</p>
+ <p id="picture_ggts" class="ideSupport box eclipse">GGTS</p>
+ <p id="picture_rdt" class="ideSupport box eclipse">RDT</p>
+
+ <p id="picture_eclipse" class="box eclipse">
+ Eclipse<br /> <img src="images/eclipse256.png" />
+ </p>
+
+ <p id="picture_rhino" class="engine box eclipse">Rhino</p>
+ <p id="picture_jython" class="engine box eclipse">Jython</p>
+ <p id="picture_groovy" class="engine box eclipse">Groovy</p>
+ <p id="picture_jruby" class="engine box eclipse">JRuby</p>
+ </div>
+
+ <div id="shell_main" class="step slide background" data-x="0" data-y="-1700">
+ <h1>An interactive script shell</h1>
+ <img class="center" src="images/scrn_shell.png" />
+ </div>
+
+ <div id="shell_jre" class="step slide background" data-x="0" data-y="-2700">
+ <h1>... with access to the Java runtime</h1>
+ <div id="jre1" class="code">
+ <img src="images/shell_java_1.png" />
+ </div>
+ <div id="jre2" class="code">
+ <img src="images/shell_java_2.png" />
+ </div>
+ <div id="jre3" class="code">
+ <img src="images/shell_java_3.png" />
+ </div>
+ </div>
+
+ <div id="shell_jars" class="step slide background" data-x="-700" data-y="-3700">
+ <h1>... your JARs</h1>
+ <img class="center" src="images/scrn_shell_jars.png" />
+ </div>
+
+ <div id="shell_eclipse" class="step slide background" data-x="700" data-y="-3700">
+ <h1>... and Eclipse</h1>
+ <img class="center" src="images/scrn_shell_eclipse.png" />
+ <p class="bottomright">with all its plug-ins</p>
+ </div>
+
+ <div id="code_completion" class="step slide background" data-x="1500" data-y="-1200" data-rotate="45">
+ <h1>Powerful code completion</h1>
+ <img class="center" src="images/scrn_code_completion.png" />
+ </div>
+
+ <div id="code_completion_help" class="step slide background" data-x="2200" data-y="-1900" data-rotate="45">
+ <h1>... with help tooltips</h1>
+ <img class="center" src="images/scrn_code_completion_help.png" width="880" />
+ </div>
+
+ <div id="modules_explorer" class="step slide background" data-x="2000" data-y="0" data-rotate="90">
+ <h1>Use modules for common tasks</h1>
+ <ul class="left">
+ <li>Launch support</li>
+ <li>Preferences</li>
+ <li>access Services</li>
+ <li>perform UI tasks</li>
+ <li>Script multithreading</li>
+ <li>Resource handling</li>
+ </ul>
+ <img class="right" src="images/scrn_modules_explorer.png" />
+ </div>
+
+ <div id="load_modules" class="step slide background" data-x="3000" data-y="0" data-rotate="90">
+ <h1>... loaded dynamically during runtime</h1>
+ <img class="center" src="images/scrn_load_module.png" />
+ <img id="popup" src="images/scrn_script_popup.png" />
+ </div>
+
+ <div id="wrap_java_instance" class="step slide background" data-x="4000" data-y="-1250" data-rotate="90">
+ <h1>Wrap any java object</h1>
+ <img class="center" src="images/scrn_wrap_instance.png" />
+ </div>
+
+ <div id="register_pojo" class="step slide background" data-x="4000" data-y="0" data-rotate="90">
+ <h1>Register POJOs</h1>
+ <img id="pojo1" src="images/code_simple_module.png" />
+ <img id="pojo2" src="images/code_module_extension.png" />
+ </div>
+
+ <div id="write_modules" class="step slide background" data-x="4000" data-y="1250" data-rotate="90">
+ <h1>or write sophisticated modules</h1>
+ <ul class="center">
+ <li>select methods/fields to export</li>
+ <li>have optional parameters</li>
+ <li>provide method aliases</li>
+ <li>deprecate methods</li>
+ </ul>
+ <a target="_blank" class="centerbottom" href="http://codeandme.blogspot.co.at/2014/10/writing-modules-for-ease.html">Read the
+ detailed tutorial</a>
+ </div>
+
+ <div id="module_docs" class="step slide background" data-x="5000" data-y="-625" data-rotate="90">
+ <h1>Consistent documentation</h1>
+ <img class="center" src="images/scrn_online_help.png" />
+ </div>
+
+ <div id="module_docs_build" class="step slide background" data-x="5000" data-y="625" data-rotate="90">
+ <h1>created @ build time</h1>
+ <img class="center code" src="images/code_build_module_docs.png" />
+ </div>
+
+ <div id="launch_config" class="step slide background" data-x="1500" data-y="1200" data-rotate="135">
+ <h1>Launch support</h1>
+ <img class="center" src="images/scrn_launch_configuration.png" />
+ </div>
+
+ <div id="debug_config" class="step slide background" data-x="2200" data-y="1900" data-rotate="135">
+ <h1>Integrated debugger</h1>
+ <img class="center" src="images/scrn_debugging.png" />
+ </div>
+
+ <div id="script_libraries" class="step slide background" data-x="0" data-y="1700" data-rotate="180">
+ <h1>Create script libraries</h1>
+ <img class="left" src="images/scrn_script_explorer.png" />
+ <ul class="right">
+ <li>record shell scripts</li>
+ <li>load from known location</li>
+ <li>customize display structure</li>
+ <li>modify scripts</li>
+ <li>execute scripts</li>
+ </ul>
+ </div>
+
+ <div id="script_repositories" class="step slide background" data-x="0" data-y="2700" data-rotate="180">
+ <h1>Share with colleagues</h1>
+ <img class="center" src="images/scrn_script_locations.png" />
+ <p class="bottomright">... or the world</p>
+ </div>
+
+ <div id="script_ui_integration" class="step slide background" data-x="0" data-y="3700" data-rotate="180">
+ <h1>Enhance your UI</h1>
+ <div id="toolbar">
+ <img src="images/scrn_script_ui_toolbar.png" />
+ <p>... toolbars</p>
+ </div>
+ <div id="menu">
+ <img src="images/scrn_script_ui_menu.png" />
+ <p>... view menus</p>
+ </div>
+ <div id="context">
+ <img src="images/scrn_script_ui_context.png" />
+ <p>... context menus</p>
+ </div>
+ <a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2014/12/ease-scripts-conquer-ui.html">Read the
+ detailed tutorial</a>
+ </div>
+
+ <div id="charts" class="step slide background" data-x="-1500" data-y="1200" data-rotate="225" >
+ <h1>Live charts</h1>
+ <div class="code">
+ <img src="images/code_charts.png" />
+ </div>
+ <img id="charts1" src="images/scrn_simple_chart.png" />
+ <img id="charts2" src="images/scrn_advanced_chart.png" />
+ <a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2015/04/live-charting-with-ease.html">Read the detailed tutorial</a>
+ </div>
+
+ <div id="unit_tests" class="step slide background" data-x="-2000" data-y="0" data-rotate="270" >
+ <h1>Scripted unit testing</h1>
+ <img class="left" src="images/scrn_unit_testing.png" />
+ <ul class="right">
+ <li>UI support</li>
+ <li>Error markers in files</li>
+ <li>Reporting</li>
+ <li>integrates with Hudson/Jenkins</li>
+ </ul>
+ <a target="_blank" class="bottomright" href="http://codeandme.blogspot.co.at/2015/05/unit-testing-with-scripts-in-ease.html">Read
+ the detailed tutorial</a>
+ </div>
+
+ <div id="java_code" class="step slide background" data-x="-1500" data-y="-1200" data-rotate="315">
+ <h1>Interact with Java source</h1>
+ <img class="center" src="images/code_invoke_java.png" />
+ </div>
+
+ <div id="java_load" class="step slide background" data-x="-2200" data-y="-1900" data-rotate="315">
+ <h1>... load classes from workspace</h1>
+ <img class="center" src="images/scrn_compile_class.png" />
+ <img class="bottomleft" src="images/scrn_compile_class_project.png" />
+ </div>
+
+ <div id="java_invoke" class="step slide background" data-x="-2900" data-y="-2600" data-rotate="315">
+ <h1>INVOKE !</h1>
+ <img class="center" src="images/scrn_invoke_java.png" />
+ <img id="java_result" src="images/scrn_invoke_result.png" />
+ <p class="bottomright">... and we do not launch a new JRE.</p>
+ </div>
+
+ <div id="engine_integration" class="step slide background" data-x="0" data-y="-5000" data-rotate="360">
+ <h1>Supported engines</h1>
+ <table class="center">
+ <tr>
+ <th class="rotate"></th>
+ <th class="rotate"><div><span>Launch</span></div></th>
+ <th class="rotate"><div><span>Shell</span></div></th>
+ <th class="rotate"><div><span>Modules</span></div></th>
+ <th class="rotate"><div><span>Scripts</span></div></th>
+ <th class="rotate"><div><span>Unit Test</span></div></th>
+ <th class="rotate"><div><span>Debug</span></div></th>
+ </tr>
+ <tr>
+ <td>Rhino</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>Nashorn</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>Python (Py4J)</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>Jython</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>Groovy</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>JRuby</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>JVM</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ <tr>
+ <td>Beanshell</td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ <td><img src="images/not_supported.png" width="20" alt="ok"/></td>
+ </tr>
+ </table>
+ </div>
+
+ <div id="conclusion" class="step slide" data-x="0" data-y="100" data-scale="3" data-rotate-x="-20">
+ <div>Now start to</div>
+ </div>
+
+ <div id="get_in_touch" class="step slide background" data-x="0" data-y="-500" data-z="500" data-rotate-x="-90">
+ <h1>Get in touch</h1>
+ <p id="link1" class="center"><a target="_blank" href="https://eclipse.org/ease">eclipse.org/ease</a></p>
+ <p id="link2" class="center"><a target="_blank" href="https://codeandme.blogspot.com">codeandme.blogspot.com</a></p>
+ </div>
+
+ <div id="evaluation" class="step slide" data-x="0" data-y="-500" data-z="1500" data-rotate-x="-90">
+ <img class="center" src="images/evaluation.png" />
+ </div>
+
+ </div>
+
+ <div class="hint">
+ <p>Use a spacebar or arrow keys to navigate</p>
+ </div>
+ <script>
+ if ("ontouchstart" in document.documentElement) {
+ document.querySelector(".hint").innerHTML = "<p>Tap on the left or right to navigate</p>";
+ }
+ </script>
+
+ <script src="http://impress.github.io/impress.js/js/impress.js"></script>
+ <script>
+ impress().init();
+ </script>
+</body>
+</html>
diff --git a/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/style.css b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/style.css
new file mode 100644
index 0000000..f25e57e
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/EclipseCon Europe 2016/slides/style.css
@@ -0,0 +1,738 @@
+/*
+ We start with a good ol' reset.
+ That's the one by Eric Meyer http://meyerweb.com/eric/tools/css/reset/
+
+ You can probably argue if it is needed here, or not, but for sure it
+ doesn't do any harm and gives us a fresh start.
+*/
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
+ blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn,
+ em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
+ b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
+ table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
+ details, embed, figure, figcaption, footer, header, hgroup, menu, nav,
+ output, ruby, section, summary, time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure, footer, header, hgroup,
+ menu, nav, section {
+ display: block;
+}
+
+body {
+ line-height: 1;
+}
+
+ol, ul {
+ list-style: none;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+/*
+ Now here is when interesting things start to appear.
+
+ We set up <body> styles with default font and nice gradient in the background.
+ And yes, there is a lot of repetition there because of -prefixes but we don't
+ want to leave anybody behind.
+*/
+body {
+ font-family: 'PT Sans', sans-serif;
+ min-height: 740px;
+ background: rgb(215, 215, 215);
+ background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 500, from(rgb(240, 240,
+ 240)), to(rgb(190, 190, 190)));
+ background: -webkit-radial-gradient(rgb(240, 240, 240),
+ rgb(190, 190, 190));
+ background: -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
+ background: -ms-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
+ background: -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
+ background: radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190));
+}
+
+/*
+ ... and give links a nice look.
+*/
+a {
+ color: blue;
+ text-decoration: none;
+ padding: 5px 10px 5px 10px;
+ border-radius: 0.2em;
+ -webkit-transition: 0.5s;
+ -moz-transition: 0.5s;
+ -ms-transition: 0.5s;
+ -o-transition: 0.5s;
+ transition: 0.5s;
+}
+
+a:hover, a:focus {
+ background: #ffffef;
+ text-shadow: -1px -1px 2px rgba(100, 100, 100, 0.5);
+ box-shadow: 0 5px 20px rgba(0, 0, 0, .3);
+}
+
+/*
+ slide headers
+*/
+h1 {
+ font-size: 1.5em;
+ text-align: center;
+ color: #444466;
+
+ padding-top: 50px;
+}
+
+/*
+ tables
+*/
+table {
+ font-size: 0.6em;
+ border-collapse: collapse;
+}
+
+td {
+ border: 1px solid #ccc;
+ text-align: center;
+ vertical-align: bottom;
+ padding: 5px 20px 5px 20px;
+}
+
+tr:nth-child(even) {
+ background: #d8d89e;
+}
+
+/*
+ rotated table headers
+*/
+th.rotate {
+ /* Something you can count on */
+ height: 70px;
+ white-space: nowrap;
+}
+
+th.rotate > div {
+ transform:
+ /* Magic Numbers */
+ translate(10px, 20px)
+ /* 45 is really 360 - 45 */
+ rotate(300deg);
+ width: 50px;
+}
+
+th.rotate > div > span {
+ padding: 5px 10px;
+}
+
+/*
+ general stuff
+*/
+img {
+ max-height: 450px;
+}
+
+li {
+ margin-top: 10px;
+}
+
+ul {
+ list-style-image: url('images/bullet.png');
+}
+
+/*
+ Source code styling
+*/
+div.code {
+ background-image: url("images/script.png");
+ background-repeat: no-repeat;
+ background-size: 32px 32px;
+ background-position: 10px 10px;
+ padding-left: 60px;
+}
+
+.code {
+ background: white;
+ border: 1px solid black;
+ border-radius: 5px;
+ padding: 5px 10px 5px 10px;
+}
+
+/*
+ Locations on a slide
+*/
+.left {
+ position: absolute;
+ left: 80px;
+
+ top: 55%;
+ transform: translate(0%, -50%);
+}
+
+.right {
+ position: absolute;
+ right: 80px;
+
+ top: 55%;
+ transform: translate(0%, -50%);
+}
+
+.bottomright {
+ position: absolute;
+ right: 80px;
+ bottom: 50px;
+}
+
+.bottomleft {
+ position: absolute;
+ left: 80px;
+ bottom: 50px;
+}
+
+.center {
+ position: fixed;
+ top: 55%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+
+.centerbottom {
+ position: fixed;
+ bottom: 50px;
+ left: 50%;
+ transform: translate(-50%, 0%);
+}
+
+
+/*
+ All of the content will be still fully accessible for them, but I want
+ them to know that they are missing something - that's what the demo is
+ about, isn't it?
+
+ And then we hide the message, when support is detected in the browser.
+*/
+.fallback-message {
+ font-family: sans-serif;
+ line-height: 1.3;
+ width: 780px;
+ padding: 10px 10px 0;
+ margin: 20px auto;
+ border: 1px solid #E4C652;
+ border-radius: 10px;
+ background: #EEDC94;
+}
+
+.fallback-message p {
+ margin-bottom: 10px;
+}
+
+.impress-supported .fallback-message {
+ display: none;
+}
+
+/*
+ Now let's style the presentation steps.
+
+ We start with basics to make sure it displays correctly in everywhere ...
+*/
+.step {
+ position: relative;
+ width: 900px;
+ padding: 40px;
+ margin: 20px auto;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ -o-box-sizing: border-box;
+ box-sizing: border-box;
+ font-family: 'PT Serif', georgia, serif;
+ font-size: 48px;
+ line-height: 1.5;
+
+ transition: background-color 1s ease-in;
+}
+
+.step.active {
+ background: #ffffc7;
+ transition: background-color 1s ease-in;
+
+ border: 1px solid rgba(82, 82, 52, .3);
+ border-radius: 10px;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, .6);
+}
+
+.slide {
+ display: block;
+ width: 900px;
+ height: 700px;
+ padding: 40px 60px;
+
+ color: rgb(102, 102, 102);
+ text-shadow: 0 2px 2px rgba(0, 0, 0, .1);
+ font-family: 'Open Sans', Arial, sans-serif;
+ font-size: 30px;
+ line-height: 36px;
+ letter-spacing: -1px;
+}
+
+.background {
+ background: #ffffc7;
+}
+
+/*
+ ... and we enhance the styles for impress.js.
+*/
+.impress-enabled .step {
+ opacity: 0;
+ -webkit-transition: opacity 1s;
+ -moz-transition: opacity 1s;
+ -ms-transition: opacity 1s;
+ -o-transition: opacity 1s;
+ transition: opacity 1s;
+
+ margin: 0;
+}
+
+.impress-enabled .step.active {
+ opacity: 1;
+ -webkit-transition: opacity 1s;
+ -moz-transition: opacity 1s;
+ -ms-transition: opacity 1s;
+ -o-transition: opacity 1s;
+ transition: opacity 1s;
+}
+
+.impress-enabled .step.past {
+ opacity: 0.6;
+}
+
+#title {
+ opacity: 1;
+}
+
+#bigPicture.step.past {
+ opacity: 0;
+}
+
+/*
+ Now, when we have all the steps styled let's give users a hint how to navigate
+ around the presentation.
+*/
+.hint {
+ /*
+ We hide the hint until presentation is started and from browsers not supporting
+ impress.js, as they will have a linear scrollable view ...
+ */
+ display: none;
+ /*
+ ... and give it some fixed position and nice styles.
+ */
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 200px;
+ background: rgba(0, 0, 0, 0.5);
+ color: #EEE;
+ text-align: center;
+ font-size: 50px;
+ padding: 20px;
+ z-index: 100;
+ /*
+ By default we don't want the hint to be visible, so we make it transparent ...
+ */
+ opacity: 0;
+ /*
+ ... and position it below the bottom of the screen (relative to it's fixed position)
+ */
+ -webkit-transform: translateY(400px);
+ -moz-transform: translateY(400px);
+ -ms-transform: translateY(400px);
+ -o-transform: translateY(400px);
+ transform: translateY(400px);
+ /*
+ Now let's imagine that the hint is visible and we want to fade it out and move out
+ of the screen.
+
+ So we define the transition on the opacity property with 1s duration and another
+ transition on transform property delayed by 1s so it will happen after the fade out
+ on opacity finished.
+
+ This way user will not see the hint moving down.
+ */
+ -webkit-transition: opacity 1s, -webkit-transform 0.5s 1s;
+ -moz-transition: opacity 1s, -moz-transform 0.5s 1s;
+ -ms-transition: opacity 1s, -ms-transform 0.5s 1s;
+ -o-transition: opacity 1s, -o-transform 0.5s 1s;
+ transition: opacity 1s, transform 0.5s 1s;
+}
+
+/*
+ Now we 'enable' the hint when presentation is initialized ...
+*/
+.impress-enabled .hint {
+ display: block
+}
+
+/*
+ ================================================================================
+ And now we start to style each step separately.
+
+ I agree that this may be not the most efficient, object-oriented and
+ scalable way of styling, but most of steps have quite a custom look
+ and typography tricks here and there, so they had to be styled separately.
+
+ First is the title step with a big <h1> (no room for padding) and some
+ 3D positioning along Z axis.
+*/
+
+/*
+ Slides without borders & background
+*/
+.impress-on-title .step.active {
+ background: none;
+
+ border-width: 0px;
+ box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
+}
+
+.impress-on-conclusion .step.active {
+ background: none;
+
+ border-width: 0px;
+ box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
+}
+
+.impress-on-evaluation .step.active {
+ background: none;
+
+ border-width: 0px;
+ box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
+}
+
+/*
+ Slide: 'I love scripting'
+*/
+#title #i_love {
+ font-family: 'Bangers', cursive;
+ font-size: 2.5em;
+ text-align: center;
+ color: #444466;
+
+ padding-top: 200px;
+}
+
+#title #copyright {
+ font-size: 0.8em;
+
+ position: fixed;
+ top: 60%;
+ left: 50%;
+ transform: translate(-50%, 0%);
+}
+
+
+
+/*
+ Slide: 'Shell JRE access'
+*/
+#shell_jre #jre1 {
+ position: absolute;
+ top: 250px;
+ left: 100px;
+}
+
+#shell_jre #jre2 {
+ position: absolute;
+ top: 350px;
+ left: 200px;
+}
+#shell_jre #jre3 {
+ position: absolute;
+ top: 450px;
+ left: 300px;
+}
+
+#code_completion_help #coming_soon {
+ position: absolute;
+ top: 370px;
+ left: 650px;
+ transform: rotate(-5deg);
+}
+
+
+/*
+ Slide: 'Register POJOs'
+*/
+
+#pojo1 {
+ position: absolute;
+ top: 150px;
+ left: 40px;
+ width: 400px;
+}
+
+#pojo2 {
+ position: absolute;
+ top: 400px;
+ left: 250px;
+ width: 600px;
+}
+
+/*
+ Slide: 'Script UI integration'
+*/
+#script_ui_integration #toolbar {
+ position: absolute;
+ top: 150px;
+ left: 40px;
+}
+
+#script_ui_integration #menu {
+ position: absolute;
+ top: 320px;
+ left: 40px;
+}
+
+#script_ui_integration #context {
+ position: absolute;
+ top: 200px;
+ right: 40px;
+}
+
+
+/*
+ Slide: 'Modules loaded dynamically'
+*/
+
+#popup {
+ position: absolute;
+ top: 450px;
+ right: 40px;
+}
+
+
+/*
+ Slide: 'Conclusion'
+*/
+#conclusion > div {
+ font-family: 'Marck Script', cursive;
+ font-size: 2em;
+ text-align: center;
+ color: #444466;
+
+ padding-top: 200px;
+}
+
+
+/*
+ Slide: 'Invoke java'
+*/
+#java_invoke #java_result {
+ position: absolute;
+ top: 400px;
+ left: 600px;
+}
+
+/*
+ Slide: 'Invoke java'
+*/
+#charts1 {
+ position: absolute;
+ top: 145px;
+ left: 540px;
+ height: 200px;
+}
+
+#charts2 {
+ position: absolute;
+ top: 365px;
+ left: 540px;
+ height: 200px;
+}
+
+/*
+ Slide: 'Get in touch'
+*/
+
+#get_in_touch #link1 {
+ transform: translate(-50%, -100px);
+}
+
+#get_in_touch #link2 {
+ transform: translate(-50%, 0px);
+}
+
+/*
+ Slide: 'The whole picture' (picture)
+
+ Display how EASE interacts with Eclipse, engines and java
+*/
+
+#picture_eclipse {
+ left: 280px;
+ top: 220px;
+
+ width: 340px;
+ height: 315px;
+
+ font-size: 48px;
+
+ padding-top: 30px;
+}
+
+#picture_eclipse img {
+ margin-top: 70px;
+ width: 40%;
+}
+
+#picture_jsdt {
+ left: 165px;
+ top: 220px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_pydev {
+ left: 165px;
+ top: 309px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_ggts {
+ left: 165px;
+ top: 397px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_rdt {
+ left: 165px;
+ top: 485px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_rhino {
+ left: 635px;
+ top: 220px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_jython {
+ left: 635px;
+ top: 309px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_groovy {
+ left: 635px;
+ top: 397px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_jruby {
+ left: 635px;
+ top: 485px;
+
+ width: 100px;
+ height: 80px;
+}
+
+#picture_java {
+ width: 15%;
+ height: 15%;
+
+ position: absolute;
+ top: 575px;
+ left: 50%;
+ transform: translate(-50%, 0%);
+}
+
+#picture_ease {
+ left: 165px;
+ top: 120px;
+
+ width: 565px;
+ height: 80px;
+}
+
+#picture_script1 {
+ position: absolute;
+ left: 250px;
+ top: 40px;
+ width: 50px;
+
+ transition: all 3s ease-in;
+}
+
+#picture_script2 {
+ position: absolute;
+ left: 350px;
+ top: 40px;
+ width: 50px;
+
+ transition: all 3.5s ease-in;
+}
+
+#picture_script3 {
+ position: absolute;
+ left: 450px;
+ top: 40px;
+ width: 50px;
+
+ transition: all 4s ease-in;
+}
+
+#picture_script4 {
+ position: absolute;
+ left: 550px;
+ top: 40px;
+ width: 50px;
+
+ transition: all 4.5s ease-in;
+}
+
+#picture_script5 {
+ position: absolute;
+ left: 650px;
+ top: 40px;
+ width: 50px;
+
+ transition: all 5s ease-in;
+}
+
+.box {
+ display: block;
+ border-radius: 10px;
+ text-align: center;
+ position: absolute;
+}
+
+.eclipse {
+ border: 1px solid #8C6C9C;
+ background: linear-gradient(to bottom, #E1D5E7, #8C6C9C);
+ color: #330066;
+ font-size: 20px;
+}
+
+
+
\ No newline at end of file
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/.classpath b/Demos/EclipseCon Europe 2016/local.scripts/.classpath
new file mode 100644
index 0000000..b862a29
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/.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/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/.gitignore b/Demos/EclipseCon Europe 2016/local.scripts/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/.project b/Demos/EclipseCon Europe 2016/local.scripts/.project
new file mode 100644
index 0000000..e7cfa0a
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>local.scripts</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/Demos/EclipseCon Europe 2016/local.scripts/.settings/org.eclipse.jdt.core.prefs b/Demos/EclipseCon Europe 2016/local.scripts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..295926d
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/META-INF/MANIFEST.MF b/Demos/EclipseCon Europe 2016/local.scripts/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..24f56f0
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Scripts
+Bundle-SymbolicName: local.scripts
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.ui;bundle-version="3.108.0",
+ org.eclipse.core.resources;bundle-version="3.11.0",
+ org.eclipse.core.runtime;bundle-version="3.12.0"
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/build.properties b/Demos/EclipseCon Europe 2016/local.scripts/build.properties
new file mode 100644
index 0000000..41eb6ad
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/epl-v10.html b/Demos/EclipseCon Europe 2016/local.scripts/epl-v10.html
new file mode 100644
index 0000000..0beaf86
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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 http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/license.html b/Demos/EclipseCon Europe 2016/local.scripts/license.html
new file mode 100644
index 0000000..0fd3dd1
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and
+Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/Demos/EclipseCon Europe 2016/local.scripts/src/local/scripts/UIGreeter.java b/Demos/EclipseCon Europe 2016/local.scripts/src/local/scripts/UIGreeter.java
new file mode 100644
index 0000000..b0a3d52
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/local.scripts/src/local/scripts/UIGreeter.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * name: Java Test
+ */
+package local.scripts;
+
+import java.io.InputStream;
+import java.io.PrintStream;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
+
+public class UIGreeter {
+ private static PrintStream out;
+
+ public static void main(String[] args) {
+ out.println("Starting Java file execution");
+
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ MessageDialog.openInformation(Display.getDefault().getActiveShell(), "Java Dialog",
+ "Let us create some resources");
+ }
+ });
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("Java Project");
+ try {
+ project.create(new NullProgressMonitor());
+ project.open(new NullProgressMonitor());
+ } catch (CoreException e) {
+ Display.getDefault().syncExec(new Runnable() {
+ @Override
+ public void run() {
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", e.getMessage());
+ }
+ });
+ }
+ }
+
+ public static void initialize(InputStream in, PrintStream out, PrintStream error) {
+ UIGreeter.out = out;
+
+ }
+}
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/.project b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/.project
new file mode 100644
index 0000000..9406ec4
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.eclipsecon.scripts.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/build.properties b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/build.properties
new file mode 100644
index 0000000..82ab19c
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/epl-v10.html b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/epl-v10.html
new file mode 100644
index 0000000..0beaf86
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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 http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/feature.xml b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/feature.xml
new file mode 100644
index 0000000..7335ac7
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/feature.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.eclipsecon.scripts.feature"
+ label="EclipseCon France 2016 sample scripts"
+ version="1.0.0.qualifier">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <plugin
+ id="org.eclipse.eclipsecon.scripts"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/license.html b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/license.html
new file mode 100644
index 0000000..0fd3dd1
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and
+Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/p2.inf b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/p2.inf
new file mode 100644
index 0000000..8ef4798
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts.feature/p2.inf
@@ -0,0 +1 @@
+instructions.configure = org.eclipse.ease.ui.scripts.addScriptLocation(location:platform:/plugin/org.eclipse.eclipsecon.scripts/scripts);
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.classpath b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.classpath
new file mode 100644
index 0000000..78d5ded
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.classpath
@@ -0,0 +1,6 @@
+<?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/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.project b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.project
new file mode 100644
index 0000000..ee77c61
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.eclipsecon.scripts</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/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.settings/org.eclipse.jdt.core.prefs b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f287d53
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/META-INF/MANIFEST.MF b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..40ed9c4
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EclipseCon France 2016 Scripts
+Bundle-SymbolicName: org.eclipse.eclipsecon.scripts
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse.org
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/build.properties b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/build.properties
new file mode 100644
index 0000000..a16fe2d
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ scripts/
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/epl-v10.html b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/epl-v10.html
new file mode 100644
index 0000000..0beaf86
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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 http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/license.html b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/license.html
new file mode 100644
index 0000000..0fd3dd1
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and
+Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/scripts/ECE 2016.js b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/scripts/ECE 2016.js
new file mode 100644
index 0000000..d909b00
--- /dev/null
+++ b/Demos/EclipseCon Europe 2016/org.eclipse.eclipsecon.scripts/scripts/ECE 2016.js
@@ -0,0 +1,9 @@
+/**
+ * Copyright (c) 2016 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+ loadModule('/System/UI');
+showInfoDialog("Welcome to EclipseCon Europe 2016", "Greetings");