Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Watson2015-02-06 01:41:45 +0000
committerGreg Watson2015-02-06 01:41:45 +0000
commitf60224ed82680e439276f84994e56c40a8f291c4 (patch)
tree0ee5979d39f73b478de0d340cd7e2c858c7be108
parentae4cad7fb9ad5c18d238eea8ff001e19bfa0054a (diff)
downloadorg.eclipse.ptp-f60224ed82680e439276f84994e56c40a8f291c4.tar.gz
org.eclipse.ptp-f60224ed82680e439276f84994e56c40a8f291c4.tar.xz
org.eclipse.ptp-f60224ed82680e439276f84994e56c40a8f291c4.zip
Bug 459258 - Remove GIG from master branch
Change-Id: I5931c66045b7a63c221e0e2c33fb6863ae83977f Signed-off-by: Greg Watson <g.watson@computer.org>
-rw-r--r--releng/org.eclipse.ptp.gig-feature/.project17
-rw-r--r--releng/org.eclipse.ptp.gig-feature/build.properties4
-rw-r--r--releng/org.eclipse.ptp.gig-feature/eclipse_update_120.jpgbin21695 -> 0 bytes
-rw-r--r--releng/org.eclipse.ptp.gig-feature/epl-v10.html328
-rw-r--r--releng/org.eclipse.ptp.gig-feature/feature.properties25
-rw-r--r--releng/org.eclipse.ptp.gig-feature/feature.xml54
-rw-r--r--releng/org.eclipse.ptp.gig-feature/pom.xml17
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/.project11
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/META-INF/MANIFEST.MF7
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/about.html22
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/build.properties6
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/GIGView.html50
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/ServerView.html54
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/gettingStarted.html57
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/help.css38
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/images/gig-prefs.pngbin267117 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/images/trident.pngbin363 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/overview.html49
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/preferences.html110
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/prereqs.html67
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/toc.html68
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/html/troubleshooting.html54
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/plugin.properties18
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/plugin.xml14
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/pom.xml16
-rw-r--r--tools/gig/org.eclipse.ptp.gig.doc.user/toc.xml13
-rw-r--r--tools/gig/org.eclipse.ptp.gig/.classpath7
-rw-r--r--tools/gig/org.eclipse.ptp.gig/.project28
-rw-r--r--tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.core.prefs371
-rw-r--r--tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.ui.prefs56
-rw-r--r--tools/gig/org.eclipse.ptp.gig/META-INF/MANIFEST.MF25
-rw-r--r--tools/gig/org.eclipse.ptp.gig/about.html22
-rw-r--r--tools/gig/org.eclipse.ptp.gig/build.properties9
-rw-r--r--tools/gig/org.eclipse.ptp.gig/contexts.xml12
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/delete_obj.gifbin351 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/errorwarning_tab.gifbin577 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/file_obj.gifbin354 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/fldr_obj.gifbin216 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/icon_error.gifbin339 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/icon_terminate.gifbin109 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/icon_warning.gifbin337 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/import.gifbin327 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/no-error.gifbin136 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/refresh.gifbin209 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/sample.gifbin983 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/terminatedlaunch_obj.gifbin216 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/icons/trident.pngbin363 -> 0 bytes
-rw-r--r--tools/gig/org.eclipse.ptp.gig/plugin.properties2
-rw-r--r--tools/gig/org.eclipse.ptp.gig/plugin.xml164
-rw-r--r--tools/gig/org.eclipse.ptp.gig/pom.xml16
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/GIGPlugin.java75
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/PopupHandler.java219
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/ToolbarHandler.java97
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/GkleeLog.java492
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/LogException.java24
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/OrganizedThreadInfo.java310
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/Statistic.java98
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/ThreadInfo.java238
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/TwoThreadInfo.java46
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/WarpDivergence.java51
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/Messages.java116
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/messages.properties87
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/GIGPreferencePage.java87
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/PreferenceInitializer.java97
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToRecv.java99
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToSend.java180
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/GIGUtilities.java845
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IllegalCommandException.java20
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IncorrectPasswordException.java20
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectNotFoundException.java24
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToRecv.java89
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToSend.java67
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/GIGView.java344
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerContentProvider.java65
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerLabelProvider.java36
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItem.java115
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItemSorter.java39
-rw-r--r--tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerView.java315
78 files changed, 0 insertions, 6106 deletions
diff --git a/releng/org.eclipse.ptp.gig-feature/.project b/releng/org.eclipse.ptp.gig-feature/.project
deleted file mode 100644
index 9f300a4c7..000000000
--- a/releng/org.eclipse.ptp.gig-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gig-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/releng/org.eclipse.ptp.gig-feature/build.properties b/releng/org.eclipse.ptp.gig-feature/build.properties
deleted file mode 100644
index db80add92..000000000
--- a/releng/org.eclipse.ptp.gig-feature/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- epl-v10.html,\
- eclipse_update_120.jpg
diff --git a/releng/org.eclipse.ptp.gig-feature/eclipse_update_120.jpg b/releng/org.eclipse.ptp.gig-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad..000000000
--- a/releng/org.eclipse.ptp.gig-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/releng/org.eclipse.ptp.gig-feature/epl-v10.html b/releng/org.eclipse.ptp.gig-feature/epl-v10.html
deleted file mode 100644
index ed4b19665..000000000
--- a/releng/org.eclipse.ptp.gig-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; 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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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 (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) 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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; 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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html> \ No newline at end of file
diff --git a/releng/org.eclipse.ptp.gig-feature/feature.properties b/releng/org.eclipse.ptp.gig-feature/feature.properties
deleted file mode 100644
index adbaf34d2..000000000
--- a/releng/org.eclipse.ptp.gig-feature/feature.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#################################################################################
-# Copyright (c) 2012 Brandon Gibson
-# 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
-#################################################################################
-
-
-# "featureName" property - name of the feature
-featureName=PTP Graphical Inquisitor of GPU Programs (GIG)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse PTP
-
-# "description" property - description of the feature
-description=Integrates the Gauss Research Group's tool (called GKLEE) that does a formal verification of CUDA programs.
-
-# copyright
-copyright=\
-Copyright (c) 2012 Brandon Gibson\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n
diff --git a/releng/org.eclipse.ptp.gig-feature/feature.xml b/releng/org.eclipse.ptp.gig-feature/feature.xml
deleted file mode 100644
index 459f0850c..000000000
--- a/releng/org.eclipse.ptp.gig-feature/feature.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.ptp.gig"
- label="%featureName"
- version="8.1.1.qualifier"
- provider-name="%providerName"
- license-feature="org.eclipse.license"
- license-feature-version="0.0.0">
-
- <description url="http://eclipse.org/ptp">
- The Graphical Explorer of GPU Programs (GIG) is used to help
-debug CUDA programs. It uses the formal verifier GKLEE, developed
-at the University of Utah, to automatically detect many errors
-and problems such as race conditions, deadlocks, and bank conflicts.
-This is all cleanly integrated into an easy-to use eclipse plug-in.
-GKLEE can be obtained from http://cs.utah.edu/fv/gklee
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <url>
- <discovery label="University of Utah update site" url="http://www.cs.utah.edu/fv/GIG"/>
- </url>
-
- <requires>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.ui.ide"/>
- <import plugin="org.eclipse.core.expressions"/>
- <import plugin="org.eclipse.cdt.core"/>
- <import plugin="org.eclipse.ui.console" version="3.5.100" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.ptp.gig"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.ptp.gig.doc.user"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/releng/org.eclipse.ptp.gig-feature/pom.xml b/releng/org.eclipse.ptp.gig-feature/pom.xml
deleted file mode 100644
index b11b52350..000000000
--- a/releng/org.eclipse.ptp.gig-feature/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>7.0.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.gig</artifactId>
- <version>7.0.0-SNAPSHOT</version>
- <packaging>eclipse-feature</packaging>
- <groupId>org.eclipse.ptp.features</groupId>
-</project>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/.project b/tools/gig/org.eclipse.ptp.gig.doc.user/.project
deleted file mode 100644
index 9d1d9d483..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gig.doc.user</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/META-INF/MANIFEST.MF b/tools/gig/org.eclipse.ptp.gig.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index a455c06eb..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ptp.gig.doc.user;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %pluginProvider
-Bundle-Localization: plugin
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/about.html b/tools/gig/org.eclipse.ptp.gig.doc.user/about.html
deleted file mode 100644
index 3f810933b..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/build.properties b/tools/gig/org.eclipse.ptp.gig.doc.user/build.properties
deleted file mode 100644
index 2008329bf..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
- plugin.xml,\
- html/,\
- toc.xml,\
- about.html,\
- plugin.properties
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/GIGView.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/GIGView.html
deleted file mode 100644
index 627c6bddb..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/GIGView.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GIG View</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>GIG View</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Tabs</h2>
-After a verification, the tabs of the GIGView will be populated. An image at the top of each tab indicates the existence and relative severity of the elements. Any data found is displayed in a tree like manner.
-
-<h2>Double Clicking</h2>
-Many of the tree items in a folder can be double clicked. This will jump you to a line in either the log file or the source file as appropriate.
-
-<h2>Cancel Button</h2>
-The whole process can take a long time, so a cancel button is offered to prematurely end it.
-
-<hr>
-
-<p>&nbsp;</p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p>&nbsp;</p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/ServerView.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/ServerView.html
deleted file mode 100644
index fd056c69a..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/ServerView.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GIG View</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>GIG View</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>Buttons</h2>
-<h3>Verify</h3>
-The green trident is the verification button. Select a source file or gig executable from this view, then click this trident to verify it.
-<h3>Import</h3>
-The next button is the import button. Select folders and/or files then click this button to have them sent into your local workspace.
-<h3>Delete</h3>
-This button is for deleting files and folders from the remote location.
-<h3>Refresh</h3>
-This button is to refresh the remote workspace, and is particularly useful when changing users.
-
-<h2>The File Tree</h2>
-This tree represents the remote file structure. Ensure that any necessary files are included in the correct relative locations for compilation. You may also right click on a selection to have the toolbar button options appear in a popup menu.
-
-<hr>
-
-<p>&nbsp;</p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p>&nbsp;</p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-
-</html>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/gettingStarted.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/gettingStarted.html
deleted file mode 100644
index 5c4d636f1..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/gettingStarted.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Getting Started</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>Getting Started</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h3>This page serves to get the new GIG user up and running.</h3>
-
-<p>
-To help get the new GIG user started, this page will walk through examples of how to use GIG
-to ...
-</p>
-
-
-
-<h2>Steps..</h2>
-
-<h3>STEP - 1</h3>
-<p>Blah blah blah..
-
-<h3>STEP - 2</h3>
-<p>Blah blah blah..
-
-<h3>STEP - 3</h3>
-<p>Blah blah blah..
-
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br/>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/help.css b/tools/gig/org.eclipse.ptp.gig.doc.user/html/help.css
deleted file mode 100644
index 6f5a78c74..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/help.css
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Adapted from PTP help plugin */
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}
-pre { font-family: Courier, monospace}
-
-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }
-pre { font-size: 10pt}
-
-
-/* body and headings decls */
-body { background: #FFFFFF}
-h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 }
-h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-p { font-size: 10pt; }
-pre { margin-left: 6; font-size: 9pt }
-
-
-/* anchor decls */
-a:link { color: #006699 }
-a:visited { color: #996699 }
-a:hover { color: #006699 }
-
-
-/* list and formatting decls */
-ul { margin-top: 0; margin-bottom: 10 }
-li { margin-top: 0; margin-bottom: 0 }
-li p { margin-top: 0; margin-bottom: 0 }
-ol { margin-top: 0; margin-bottom: 10 }
-dl { margin-top: 0; margin-bottom: 10 }
-dt { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd { margin-top: 0; margin-bottom: 0 }
-strong { font-weight: bold}
-em { font-style: italic}
-var { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin; border-left-color: #7B68EE; padding-left:5 }
-th { font-weight: bold }
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/gig-prefs.png b/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/gig-prefs.png
deleted file mode 100644
index 8ac3f4383..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/gig-prefs.png
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/trident.png b/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/trident.png
deleted file mode 100644
index 9c799b28b..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/images/trident.png
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/overview.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/overview.html
deleted file mode 100644
index a61a0e47e..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/overview.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GIG - Overview and Features</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>GIG - Overview and Features</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-GIG: The Graphical Inquirer of GPU Programs is a debugging tool for CUDA programs.
-
-<br><br>
-
-GIG uses a formal verification tool called <a href="http://www.cs.utah.edu/fv/GKLEE">gklee<a> that was developed at the University of Utah.
-<br><br>
-GIG offers a server for remote verification that prevents the install of gklee, parses the log file and displays it in a graphical user interface, integrates the whole process into the Eclipse environment.
-<br>
-GIG extends the popup menu of the Package Explorer, the toolbar, contributes two view, has help pages and a preference page.
-<hr>
-
-<br>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/preferences.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/preferences.html
deleted file mode 100644
index fdfb7949f..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/preferences.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GIG - Preferences</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>GIG - Preferences</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<h2>GIG Preferences and Explanations</h2>
-<img src="images/gig-prefs.png">
-<h3>Remote and Local Execution</h3>
-
-<h4>Remote Execution</h4>
-
-<tr>
- <td>Username:</td>
- <td>
- This field indicates the username to send when connecting to a server. On the default server, this specifies the workspace. Currently, a new workspace can be created by connecting to the server with a new username and password.
- The default username is gklee, and refers to a workspace that cannot have files sent to it, nor files in it deleted. It instead contains many examples of code for verification.
- </td>
-</tr>
-
-<tr>
- <td>Password:</td>
- <td>
- This field indicates the password. You need to have the correct password to access a given username, unless the password for that username is blank. A blank password indicates no password.
- </td>
-</tr>
-
-<tr>
- <td>Server Domain Name or IP Address:</td>
- <td>
- This field indicates which server to connect to. Different servers may handle client requests differently.
- </td>
-</tr>
-
-<tr>
- <td>Target Project for Importing:</td>
- <td>
- This field indicates which project is the default location into which to import files and folders from the server. If GIG can't figure out where else to put it, this is also where a log file will go after verification.
- </td>
-</tr>
-
-<h4>Local Execution</h4>
-
-<tr>
- <td>Each of these:</td>
- <td>
- These fields indicate various parts of PATH variables that gklee may need. When you installed gklee locally, these likely were added to your .bashrc file for gklee to properly work.
- </td>
-</tr>
-
-<h4>Remote or Local Execution</h4>
-
-<tr>
- <td>Local Execution</td>
- <td>
- This field indicates whether to use the server for verification, or to use the local install of gklee. By default, this is unchecked. This allows verification without requiring gklee to be installed locally.
- </td>
-</tr>
-
-<h3>Rate Warnings</h3>
-
-<tr>
- <td>Use ...</td>
- <td>
- This field indicates which metric to use for measuring the extent of a problem for warning image purposes. This is purely a visual effect and has no real effect on execution.
- </td>
-</tr>
-
-<tr>
- <td>The Thresholds</td>
- <td>
- These fields indicate which percentages are the border lines between various levels of error as shown in the image. These are purely visual effects and have no real effect on execution.
- </td>
-</tr>
-
-<hr>
-
-<p>&nbsp;</p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p>&nbsp;</p>
-
-<hr>
-
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/prereqs.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/prereqs.html
deleted file mode 100644
index 3fdf06cb7..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/prereqs.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>GIG - Prerequisites</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>GIG - Prerequisites</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-
-<p>
-The following prerequisites are required for GIG installation.
-</p>
-
-<ul>
- <li>Java 1.5 or later</li>
- <li><a href="http://eclipse.org/downloads">Eclipse SDK</a> version 3.7 or later</li>
- <li><a href="http://eclipse.org/cdt/">Eclipse C/C++ Development Tools (CDT)</a> version 8.0.0 or later</li>
- <li><a href="http://eclipse.org/ptp/">Eclipse Parallel Tools Platform (PTP)</a> version 5.0.0 or later is recommended, but currently not required.</li>
-</ul>
-
-<br>
-
-<table border="1" cellpadding="4">
- <tr>
- <th colspan="2" scope="col">Operating Systems and Architectures Supported<br></th>
- </tr>
- <tr>
- <th scope="col">Operating System</th>
- <th scope="col">Architecture</th>
- </tr>
- <tr>
- <td>Linux</td>
- <td>x86, x86_64</td>
- </tr>
-</table>
-
-<br>
-
-<br>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<br>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/toc.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/toc.html
deleted file mode 100644
index e197d9988..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/toc.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>PTP: Graphical Inquirer of GPU Programs (GIG)</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>PTP: Graphical Inquirer of GPU Programs (GIG)</h1>
- </td>
- </tr>
-</table>
-
-<br></br>
-<p>
-<p>
-The Graphical Inquirer of GPU Programs (GIG) is a debugging tool for CUDA programs.
-GIG is part of the
-<a href="PLUGINS_ROOT/org.eclipse.ptp.doc.user/html/toc.html">Parallel Tools Platform</a> (PTP).
-
-<h2>Overview, Background, and Setup information</h2>
-
-<ol>
- <li><a href="overview.html">GIG Overview</a></li>
- <li><a href="prereqs.html">GIG Prerequisites</a></li>
-</ol>
-
-<h2>Help Topics</h2>
-
-<ol>
- <li><a href="gettingStarted.html">Getting Started</a></li>
- <li><a href="GIGView.html">GIG View</a></li>
- <li><a href="ServerView.html">Server View</a></li>
- <li><a href="preferences.html">Preferences</a></li>
- <li><a href="troubleshooting.html">Troubleshooting</a></li>
-</ol>
-
-<p>Other related topics:</p>
-
-<ol>
- <li><a href="http://www.cs.utah.edu/formal_verification/GKLEE/">GKLEE Page</a></li>
- <li><a href="http://www.cs.utah.edu/formal_verification/">Gauss Group Home</a> - Includes all current work and publications</li>
- <li><a href="http://www.cs.utah.edu/">University of Utah School of Computing</a></li>
-</ol>
-
-<p>&nbsp;</p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p>&nbsp;</p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/html/troubleshooting.html b/tools/gig/org.eclipse.ptp.gig.doc.user/html/troubleshooting.html
deleted file mode 100644
index 140afd117..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/html/troubleshooting.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <link rel="stylesheet" type="text/css" href="help.css">
- <title>Troubleshooting</title>
-</head>
-
-<body>
-<a name="top"></a>
-<table cellspacing="5">
- <tr>
- <td>
- <img src="images/trident.png">
- </td>
- <td>
- <h1>Troubleshooting</h1>
- </td>
- </tr>
-</table>
-
-<hr>
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-
-<table border="1" cellpadding="8">
-<tr>
-<th>Problem</th><th>Solution</th>
-</tr>
-</table>
-
-<hr>
-
-If you have any problems, be sure to update to the latest version and read any relevant help topics. If that doesn't solve your problem, see <a href="http://www.cs.utah.edu/fv/GKLEE">the gklee website</a>.
-Send error reports to bleegibson at gmail dot com.
-
-<hr>
-
-<p>&nbsp;</p>
-<p><a href="#top">Back to Top</a> | <a href="toc.html">Back to Table of Contents</a></p>
-<p>&nbsp;</p>
-
-<hr>
-<center>
-<p>
-School of Computing * 50 S. Central Campus Dr. Rm. 3190 * Salt Lake City, UT
-84112 * <A href="mailto:isp-dev@cs.utah.edu">isp-dev@cs.utah.edu</a><br>
-<a href="http://www.eclipse.org/org/documents/epl-v10.php">License</a>
-</p>
-</center>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.properties b/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.properties
deleted file mode 100644
index 6353ea273..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 University of Utah School of Computing
- * 50 S Central Campus Dr. 3190 Salt Lake City, UT 84112
- * http://www.cs.utah.edu/formal_verification/
- *
- * 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
- *
- * Contributors:
- * Alan Humphrey - Initial API and implementation
- * Christopher Derrick - Initial API and implementation
- * Prof. Ganesh Gopalakrishnan - Project Advisor
- *******************************************************************************/
-
- pluginName=GIG User Guide
- pluginProvider=Eclipse.org \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.xml b/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.xml
deleted file mode 100644
index 39b381b9c..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-
-<plugin>
-
- <extension
- point="org.eclipse.help.toc">
- <toc
- file="toc.xml"
- primary="true">
- </toc>
- </extension>
-
-</plugin>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/pom.xml b/tools/gig/org.eclipse.ptp.gig.doc.user/pom.xml
deleted file mode 100644
index 174af7fb6..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>7.0.0-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.gig.doc.user</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/tools/gig/org.eclipse.ptp.gig.doc.user/toc.xml b/tools/gig/org.eclipse.ptp.gig.doc.user/toc.xml
deleted file mode 100644
index c398af660..000000000
--- a/tools/gig/org.eclipse.ptp.gig.doc.user/toc.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Graphical Inquirer of GPU Programs (GIG)" link_to="../org.eclipse.ptp.doc.user/toc.xml#ptpGIG" topic="html/toc.html">
- <topic label="Contents" href="html/toc.html"/>
- <topic label="GIG Overview" href="html/overview.html"/>
- <topic label="Prerequisites" href="html/prereqs.html"/>
- <topic label="Getting Started" href="html/gettingStarted.html" />
- <topic label="GIG View" href="html/GIGView.html" />
- <topic label="Server View" href="html/ServerView.html" />
- <topic label="Preferences" href="html/preferences.html"/>
- <topic label="Troubleshooting GIG" href="html/troubleshooting.html" />
-</toc>
diff --git a/tools/gig/org.eclipse.ptp.gig/.classpath b/tools/gig/org.eclipse.ptp.gig/.classpath
deleted file mode 100644
index ad32c83a7..000000000
--- a/tools/gig/org.eclipse.ptp.gig/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tools/gig/org.eclipse.ptp.gig/.project b/tools/gig/org.eclipse.ptp.gig/.project
deleted file mode 100644
index 320bf0727..000000000
--- a/tools/gig/org.eclipse.ptp.gig/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ptp.gig</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/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.core.prefs b/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5ba40016b..000000000
--- a/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,371 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-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.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=132
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=132
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.ui.prefs b/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b6225bf80..000000000
--- a/tools/gig/org.eclipse.ptp.gig/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,56 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=true
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_PTP
-cleanup_settings_version=2
-eclipse.preferences.version=1
-formatter_profile=_PTP
-formatter_settings_version=12
diff --git a/tools/gig/org.eclipse.ptp.gig/META-INF/MANIFEST.MF b/tools/gig/org.eclipse.ptp.gig/META-INF/MANIFEST.MF
deleted file mode 100644
index cc5401f50..000000000
--- a/tools/gig/org.eclipse.ptp.gig/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ptp.gig; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ptp.internal.gig.GIGPlugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui.ide,
- org.eclipse.core.expressions,
- org.eclipse.core.expressions,
- org.eclipse.cdt.core,
- org.eclipse.ui.console;bundle-version="3.5.100"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-Vendor: %pluginVendor
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ptp.internal.gig;x-internal:=true,
- org.eclipse.ptp.internal.gig.handlers;x-internal:=true,
- org.eclipse.ptp.internal.gig.log;x-internal:=true,
- org.eclipse.ptp.internal.gig.messages;x-internal:=true,
- org.eclipse.ptp.internal.gig.preferences;x-internal:=true,
- org.eclipse.ptp.internal.gig.util;x-internal:=true,
- org.eclipse.ptp.internal.gig.views;x-internal:=true
diff --git a/tools/gig/org.eclipse.ptp.gig/about.html b/tools/gig/org.eclipse.ptp.gig/about.html
deleted file mode 100644
index 3fe38f704..000000000
--- a/tools/gig/org.eclipse.ptp.gig/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 21, 2012</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/build.properties b/tools/gig/org.eclipse.ptp.gig/build.properties
deleted file mode 100644
index ff601aa95..000000000
--- a/tools/gig/org.eclipse.ptp.gig/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/,\
- contexts.xml,\
- plugin.properties,\
- about.html
diff --git a/tools/gig/org.eclipse.ptp.gig/contexts.xml b/tools/gig/org.eclipse.ptp.gig/contexts.xml
deleted file mode 100644
index 02e26e45c..000000000
--- a/tools/gig/org.eclipse.ptp.gig/contexts.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<contexts>
- <context id="viewer" title="Sample View">
- <description>This is the context help for the sample view with a table viewer. It was generated by a PDE template.</description>
- <topic href="/PLUGINS_ROOT/org.eclipse.platform.doc.isv/guide/ua_help_context.htm" label="Context-sensitive help">
- <enablement>
- <with variable="platform">
- <test property="org.eclipse.core.runtime.isBundleInstalled" args="org.eclipse.platform.doc.isv"/>
- </with>
- </enablement>
- </topic>
- </context>
-</contexts>
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/delete_obj.gif b/tools/gig/org.eclipse.ptp.gig/icons/delete_obj.gif
deleted file mode 100644
index b6922ac11..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/delete_obj.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/errorwarning_tab.gif b/tools/gig/org.eclipse.ptp.gig/icons/errorwarning_tab.gif
deleted file mode 100644
index 004f4acb6..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/errorwarning_tab.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/file_obj.gif b/tools/gig/org.eclipse.ptp.gig/icons/file_obj.gif
deleted file mode 100644
index 7ccc6a703..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/fldr_obj.gif b/tools/gig/org.eclipse.ptp.gig/icons/fldr_obj.gif
deleted file mode 100644
index 51e703b1b..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/icon_error.gif b/tools/gig/org.eclipse.ptp.gig/icons/icon_error.gif
deleted file mode 100644
index 2cd37c254..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/icon_error.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/icon_terminate.gif b/tools/gig/org.eclipse.ptp.gig/icons/icon_terminate.gif
deleted file mode 100644
index d47876f68..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/icon_terminate.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/icon_warning.gif b/tools/gig/org.eclipse.ptp.gig/icons/icon_warning.gif
deleted file mode 100644
index 1e5f5eb36..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/icon_warning.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/import.gif b/tools/gig/org.eclipse.ptp.gig/icons/import.gif
deleted file mode 100644
index d38085ad9..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/import.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/no-error.gif b/tools/gig/org.eclipse.ptp.gig/icons/no-error.gif
deleted file mode 100644
index 3d9b4e8af..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/no-error.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/refresh.gif b/tools/gig/org.eclipse.ptp.gig/icons/refresh.gif
deleted file mode 100644
index 1f551897c..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/sample.gif b/tools/gig/org.eclipse.ptp.gig/icons/sample.gif
deleted file mode 100644
index 34fb3c9d8..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/terminatedlaunch_obj.gif b/tools/gig/org.eclipse.ptp.gig/icons/terminatedlaunch_obj.gif
deleted file mode 100644
index 76596dd51..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/terminatedlaunch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/icons/trident.png b/tools/gig/org.eclipse.ptp.gig/icons/trident.png
deleted file mode 100644
index 9c799b28b..000000000
--- a/tools/gig/org.eclipse.ptp.gig/icons/trident.png
+++ /dev/null
Binary files differ
diff --git a/tools/gig/org.eclipse.ptp.gig/plugin.properties b/tools/gig/org.eclipse.ptp.gig/plugin.properties
deleted file mode 100644
index a76d410ad..000000000
--- a/tools/gig/org.eclipse.ptp.gig/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName=Graphical Inquisitor of GPU Programs (GIG)
-pluginVendor=Eclipse PTP \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/plugin.xml b/tools/gig/org.eclipse.ptp.gig/plugin.xml
deleted file mode 100644
index 3501242f4..000000000
--- a/tools/gig/org.eclipse.ptp.gig/plugin.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <!-- Toolbar Commands -->
- <extension
- point="org.eclipse.ui.commands">
- <category
- id="org.eclipse.ptp.gig.commands.category"
- name="GIG Commands Category">
- </category>
- <command
- categoryId="org.eclipse.ptp.gig.commands.category"
- id="org.eclipse.ptp.gig.commands.sourceToolbar"
- name="Formally Verify CUDA Program">
- </command>
- <command
- categoryId="org.eclipse.ptp.gig.commands.category"
- id="org.eclipse.ptp.gig.commands.sourcePopup"
- name="Formally Verify CUDA Program">
- </command>
- <command
- categoryId="org.eclipse.ptp.gig.commands.category"
- id="org.eclipse.ptp.gig.commands.sendSourceToServer"
- name="Send Files and Folders to Server">
- </command>
- </extension>
-
- <!-- Command Handlers -->
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.ptp.internal.gig.handlers.ToolbarHandler"
- commandId="org.eclipse.ptp.gig.commands.sourceToolbar">
- </handler>
- <handler
- class="org.eclipse.ptp.internal.gig.handlers.PopupHandler"
- commandId="org.eclipse.ptp.gig.commands.sourcePopup">
- </handler>
- <handler
- class="org.eclipse.ptp.internal.gig.handlers.PopupHandler"
- commandId="org.eclipse.ptp.gig.commands.sendSourceToServer">
- </handler>
- </extension>
-
- <!-- Menus -->
- <extension
- point="org.eclipse.ui.menus">
- <menuContribution
- locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
- <toolbar id="org.eclipse.ptp.gig.toolbar">
- <command
- commandId="org.eclipse.ptp.gig.commands.sourceToolbar"
- icon="icons/trident.png"
- id="org.eclipse.ptp.gig.toolbar.refCommand"
- style="pulldown"
- tooltip="Formally Verify CUDA Program">
- <visibleWhen
- checkEnabled="false">
- <with
- variable="activeWorkbenchWindow.activePerspective">
- <equals
- value="org.eclipse.cdt.ui.CPerspective">
- </equals>
- </with>
- </visibleWhen>
- </command>
- </toolbar>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.ui.popup.any?after=additions">
- <menu
- id="org.eclipse.ptp.gig.menus.popupMenu"
- label="GIG"
- mnemonic="G">
- <command
- commandId="org.eclipse.ptp.gig.commands.sourcePopup"
- icon="icons/trident.png"
- id="org.eclipse.ptp.gig.sourcePopupMenu"
- mnemonic="F"
- style="push">
- </command>
- <command
- commandId="org.eclipse.ptp.gig.commands.sendSourceToServer"
- icon="icons/trident.png"
- id="org.eclipse.ptp.gig.sendSourceToServerPopupMenu"
- mnemonic="S"
- style="push">
- </command>
- </menu>
- </menuContribution>
- </extension>
-
- <!-- Preference Page -->
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.ptp.ui.preferences.ptpPreferencesPage"
- class="org.eclipse.ptp.internal.gig.preferences.GIGPreferencePage"
- id="org.eclipse.ptp.gig.preferences.GIGPreferences"
- name="GIG">
- </page>
- </extension>
- <!-- Preference Initializer -->
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.ptp.internal.gig.preferences.PreferenceInitializer">
- </initializer>
- </extension>
-
- <!-- Views -->
- <extension
- point="org.eclipse.ui.views">
- <category
- name="GIG"
- id="org.eclipse.ptp.gig">
- </category>
- <view
- name="GIG"
- icon="icons/trident.png"
- category="org.eclipse.ptp.gig"
- class="org.eclipse.ptp.internal.gig.views.GIGView"
- id="org.eclipse.ptp.gig.views.GIGView">
- </view>
- <view
- name="GIGServer"
- icon="icons/trident.png"
- category="org.eclipse.ptp.gig"
- class="org.eclipse.ptp.internal.gig.views.ServerView"
- id="org.eclipse.ptp.gig.views.ServerView">
- </view>
- </extension>
-
- <!-- Views Perspective -->
- <extension
- point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension
- targetID="org.eclipse.cdt.ui.CPerspective">
- <view
- ratio="0.5"
- relative="org.eclipse.ui.console.ConsoleView"
- relationship="stack"
- id="org.eclipse.ptp.gig.views.GIGView">
- </view>
- <view
- ratio="0.5"
- relative="org.eclipse.ui.views.ContentOutline"
- relationship="stack"
- id="org.eclipse.ptp.gig.views.ServerView">
- </view>
- </perspectiveExtension>
- </extension>
-
- <!-- Help -->
- <extension
- point="org.eclipse.help.contexts">
- <contexts
- file="contexts.xml">
- </contexts>
- </extension>
-
-</plugin>
diff --git a/tools/gig/org.eclipse.ptp.gig/pom.xml b/tools/gig/org.eclipse.ptp.gig/pom.xml
deleted file mode 100644
index aa69b168d..000000000
--- a/tools/gig/org.eclipse.ptp.gig/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.eclipse.ptp</groupId>
- <artifactId>ptp-parent</artifactId>
- <version>7.0.0-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.ptp.gig</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/GIGPlugin.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/GIGPlugin.java
deleted file mode 100644
index ece7a2193..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/GIGPlugin.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class GIGPlugin extends AbstractUIPlugin {
-
- public static final String PLUGIN_ID = "org.eclipse.ptp.gig"; //$NON-NLS-1$
- private static GIGPlugin plugin;
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static GIGPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given
- * plug-in relative path
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-
- /**
- * The constructor
- */
- public GIGPlugin() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- GIGUtilities.stopJob();
- plugin = null;
- super.stop(context);
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/PopupHandler.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/PopupHandler.java
deleted file mode 100644
index bc5fbb704..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/PopupHandler.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.handlers;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.cdt.core.model.ICContainer;
-import org.eclipse.cdt.internal.core.model.TranslationUnit;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities.JobState;
-import org.eclipse.ptp.internal.gig.util.IllegalCommandException;
-import org.eclipse.ptp.internal.gig.util.IncorrectPasswordException;
-import org.eclipse.ptp.internal.gig.views.GIGView;
-import org.eclipse.ptp.internal.gig.views.ServerView;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-@SuppressWarnings("restriction")
-public class PopupHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- // this handles two events, so find which one
- final String eventName = event.getCommand().getId();
- if (eventName.equals("org.eclipse.ptp.gig.commands.sourcePopup")) { //$NON-NLS-1$
- // This means verify the one element that is selected
- final ISelection selection = HandlerUtil.getCurrentSelectionChecked(event);
- if (selection instanceof IStructuredSelection) {
- final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- if (structuredSelection.size() != 1) {
- // short circuit if they selected more than one, or less than one
- return null;
- }
- final Object object = structuredSelection.getFirstElement();
- IFile file;
- if (object instanceof IFile) {
- file = (IFile) object;
- }
- else if (object instanceof TranslationUnit) {
- final TranslationUnit unit = (TranslationUnit) object;
- file = (IFile) unit.getUnderlyingResource();
- }
- else {
- return null;
- }
- final IPath filePath = file.getFullPath();
-
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- // we need to ensure the GIGView has been lazily loaded, it is also good to bring it to the front
- // same with the ServerView
- try {
- page.showView(GIGView.ID);
- GIGView.getDefault().cleanTrees();
- page.showView(ServerView.ID);
- } catch (final PartInitException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.PART_INIT_EXCEPTION, e));
- }
-
- // start it in a new thread so as to not block UI thread
- final Job job = new Job(Messages.RUN_GKLEE) {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- final IStatus ret = GIGUtilities.processSource(filePath);
- GIGUtilities.setJobState(JobState.None);
- // finally clause activates before returning
- return ret;
- } catch (final IOException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final CoreException e) {
- StatusManager.getManager().handle(e, GIGPlugin.PLUGIN_ID);
- } catch (final InterruptedException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INTERRUPTED_EXCEPTION, e));
- }
- finally {
- GIGUtilities.setJobState(JobState.None);
- }
- return Status.CANCEL_STATUS;
- }
-
- };
-
- GIGUtilities.startJob(job);
- }
- }
- else if (eventName.equals("org.eclipse.ptp.gig.commands.sendSourceToServer")) { //$NON-NLS-1$
- // This command is for sending folders and files to the server
- final ISelection selection = HandlerUtil.getCurrentSelectionChecked(event);
- if (selection instanceof IStructuredSelection) {
- final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- final Object[] objectArray = structuredSelection.toArray();
-
- // we need to ensure that the ServerView is loaded
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- try {
- page.showView(ServerView.ID);
- } catch (final PartInitException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.PART_INIT_EXCEPTION, e));
- }
-
- final Job job = new Job(Messages.SEND_TO_SERVER) {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- // Transform the objects into lists of folders and files
- final List<IFolder> folders = new ArrayList<IFolder>();
- final List<IFile> files = new ArrayList<IFile>();
- for (final Object o : objectArray) {
- if (o instanceof IFile) {
- final IFile file = (IFile) o;
- files.add(file);
- }
- else if (o instanceof ICContainer) {
- final ICContainer container = (ICContainer) o;
- final IResource resource = container.getResource();
- if (resource instanceof IFolder) {
- final IFolder folder = (IFolder) resource;
- folders.add(folder);
- }
- }
- else if (o instanceof TranslationUnit) {
- final TranslationUnit unit = (TranslationUnit) o;
- final IResource resource = unit.getResource();
- if (resource instanceof IFile) {
- final IFile file = (IFile) resource;
- files.add(file);
- }
- }
- else if (o instanceof IFolder) {
- final IFolder folder = (IFolder) o;
- folders.add(folder);
- }
- }
- try {
- GIGUtilities.sendFoldersAndFiles(folders, files);
- final UIJob job = new UIJob(Messages.IMPORT) {
-
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- ServerView.getDefault().reset();
- return Status.OK_STATUS;
- }
-
- };
- GIGUtilities.startJob(job);
- // finally activates here
- return Status.OK_STATUS;
- } catch (final CoreException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- } catch (final IOException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final IncorrectPasswordException e) {
- GIGUtilities.showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, e));
- } catch (final IllegalCommandException e) {
- GIGUtilities.showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- }
- finally {
- GIGUtilities.setJobState(JobState.None);
- }
- return Status.CANCEL_STATUS;
- }
-
- };
-
- GIGUtilities.startJob(job);
- }
- }
-
- return null;
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/ToolbarHandler.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/ToolbarHandler.java
deleted file mode 100644
index 4706817d7..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/handlers/ToolbarHandler.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.handlers;
-
-import java.io.IOException;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities.JobState;
-import org.eclipse.ptp.internal.gig.views.GIGView;
-import org.eclipse.ptp.internal.gig.views.ServerView;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public class ToolbarHandler extends AbstractHandler {
-
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- final IEditorInput input;
- try {
- input = HandlerUtil.getActiveEditorInputChecked(event);
- } catch (final ExecutionException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, e.getMessage(), e));
- return null;
- }
- if (input instanceof IFileEditorInput) {
- final IFileEditorInput fileInput = (IFileEditorInput) input;
- final IFile file = fileInput.getFile();
- final IPath filePath = file.getFullPath();
-
- // We need to show the GIGView in order to ensure it is loaded, same with the ServerView
- final IWorkbench workBench = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = workBench.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- try {
- page.showView(GIGView.ID);
- GIGView.getDefault().cleanTrees();
- page.showView(ServerView.ID);
- } catch (final PartInitException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.PART_INIT_EXCEPTION, e));
- }
-
- // start it in a new thread so as to not block UI thread
- final Job job = new Job(Messages.RUN_GKLEE) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- final IStatus ret = GIGUtilities.processSource(filePath);
- return ret;
- } catch (final IOException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final CoreException e) {
- StatusManager.getManager().handle(e, GIGPlugin.PLUGIN_ID);
- } catch (final InterruptedException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INTERRUPTED_EXCEPTION, e));
- }
- finally {
- GIGUtilities.setJobState(JobState.None);
- }
- return Status.CANCEL_STATUS;
- }
- };
-
- GIGUtilities.startJob(job);
- }
-
- return null;
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/GkleeLog.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/GkleeLog.java
deleted file mode 100644
index 27eb5177b..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/GkleeLog.java
+++ /dev/null
@@ -1,492 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public class GkleeLog {
-
- // emacs:code:block0:thread0:file0:line0:block1:thread1:file1:line1
- private static final Pattern emacsPattern = Pattern.compile("emacs:(.*):(\\d*):(\\d*):(.*):(\\d*):(\\d*):(\\d*):(.*):(\\d*)"); //$NON-NLS-1$
- private static final Pattern warpDivergencePattern = Pattern
- .compile("\\** Start checking warp divergence \\**"); //$NON-NLS-1$
- private static final Pattern threadsDivergedPattern = Pattern
- .compile("In warp (\\d+), threads are diverged into following sub-sets: "); //$NON-NLS-1$
- private static final Pattern setPattern = Pattern
- .compile("Set (\\d+):"); //$NON-NLS-1$
- private static final Pattern aveBCPattern = Pattern
- .compile("BC:(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+)"); //$NON-NLS-1$
- private static final Pattern aveMCPattern = Pattern
- .compile("MC:(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+)"); //$NON-NLS-1$
- private static final Pattern aveWDPattern = Pattern
- .compile("WD:(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+):(\\d+)"); //$NON-NLS-1$
- private static final Pattern memoryCoalescingPattern = Pattern
- .compile("\\** Start checking memory coalescing at DeviceMemory at capability: .* \\**"); //$NON-NLS-1$
- private final List<WarpDivergence> warpDivergences = new ArrayList<WarpDivergence>();
- private final OrganizedThreadInfo assertions = new OrganizedThreadInfo();
- private final OrganizedThreadInfo potentialDeadlocksVariedLength = new OrganizedThreadInfo();
- private final OrganizedThreadInfo potentialDeadlocksSameLength = new OrganizedThreadInfo();
- private final OrganizedThreadInfo deadlocks = new OrganizedThreadInfo();
- private final OrganizedThreadInfo memoryCoalescings = new OrganizedThreadInfo();
- private final OrganizedThreadInfo missingVolatiles = new OrganizedThreadInfo();
- // These are a bunch of read/write races, see the parse function for what they mean
- private final OrganizedThreadInfo rwraws = new OrganizedThreadInfo(), rwbds = new OrganizedThreadInfo(),
- rws = new OrganizedThreadInfo(), rrbcs = new OrganizedThreadInfo(), rwbcs = new OrganizedThreadInfo(),
- wwrwbs = new OrganizedThreadInfo(), wwrws = new OrganizedThreadInfo(),
- wwrawbs = new OrganizedThreadInfo(), wwraws = new OrganizedThreadInfo(),
- wwbdbs = new OrganizedThreadInfo(), wwbds = new OrganizedThreadInfo(), wws = new OrganizedThreadInfo(),
- wwbcs = new OrganizedThreadInfo();
- private Statistic bankConflictStats, memoryCoalescingStats, warpDivergenceStats;
- // describes which line in the file the main memory coalescing information is. May be null.
- private Integer memoryCoalescingLocation;
-
- public GkleeLog(InputStream is, IFile logFile) throws LogException {
- // reset the static info
- ThreadInfo.reset();
-
- // begin parsing one line at a time
- final Scanner scanner = new Scanner(is);
-
- // lineNumber tracks which line we are on, so that we can make reference to specific lines of the log file
- int lineNumber = 0;
- String line;
- while (scanner.hasNextLine()) {
- line = scanner.nextLine();
- lineNumber++;
- Matcher matcher = emacsPattern.matcher(line);
- if (matcher.matches()) {
- parse(matcher, logFile, lineNumber);
- continue;
- }
- matcher = warpDivergencePattern.matcher(line);
- if (matcher.matches()) {
- line = scanner.nextLine();
- lineNumber++;
- while (!line.equals("")) { //$NON-NLS-1$
- matcher = threadsDivergedPattern.matcher(line);
- if (matcher.matches()) {
- final int warp = Integer.parseInt(matcher.group(1));
- final List<int[]> sets = new ArrayList<int[]>();
-
- line = scanner.nextLine();
- lineNumber++;
- matcher = setPattern.matcher(line);
- while (matcher.matches()) {
- line = scanner.nextLine();
- lineNumber++;
- final Scanner scan = new Scanner(line);
- final List<Integer> threads = new ArrayList<Integer>();
- while (scan.hasNext()) {
- scan.next();
- final int thread = Integer.parseInt(scan.next());
- scan.next();
- threads.add(thread);
- }
- final int[] threadsArray = new int[threads.size()];
- for (int i = 0; i < threadsArray.length; i++) {
- threadsArray[i] = threads.get(i);
- }
- sets.add(threadsArray);
-
- line = scanner.nextLine();
- lineNumber++;
- matcher = setPattern.matcher(line);
- }
-
- final WarpDivergence warpDivergence = new WarpDivergence(sets, warp);
- warpDivergences.add(warpDivergence);
- continue;
- }
- line = scanner.nextLine();
- lineNumber++;
- }
- continue;
- }
- matcher = aveBCPattern.matcher(line);
- if (matcher.matches()) {
- final int aveWarp = Integer.parseInt(matcher.group(2));
- final int numWarps = Integer.parseInt(matcher.group(3));
- final int totalWarps = Integer.parseInt(matcher.group(4));
- final int aveBI = Integer.parseInt(matcher.group(5));
- final int numBIs = Integer.parseInt(matcher.group(6));
- final int totalBIs = Integer.parseInt(matcher.group(7));
- bankConflictStats = new Statistic(aveWarp, numWarps, totalWarps, aveBI, numBIs, totalBIs, logFile, lineNumber);
- continue;
- }
- matcher = aveMCPattern.matcher(line);
- if (matcher.matches()) {
- final int aveWarp = Integer.parseInt(matcher.group(2));
- final int numWarps = Integer.parseInt(matcher.group(3));
- final int totalWarps = Integer.parseInt(matcher.group(4));
- final int aveBI = Integer.parseInt(matcher.group(5));
- final int numBIs = Integer.parseInt(matcher.group(6));
- final int totalBIs = Integer.parseInt(matcher.group(7));
- memoryCoalescingStats = new Statistic(aveWarp, numWarps, totalWarps, aveBI, numBIs, totalBIs, logFile,
- lineNumber);
- continue;
- }
- matcher = aveWDPattern.matcher(line);
- if (matcher.matches()) {
- final int aveWarp = Integer.parseInt(matcher.group(2));
- final int numWarps = Integer.parseInt(matcher.group(3));
- final int totalWarps = Integer.parseInt(matcher.group(4));
- final int aveBI = Integer.parseInt(matcher.group(5));
- final int numBIs = Integer.parseInt(matcher.group(6));
- final int totalBIs = Integer.parseInt(matcher.group(7));
- warpDivergenceStats = new Statistic(aveWarp, numWarps, totalWarps, aveBI, numBIs, totalBIs, logFile, lineNumber);
- continue;
- }
- matcher = memoryCoalescingPattern.matcher(line);
- if (matcher.matches()) {
- this.memoryCoalescingLocation = lineNumber;
- continue;
- }
- }
- scanner.close();
-
- // Done parsing, now prepare the data for display
- // this part will have failed to parse if the log file had a problem
- if (this.warpDivergences.size() == 0) {
- throw new LogException(Messages.BAD_LOG_FILE);
- }
- final int threadsPerWarp = this.warpDivergences.get(0).getThreadsPerWarp();
- OrganizedThreadInfo.setThreadsPerWarp(threadsPerWarp);
- this.assertions.organize();
- this.memoryCoalescings.organize();
- this.deadlocks.organize();
- this.missingVolatiles.organize();
- this.potentialDeadlocksSameLength.organize();
- this.potentialDeadlocksVariedLength.organize();
- this.rrbcs.organize();
- this.rwbcs.organize();
- this.rwbds.organize();
- this.rwraws.organize();
- this.rws.organize();
- this.wwbcs.organize();
- this.wwbdbs.organize();
- this.wwbds.organize();
- this.wwrawbs.organize();
- this.wwraws.organize();
- this.wwrwbs.organize();
- this.wwrws.organize();
- this.wws.organize();
- }
-
- public OrganizedThreadInfo getAssertions() {
- return this.assertions;
- }
-
- public int getBankConflictRate() {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final boolean bank = preferenceStore.getBoolean(Messages.BANK_OR_WARP);
- if (bank) {
- return this.bankConflictStats.getAverageBank();
- }
- return this.bankConflictStats.getAverageWarp();
- }
-
- public Statistic getBankConflictStats() {
- return this.bankConflictStats;
- }
-
- public OrganizedThreadInfo getDeadlocks() {
- return this.deadlocks;
- }
-
- public OrganizedThreadInfo getMemoryCoalescing() {
- return this.memoryCoalescings;
- }
-
- public Integer getMemoryCoalescingLocation() {
- return this.memoryCoalescingLocation;
- }
-
- public int getMemoryCoalescingRate() {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final boolean bank = preferenceStore.getBoolean(Messages.BANK_OR_WARP);
- if (bank) {
- return this.memoryCoalescingStats.getAverageBank();
- }
- return this.memoryCoalescingStats.getAverageWarp();
- }
-
- public Statistic getMemoryCoalescingStats() {
- return this.memoryCoalescingStats;
- }
-
- public OrganizedThreadInfo getMissingVolatile() {
- return this.missingVolatiles;
- }
-
- public OrganizedThreadInfo getPotentialSame() {
- return this.potentialDeadlocksSameLength;
- }
-
- public OrganizedThreadInfo getPotentialVaried() {
- return this.potentialDeadlocksVariedLength;
- }
-
- public OrganizedThreadInfo getRrbc() {
- return this.rrbcs;
- }
-
- public OrganizedThreadInfo getRw() {
- return this.rws;
- }
-
- public OrganizedThreadInfo getRwbc() {
- return this.rwbcs;
- }
-
- public OrganizedThreadInfo getRwbd() {
- return this.rwbds;
- }
-
- public OrganizedThreadInfo getRwraw() {
- return this.rwraws;
- }
-
- public int getWarpDivergenceRate() {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final boolean bank = preferenceStore.getBoolean(Messages.BANK_OR_WARP);
- if (bank) {
- return this.warpDivergenceStats.getAverageBank();
- }
- return this.warpDivergenceStats.getAverageWarp();
- }
-
- public List<WarpDivergence> getWarpDivergences() {
- return this.warpDivergences;
- }
-
- public Statistic getWarpDivergenceStats() {
- return this.warpDivergenceStats;
- }
-
- public OrganizedThreadInfo getWw() {
- return this.wws;
- }
-
- public OrganizedThreadInfo getWwbc() {
- return this.wwbcs;
- }
-
- public OrganizedThreadInfo getWwbd() {
- return this.wwbds;
- }
-
- public OrganizedThreadInfo getWwbdb() {
- return this.wwbdbs;
- }
-
- public OrganizedThreadInfo getWwraw() {
- return this.wwraws;
- }
-
- public OrganizedThreadInfo getWwrawb() {
- return this.wwrawbs;
- }
-
- public OrganizedThreadInfo getWwrw() {
- return this.wwrws;
- }
-
- public OrganizedThreadInfo getWwrwb() {
- return this.wwrwbs;
- }
-
- /*
- * Parses the emacs pattern
- */
- private void parse(Matcher matcher, IFile logFile, int line) {
- // emacs:code:block0:thread0:file0:line0:block1:thread1:file1:line1
- final String code = matcher.group(1);
- final String block0 = matcher.group(2);
- final String thread0 = matcher.group(3);
- final String file0 = matcher.group(4);
- final String line0 = matcher.group(5);
- final String block1 = matcher.group(6);
- final String thread1 = matcher.group(7);
- final String file1 = matcher.group(8);
- final String line1 = matcher.group(9);
- final ThreadInfo threadInfo0 = new ThreadInfo(block0, thread0, file0, line0, logFile);
- final ThreadInfo threadInfo1 = new ThreadInfo(block1, thread1, file1, line1, logFile);
-
- // this might fail in future releases of gklee, it is important to log the failure, but don't crash the logging
- try {
- parse(code, new TwoThreadInfo(threadInfo0, threadInfo1, logFile, line));
- } catch (final LogException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.LOG_EXCEPTION, e));
- }
- }
-
- /*
- * parses the code part of the emacs line and puts the already parsed TwoThreadInfo in the correct group
- */
- private void parse(String code, TwoThreadInfo threadInfo) throws LogException {
- /*
- * ("assert" . "Assertion violation")
- * ("wwrwb" . "Write write race within warp benign")
- * ("wwrw" . "Write write race within warp")
- * ("wwrawb" . "Write write race across warps benign")
- * ("wwraw" . "Write write race across warps")
- * ("rwraw" . "Read write race across warps")
- * ("wwbdb" . "Write write branch divergence race benign")
- * ("wwbd" . "Write write branch divergence race")
- * ("rwbd" . "Read write branch divergence race")
- * ("rw" . "Write read race")
- * ("ww" . "Write write race")
- * ("dlbm" . "Deadlock due to barrier mismatch\nlocation reported is first thread in divergent set")
- * ("dbs" . "Potential deadlock -- different barrier sequence")
- * ("bsdl" . "Potential deadlock -- barrier sequences of differing length")
- * ("wwbc" . "Write write bank conflict")
- * ("rrbc" . "Read read bank conflict")
- * ("rwbc" . "Read write bank conflict")
- * ("mc" . "Non-coalesced global memory access")
- * ("mv" . "Missing volatile")
- * ("wd" . "Warp divergence") --I'm not seeing this in any log files that should have it
- */
- // switch on strings not supported in java, but we can still avoid long if-else statements
- switch (code.charAt(0)) {
- case 'a':
- // ("assert" . "Assertion violation")
- if (code.equals("assert")) { //$NON-NLS-1$
- assertions.add(threadInfo);
- return;
- }
- break;
- case 'b':
- // ("bsdl" . "Potential deadlock -- barrier sequences of differing length")
- if (code.equals("bsdl")) { //$NON-NLS-1$
- potentialDeadlocksVariedLength.add(threadInfo);
- return;
- }
- break;
- case 'd':
- /*
- * ("dlbm" . "Deadlock due to barrier mismatch\nlocation reported is first thread in divergent set")
- * ("dbs" . "Potential deadlock -- different barrier sequence")
- */
- if (code.equals("dlbm")) { //$NON-NLS-1$
- deadlocks.add(threadInfo);
- return;
- }
- else if (code.equals("dbs")) { //$NON-NLS-1$
- potentialDeadlocksSameLength.add(threadInfo);
- return;
- }
- break;
- case 'm':
- /*
- * ("mc" . "Non-coalesced global memory access")
- * ("mv" . "Missing volatile")
- */
- if (code.equals("mc")) { //$NON-NLS-1$
- memoryCoalescings.add(threadInfo);
- return;
- }
- else if (code.equals("mv")) { //$NON-NLS-1$
- missingVolatiles.add(threadInfo);
- return;
- }
- break;
- case 'r':
- /*
- * ("rwraw" . "Read write race across warps")
- * ("rwbd" . "Read write branch divergence race")
- * ("rw" . "Write read race")
- * ("rrbc" . "Read read bank conflict")
- * ("rwbc" . "Read write bank conflict")
- */
- if (code.equals("rwraw")) { //$NON-NLS-1$
- rwraws.add(threadInfo);
- return;
- }
- else if (code.equals("rwbd")) { //$NON-NLS-1$
- rwbds.add(threadInfo);
- return;
- }
- else if (code.equals("rw")) { //$NON-NLS-1$
- rws.add(threadInfo);
- return;
- }
- else if (code.equals("rrbc")) { //$NON-NLS-1$
- rrbcs.add(threadInfo);
- return;
- }
- else if (code.equals("rwbc")) { //$NON-NLS-1$
- rwbcs.add(threadInfo);
- return;
- }
- break;
- case 'w':
- /*
- * ("wwrwb" . "Write write race within warp benign")
- * ("wwrw" . "Write write race within warp")
- * ("wwrawb" . "Write write race across warps benign")
- * ("wwraw" . "Write write race across warps")
- * ("wwbdb" . "Write write branch divergence race benign")
- * ("wwbd" . "Write write branch divergence race")
- * ("ww" . "Write write race")
- * ("wwbc" . "Write write bank conflict")
- * ("wd" . "Warp divergence") --I'm not seeing this in any log files that should have it
- */
- if (code.equals("wwrwb")) { //$NON-NLS-1$
- wwrwbs.add(threadInfo);
- return;
- }
- else if (code.equals("wwrw")) { //$NON-NLS-1$
- wwrws.add(threadInfo);
- return;
- }
- else if (code.equals("wwrawb")) { //$NON-NLS-1$
- wwrawbs.add(threadInfo);
- return;
- }
- else if (code.equals("wwraw")) { //$NON-NLS-1$
- wwraws.add(threadInfo);
- return;
- }
- else if (code.equals("wwbdb")) { //$NON-NLS-1$
- wwbdbs.add(threadInfo);
- return;
- }
- else if (code.equals("wwbd")) { //$NON-NLS-1$
- wwbds.add(threadInfo);
- return;
- }
- else if (code.equals("ww")) { //$NON-NLS-1$
- wws.add(threadInfo);
- return;
- }
- else if (code.equals("wwbc")) { //$NON-NLS-1$
- wwbcs.add(threadInfo);
- return;
- }
- break;
- }
- throw new LogException(Messages.LOG_EXCEPTION + code);
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/LogException.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/LogException.java
deleted file mode 100644
index 302db1676..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/LogException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-public class LogException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = -6121571076333945920L;
-
- public LogException(String string) {
- super(string);
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/OrganizedThreadInfo.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/OrganizedThreadInfo.java
deleted file mode 100644
index 082ec147a..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/OrganizedThreadInfo.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/*
- * This organizes a list of ThreadInfo objects by block then by thread
- */
-public class OrganizedThreadInfo {
-
- // this is currently 32, but NVIDIA has warned that this may change
- private static int threadsPerWarp;
-
- public static void setThreadsPerWarp(int threadsPerWarp) {
- OrganizedThreadInfo.threadsPerWarp = threadsPerWarp;
- }
-
- /*
- * block number maps to info about that block, which has warp number map to info about that warp,
- * which has thread number map to info about that thread, which is a simple list of info.
- * This is uninitialized prior to calling the organize method.
- */
- private final Map<Integer, Map<Integer, Map<Integer, List<TwoThreadInfo>>>> blocks;
-
- // this contains all the data prior to the organize method
- private final List<TwoThreadInfo> tempList = new ArrayList<TwoThreadInfo>();
-
- public OrganizedThreadInfo() {
- blocks = new HashMap<Integer, Map<Integer, Map<Integer, List<TwoThreadInfo>>>>();
- }
-
- /*
- * adds the element to the unorganized list, be sure to organize before using
- */
- public void add(TwoThreadInfo twoThreadInfo) {
- tempList.add(twoThreadInfo);
- }
-
- /*
- * tells if the organized data structure is empty
- */
- public boolean isEmpty() {
- return blocks.isEmpty();
- }
-
- /*
- * This method is meant to be called only one time, and only after all elements have been added to the temp list
- */
- public void organize() {
- for (final TwoThreadInfo twoThreadInfo : tempList) {
- organize(twoThreadInfo, 0);
- organize(twoThreadInfo, 1);
- }
- }
-
- /*
- * puts the twoThreadInfo object into its appropriate spot based on which thread is specified (O or 1)
- */
- private void organize(TwoThreadInfo twoThreadInfo, int i) {
- ThreadInfo threadInfo;
- if (i == 0) {
- threadInfo = twoThreadInfo.getThreadInfo0();
- }
- else {
- threadInfo = twoThreadInfo.getThreadInfo1();
- }
- try {
- // we find out where in the data structure to put it, and initialize that element if needed, then put it in there.
- final int block = threadInfo.getBlock();
- final int thread = threadInfo.getThread();
- final int warp = thread / threadsPerWarp;
- if (blocks.containsKey(block)) {
- final Map<Integer, Map<Integer, List<TwoThreadInfo>>> warps = blocks.get(block);
- if (warps.containsKey(warp)) {
- final Map<Integer, List<TwoThreadInfo>> threads = warps.get(warp);
- if (threads.containsKey(thread)) {
- final List<TwoThreadInfo> threadInfos = threads.get(thread);
- threadInfos.add(twoThreadInfo);
- }
- else {
- final List<TwoThreadInfo> threadInfos = new ArrayList<TwoThreadInfo>();
- threadInfos.add(twoThreadInfo);
- threads.put(thread, threadInfos);
- }
- }
- else {
- final Map<Integer, List<TwoThreadInfo>> threads = new HashMap<Integer, List<TwoThreadInfo>>();
- final List<TwoThreadInfo> threadInfos = new ArrayList<TwoThreadInfo>();
- threadInfos.add(twoThreadInfo);
- threads.put(thread, threadInfos);
- warps.put(warp, threads);
- }
- }
- else {
- final Map<Integer, Map<Integer, List<TwoThreadInfo>>> warps = new HashMap<Integer, Map<Integer, List<TwoThreadInfo>>>();
- final Map<Integer, List<TwoThreadInfo>> threads = new HashMap<Integer, List<TwoThreadInfo>>();
- final List<TwoThreadInfo> threadInfos = new ArrayList<TwoThreadInfo>();
- threadInfos.add(twoThreadInfo);
- threads.put(thread, threadInfos);
- warps.put(warp, threads);
- blocks.put(block, warps);
- }
- } catch (final NumberFormatException nfe) {
- /*
- * Just ignore this improperly formatted ThreadInfo object (not all of them are "properly" formatted after all--example:
- * deadlock doesn't specify two threads)
- */
- }
- }
-
- /*
- * Sets up in the GUI the subtree that stems from a block index
- */
- private void setupBlockTree(TreeItem topLevel, Map<Integer, Map<Integer, List<TwoThreadInfo>>> warps, int block,
- String lowLevelLabel, IProject project) {
- final TreeItem blockTree = new TreeItem(topLevel, SWT.NONE);
- blockTree.setText(Messages.BLOCK + block);
-
- // sort the warps, as a map is not guaranteed to be sorted
- final Set<Integer> keys = warps.keySet();
- final int[] keysArray = new int[keys.size()];
- final Iterator<Integer> iter = keys.iterator();
- int j;
- for (int i = 0; i < keysArray.length; i++) {
- j = iter.next();
- keysArray[i] = j;
- }
- Arrays.sort(keysArray);
-
- // setup the each warp
- for (final int warp : keysArray) {
- setupWarpTree(blockTree, warps.get(warp), warp, lowLevelLabel, project);
- }
- }
-
- /*
- * Sets up the node for a threadTree item
- */
- private void setupThreadInfoLeaf(TreeItem twoThreadTree, ThreadInfo threadInfo, IProject project) {
- try {
- final String label = threadInfo.getLabel(project);
- final TreeItem leaf = new TreeItem(twoThreadTree, SWT.NONE);
- leaf.setText(label);
- // connect the leaf with the data so that it can be accessed on double click
- leaf.setData(threadInfo);
- } catch (final NumberFormatException nfe) {
- // the getLabel may throw this exception for items that don't have info for both threads
- }
- }
-
- /*
- * sets up the subtree for the thread
- */
- private void setupThreadTree(TreeItem warpTree, List<TwoThreadInfo> list, int thread, String lowLevelLabel, IProject project) {
- final TreeItem threadTree = new TreeItem(warpTree, SWT.NONE);
- threadTree.setText(Messages.THREAD_NUMBER + thread);
-
- // No sorting required, since errors don't have an obvious ordering
-
- for (final TwoThreadInfo twoThreadInfo : list) {
- setupTwoThreadInfoTree(threadTree, twoThreadInfo, lowLevelLabel, project);
- }
- }
-
- /*
- * This will set up the tree in the GUI
- */
- public void setupTree(Tree tree, String topLevelLabel, String emptyTopLevelLabel, String lowLevelLabel, IProject project) {
- // add a double click listener for this tree to interact with source file
- tree.addListener(SWT.MouseDoubleClick, new Listener() {
-
- @Override
- public void handleEvent(Event event) {
- // retrieve the data that was double clicked
- final Widget widget = event.widget;
- if (widget instanceof Tree) {
- final Tree tree = (Tree) widget;
- final TreeItem item = tree.getItem(new Point(event.x, event.y));
- final Object data = item.getData();
- if (data instanceof ThreadInfo) {
- // now jump to the line in the source code that we want
- final ThreadInfo info = (ThreadInfo) data;
- final IFile file = info.getFile();
- final int line = info.getLine();
- try {
- GIGUtilities.jumpToLine(file, line);
- } catch (final CoreException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- }
- }
- else if (data instanceof TwoThreadInfo) {
- // now jump to the line in the log file that we want
- final TwoThreadInfo twoInfo = (TwoThreadInfo) data;
- final IFile file = twoInfo.getFile();
- final int line = twoInfo.getLine();
- try {
- GIGUtilities.jumpToLine(file, line);
- } catch (final CoreException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- }
- }
- }
- }
-
- });
- // a lot of the time, there is nothing to report
- if (blocks.size() == 0) {
- // report there is nothing by creating a label that says as much
- if (emptyTopLevelLabel != null) {
- final TreeItem topLevel = new TreeItem(tree, SWT.NONE);
- topLevel.setText(emptyTopLevelLabel);
- }
- else {
- // not even worth reporting the non-existence of this
- return;
- }
- }
- else {
- // we do have something to report, set it up
- final TreeItem topLevel = new TreeItem(tree, SWT.NONE);
- topLevel.setText(topLevelLabel);
-
- // sort the blocks, as a map doesn't guarantee sorted
- final Set<Integer> keys = blocks.keySet();
- final int[] keysArray = new int[keys.size()];
- final Iterator<Integer> iter = keys.iterator();
- int j;
- for (int i = 0; i < keysArray.length; i++) {
- j = iter.next();
- keysArray[i] = j;
- }
- Arrays.sort(keysArray);
-
- for (final int block : keysArray) {
- setupBlockTree(topLevel, blocks.get(block), block, lowLevelLabel, project);
- }
- }
- }
-
- /*
- * Sets up the TwoThreadInfo subtree with a node and up to two leaves
- */
- private void setupTwoThreadInfoTree(TreeItem threadTree, TwoThreadInfo twoThreadInfo, String lowLevelLabel, IProject project) {
- final TreeItem twoThreadTree = new TreeItem(threadTree, SWT.NONE);
- twoThreadTree.setText(lowLevelLabel);
- // set data for double click retrieval
- twoThreadTree.setData(twoThreadInfo);
-
- setupThreadInfoLeaf(twoThreadTree, twoThreadInfo.getThreadInfo0(), project);
- setupThreadInfoLeaf(twoThreadTree, twoThreadInfo.getThreadInfo1(), project);
- }
-
- /*
- * sets up a subtree with the root node being a warp
- */
- private void setupWarpTree(TreeItem blockTree, Map<Integer, List<TwoThreadInfo>> threads, int warp, String lowLevelLabel,
- IProject project) {
- final TreeItem warpTree = new TreeItem(blockTree, SWT.NONE);
- warpTree.setText(Messages.WARP_NUMBER + warp);
-
- // sort the threads, since map won't guarantee sorted
- final Set<Integer> keys = threads.keySet();
- final int[] keysArray = new int[keys.size()];
- final Iterator<Integer> iter = keys.iterator();
- int j;
- for (int i = 0; i < keysArray.length; i++) {
- j = iter.next();
- keysArray[i] = j;
- }
- Arrays.sort(keysArray);
-
- for (final int thread : keysArray) {
- setupThreadTree(warpTree, threads.get(thread), thread, lowLevelLabel, project);
- }
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/Statistic.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/Statistic.java
deleted file mode 100644
index bfba7dd86..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/Statistic.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/*
- * represents a statistic reported near the end of the gklee kernel
- */
-public class Statistic {
-
- // the ave refers to a percentage, and should equal num*100/total
- private final int aveWarp, numWarps, totalWarps, aveBI, numBIs, totalBIs;
- private final IFile logFile;
- private final int line;
-
- public Statistic(int aveWarp, int numWarps, int totalWarps, int aveBI, int numBIs, int totalBIs, IFile logFile, int line) {
- this.aveWarp = aveWarp;
- this.numWarps = numWarps;
- this.totalWarps = totalWarps;
- this.aveBI = aveBI;
- this.numBIs = numBIs;
- this.totalBIs = totalBIs;
- this.logFile = logFile;
- this.line = line;
- }
-
- public int getAverageBank() {
- return this.aveBI;
- }
-
- public int getAverageWarp() {
- return aveWarp;
- }
-
- /*
- * Sets up the Statistic in the tree
- */
- public void setupTree(Tree tree, Integer optionalLine) {
- tree.addListener(SWT.MouseDoubleClick, new Listener() {
-
- @Override
- public void handleEvent(Event event) {
- final Widget widget = event.widget;
- if (widget instanceof Tree) {
- final Tree tree = (Tree) widget;
- final TreeItem item = tree.getItem(new Point(event.x, event.y));
- final Object o = item.getData();
- if (o instanceof Integer) {
- final Integer line = (Integer) o;
- try {
- GIGUtilities.jumpToLine(logFile, line);
- } catch (final CoreException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- }
- }
- }
- }
-
- });
- TreeItem item, subItem;
- item = new TreeItem(tree, SWT.NONE);
- item.setText(Messages.STATISTICS);
- item.setData(optionalLine);
-
- subItem = new TreeItem(item, SWT.NONE);
- subItem.setText(String.format(Messages.WARP_STATISTIC, aveWarp, numWarps, totalWarps));
- subItem.setData(line);
-
- subItem = new TreeItem(item, SWT.NONE);
- subItem.setText(String.format(Messages.BLOCK_STATISTIC, aveBI, numBIs, totalBIs));
- subItem.setData(line);
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/ThreadInfo.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/ThreadInfo.java
deleted file mode 100644
index 8865b7981..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/ThreadInfo.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-
-public class ThreadInfo {
- // keep a memo of which filename goes with which IFile resource
- private static Map<String, IFile> fileResolver = new HashMap<String, IFile>();
-
- /*
- * Resets the file Resolver, should be called everytime a new GkleeLog object is created
- */
- public static void reset() {
- fileResolver.clear();
- }
-
- private final IFile logFile;
- private final String block, thread, filename, line;
- // these are lazily parsed as it is easier to deal with empty strings then
- private Integer blockInt, threadInt, lineInt;
- private IFile file;
-
- /*
- * No guarantees of the format of these strings are required. Warnings are given in methods that may have exceptions
- */
- public ThreadInfo(String block, String thread, String file, String line, IFile logFile) {
- this.block = block;
- this.thread = thread;
- this.filename = file;
- this.line = line;
- this.logFile = logFile;
- }
-
- /*
- * This is very likely to throw a NumberFormatException
- */
- public int getBlock() {
- if (blockInt == null) {
- return blockInt = Integer.parseInt(block);
- }
- return blockInt;
- }
-
- /*
- * This should only be called after getLabel has been called. Internally, after getFilename has lazily loaded the file.
- */
- public IFile getFile() {
- return file;
- }
-
- /*
- * This recursively cuts down on the filePath to try and find the file in the container.
- * There is no guarantee that the file is actually there, so null is returned if it gives up.
- */
- private IFile getFile(IContainer container, String filePath) {
- final int splitPoint = filePath.indexOf('/');
- if (splitPoint == -1) {
- if (container instanceof IProject) {
- final IProject project = (IProject) container;
- return project.getFile(filePath);
- }
- else if (container instanceof IFolder) {
- final IFolder folder = (IFolder) container;
- return folder.getFile(filePath);
- }
- }
- final String folderName = filePath.substring(0, splitPoint);
- filePath = filePath.substring(splitPoint + 1);
- if (container instanceof IProject) {
- final IProject project = (IProject) container;
- final IFolder folder = project.getFolder(folderName);
- return getFile(folder, filePath);
- }
- else if (container instanceof IFolder) {
- final IFolder parent = (IFolder) container;
- final IFolder folder = parent.getFolder(folderName);
- return getFile(folder, filePath);
- }
- return null;
- }
-
- /*
- * attempts to get the file specified by this.filename in the project given
- */
- private IFile getFile(IProject project) {
- // we recompute the same files again and again, so check the memo for if it is already computed
- if (fileResolver.containsKey(filename)) {
- return fileResolver.get(filename);
- }
- // now try computing it based from server, then from local verification
- final String serverHomeDirectory = "/home/bgibson/GIGServer/"; //$NON-NLS-1$
- if (filename.startsWith(serverHomeDirectory)) {
- // log file must have been generated on the server, and server file paths follow eclipse file structure
- String filePath = filename.substring(serverHomeDirectory.length());
- filePath = filePath.substring(filePath.indexOf('/') + 1);
- final IFile ret = getFile(project, filePath);
- fileResolver.put(filename, ret);
- return ret;
- }
- else {
- // log file must have been generated locally, we do know that the source file should be near the log file in both
- String logFilePath = this.logFile.getLocation().toOSString();
- String filePath = filename;
- int fileSeparator, logSeparator;
- String filePrefix, logPrefix;
-
- // truncate the common ancestry
- while (true) {
- fileSeparator = filePath.indexOf('/');
- logSeparator = logFilePath.indexOf('/');
- if (fileSeparator == -1 || logSeparator == -1) {
- break;
- }
- filePrefix = filePath.substring(0, fileSeparator);
- final String tempFile = filePath.substring(fileSeparator + 1);
- logPrefix = logFilePath.substring(0, logSeparator);
- final String tempLogFile = logFilePath.substring(logSeparator + 1);
- if (filePrefix.equals(logPrefix)) {
- filePath = tempFile;
- logFilePath = tempLogFile;
- }
- else {
- break;
- }
- }
-
- // find the common ancestor
- IResource curr = this.logFile;
- logSeparator = logFilePath.lastIndexOf('/');
- while (logSeparator != -1) {
- curr = curr.getParent();
- logFilePath = logFilePath.substring(0, logSeparator);
- logSeparator = logFilePath.lastIndexOf('/');
- }
- IContainer parentContainer = curr.getParent();
-
- // find the container that contains the target file
- fileSeparator = filePath.indexOf('/');
- while (fileSeparator != -1) {
- filePrefix = filePath.substring(0, fileSeparator);
- filePath = filePath.substring(fileSeparator + 1);
- if (parentContainer instanceof IProject) {
- final IProject parent = (IProject) parentContainer;
- parentContainer = parent.getFolder(filePrefix);
- }
- else if (parentContainer instanceof IFolder) {
- final IFolder parent = (IFolder) parentContainer;
- parentContainer = parent.getFolder(filePrefix);
- }
- else {
- return null;
- }
- }
-
- final IFile ret;
- if (parentContainer instanceof IProject) {
- final IProject parent = (IProject) parentContainer;
- ret = parent.getFile(filePath);
- }
- else if (parentContainer instanceof IFolder) {
- final IFolder parent = (IFolder) parentContainer;
- ret = parent.getFile(filePath);
- }
- else {
- return null;
- }
-
- if (ret.exists()) {
- fileResolver.put(filename, ret);
- return ret;
- }
-
- return null;
- }
- }
-
- /*
- * Lazily loads the file and gives the name. If no file can be found, the filename is returned.
- */
- private String getFilename(IProject project) {
- if (file == null) {
- file = getFile(project);
- if (file != null) {
- return file.getName();
- }
- else {
- return filename;
- }
- }
- return file.getName();
- }
-
- /*
- * This gives a good label/string representation of this object, if it doesn't have an exception.
- * Lazily parses/loads all the data of this object, so the odds of a NumberFormatException are high.
- */
- public String getLabel(IProject project) {
- return String
- .format(Messages.THREAD_INFO_FORMAT, getBlock(), getThread(), getLine(), getFilename(project));
- }
-
- /*
- * Lazily parses the line number; has a high chance of NumberFormatException
- */
- public int getLine() {
- if (lineInt == null) {
- return lineInt = Integer.parseInt(line);
- }
- return lineInt;
- }
-
- /*
- * This is very likely to throw a NumberFormatException
- */
- public int getThread() {
- if (threadInt == null) {
- return threadInt = Integer.parseInt(thread);
- }
- return threadInt;
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/TwoThreadInfo.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/TwoThreadInfo.java
deleted file mode 100644
index 3950ecf0f..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/TwoThreadInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import org.eclipse.core.resources.IFile;
-
-/*
- * Essentially a struct that holds data from an emacs pattern, and where that pattern was found
- */
-public class TwoThreadInfo {
- private final ThreadInfo threadInfo0, threadInfo1;
- private final IFile logFile;
- private final int line;
-
- public TwoThreadInfo(ThreadInfo threadInfo0, ThreadInfo threadInfo1, IFile logFile, int line) {
- this.threadInfo0 = threadInfo0;
- this.threadInfo1 = threadInfo1;
- this.logFile = logFile;
- this.line = line;
- }
-
- public IFile getFile() {
- return this.logFile;
- }
-
- public int getLine() {
- return this.line;
- }
-
- public ThreadInfo getThreadInfo0() {
- return threadInfo0;
- }
-
- public ThreadInfo getThreadInfo1() {
- return threadInfo1;
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/WarpDivergence.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/WarpDivergence.java
deleted file mode 100644
index b4f039ec7..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/log/WarpDivergence.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.log;
-
-import java.util.List;
-
-/*
- * Contains the data of how a warp diverged
- */
-public class WarpDivergence {
- // threads in a warp may diverge into separate paths, this detects them
- private final List<int[]> sets;
- private final int warpNumber;
-
- /*
- * each int[] in sets is required to be sorted
- */
- public WarpDivergence(List<int[]> sets, int warp) {
- this.sets = sets;
- this.warpNumber = warp;
- }
-
- public List<int[]> getSets() {
- return sets;
- }
-
- /*
- * Call this only from the first warp, currently will only return 32 or less (less if fewer than 32 threads even existed)
- * NVIDIA may change warp sizes.
- */
- public int getThreadsPerWarp() {
- int ret = 0;
- for (final int[] ia : sets) {
- ret = ret < ia[ia.length - 1] ? ia[ia.length - 1] : ret;
- }
- return ret + 1;
- }
-
- public int getWarpNumber() {
- return warpNumber;
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/Messages.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/Messages.java
deleted file mode 100644
index ff4719b90..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/Messages.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-/*
- * Used for strings that should be translated into different languages
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.ptp.internal.gig.messages.messages"; //$NON-NLS-1$
-
- public static String GIG_PREFERENCE_PAGE_0;
- public static String GIG_PREFERENCE_PAGE_1;
- public static String USERNAME;
- public static String PASSWORD;
- public static String IO_EXCEPTION;
- public static String INTERRUPTED_EXCEPTION;
- public static String RUN_GKLEE;
- public static String PART_INIT_EXCEPTION;
- public static String PARSE_EXCEPTION;
- public static String MEMORY_COALESCING;
- public static String BANK_CONFLICTS;
- public static String WARP_DIVERGENCE;
- public static String DEADLOCKS;
- public static String NO_DEADLOCK;
- public static String THREADS_THAT_WAIT_AT_EXPLICIT_SYNC_THREADS;
- public static String THREADS_THAT_WAIT_AT_THE_RECONVERGENT_POINT;
- public static String UPDATE_GIG;
- public static String WARP_DIVERGES_INTO_FOLLOWING_SETS;
- public static String WARP_DOES_NOT_DIVERGE;
- public static String SET;
- public static String READ_READ_BANK_CONFLICT;
- public static String WRITE_WRITE_BANK_CONFLICT;
- public static String READ_WRITE_BANK_CONFLICT;
- public static String BANK_CONFLICTS_WITHIN_A_WARP;
- public static String BANK_CONFLICTS_ACROSS_WARPS;
- public static String THREAD_BANK_CONFLICT_THREAD_INFO_TO_STRING;
- public static String MEMORY_COALESCING_BY_WHOLE_WARP;
- public static String MEMORY_COALESCING_BY_WHOLE_WARP_TO_STRING;
- public static String SERVER_HAD_AN_IOEXCEPTION;
- public static String SEND_TO_SERVER;
- public static String CORE_EXCEPTION;
- public static String IMPORT;
- public static String REFRESH;
- public static String DELETE_REMOTE_FILE;
- public static String RESET_SERVER_VIEW;
- public static String SERVER_NAME;
- public static String LOG_EXCEPTION;
- public static String BLOCK;
- public static String THREAD_INFO_FORMAT;
- public static String NONCOALESCED_GLOBAL_MEMORY_ACCESSES;
- public static String NO;
- public static String NONCOALESCED_GLOBAL_MEMORY_ACCESS;
- public static String POTENTIAL_DEADLOCK_SAME_LENGTH;
- public static String POTENTIAL_DEADLOCK_VARIED_LENGTH;
- public static String RACES;
- public static String OTHER;
- public static String WWRWB;
- public static String WWRW;
- public static String WWRAWB;
- public static String WWRAW;
- public static String RWRAW;
- public static String WWBDB;
- public static String WWBD;
- public static String RWBD;
- public static String RW;
- public static String WW;
- public static String ASSERTION_VIOLATION;
- public static String MISSING_VOLATILE;
- public static String WARP_NUMBER;
- public static String THREAD_NUMBER;
- public static String STATISTICS;
- public static String WARP_STATISTIC;
- public static String BLOCK_STATISTIC;
- public static String CANCEL;
- public static String ILLEGAL_COMMAND;
- public static String ILLEGAL_COMMAND_MESSAGE;
- public static String INCORRECT_PASSWORD;
- public static String INCORRECT_PASSWORD_MESSAGE;
- public static String BANK_OR_WARP;
- public static String BANK_CONFLICT_LOW;
- public static String BANK_CONFLICT_HIGH;
- public static String MEMORY_COALESCING_LOW;
- public static String MEMORY_COALESCING_HIGH;
- public static String WARP_DIVERGENCE_LOW;
- public static String WARP_DIVERGENCE_HIGH;
- public static String INCORRECT_FILE_EXTENSION;
- public static String CHANGE_FILE_EXTENSION;
- public static String SELECTION_ERROR;
- public static String SELECT_ONE_FILE;
- public static String TARGET_PROJECT;
- public static String PROJECT_NOT_FOUND;
- public static String PROJECT_NOT_FOUND_MESSAGE;
- public static String BAD_LOG_FILE;
- public static String EXCEPTION_WHILE_PARSING;
- public static String COMPILATION_ERROR;
- public static String SEE_CONSOLE;
- public static String RUNTIME_ERROR;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/messages.properties b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/messages.properties
deleted file mode 100644
index 2ec94d614..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/messages/messages.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-GIG_PREFERENCE_PAGE_0=Additional
-GIG_PREFERENCE_PAGE_1=Local Execution
-USERNAME=Remote Workspace
-PASSWORD=Password
-IO_EXCEPTION=An IO Exception Occurred
-INTERRUPTED_EXCEPTION=An Interruption has caused an Exception
-RUN_GKLEE=Run GKLEE
-PART_INIT_EXCEPTION=A Part Initialization Exception Occurred
-PARSE_EXCEPTION=Error while parsing log file!
-MEMORY_COALESCING=Memory Coalescing
-BANK_CONFLICTS=Bank Conflicts
-WARP_DIVERGENCE=Warp Divergence
-DEADLOCKS=Deadlocks
-NO_DEADLOCK=GKLEE did not detect any deadlocks.
-THREADS_THAT_WAIT_AT_EXPLICIT_SYNC_THREADS=Threads that wait at the explicit __syncthreads()
-THREADS_THAT_WAIT_AT_THE_RECONVERGENT_POINT=Threads that wait at the re-convergent point
-UPDATE_GIG=Update the GIG UI
-WARP_DIVERGES_INTO_FOLLOWING_SETS=Warp %d diverges into the following sets
-WARP_DOES_NOT_DIVERGE=Warp %d does not diverge
-SET=Set %d:
-READ_READ_BANK_CONFLICT=Read-Read Bank Conflict
-WRITE_WRITE_BANK_CONFLICT=Write-Write Bank Conflict
-READ_WRITE_BANK_CONFLICT=Read-Write Bank Conflict
-BANK_CONFLICTS_WITHIN_A_WARP=Bank Conflicts within a single warp
-BANK_CONFLICTS_ACROSS_WARPS=Bank Conflicts across different warps
-THREAD_BANK_CONFLICT_THREAD_INFO_TO_STRING=Thread %d at line %d in %s
-MEMORY_COALESCING_BY_WHOLE_WARP=Memory Coalescing by whole warp
-MEMORY_COALESCING_BY_WHOLE_WARP_TO_STRING=Warp %d had %d threads involved in a memory coalescing
-SERVER_HAD_AN_IOEXCEPTION=Server had an IOException!
-SEND_TO_SERVER=Send to Server
-CORE_EXCEPTION=A Core Exception Occurred. Try Refreshing the Project.
-IMPORT=Import Selected Files and Folders
-REFRESH=Refresh File Tree
-DELETE_REMOTE_FILE=Delete remote file/folder
-RESET_SERVER_VIEW=Reset Server View
-SERVER_NAME=Server Domain Name or IP Address
-LOG_EXCEPTION=Couldn't Recognize the code:
-BLOCK=Block #
-THREAD_INFO_FORMAT=Occurred at Block %d Thread %d on line %d in file %s
-NONCOALESCED_GLOBAL_MEMORY_ACCESSES=Non-Coalesced Global Memory Accesses
-NO=No
-NONCOALESCED_GLOBAL_MEMORY_ACCESS=Non-Coalesced Global Memory Access
-POTENTIAL_DEADLOCK_SAME_LENGTH=Potential Deadlock: Different Barrier Sequence
-POTENTIAL_DEADLOCK_VARIED_LENGTH=Potential Deadlock: Barrier Sequences of Different Length
-RACES=Data Races
-OTHER=Other
-WWRWB=Write-Write Race Within a Warp Benign
-WWRW=Write-Write Race Within a Warp
-WWRAWB=Write-Write Race Across Warps Benign
-WWRAW=Write-Write Race Across Warps
-RWRAW=Read-Write Race Across Warps
-WWBDB=Write-Write Branch Divergence Race Benign
-WWBD=Write-Write Branch Divergence Race
-RWBD=Read-Write Branch Divergence Race
-RW=Read-Write Race
-WW=Write-Write Race
-ASSERTION_VIOLATION=Assertion Violation
-MISSING_VOLATILE=Missing 'volatile'
-WARP_NUMBER=Warp #
-THREAD_NUMBER=Thread #
-STATISTICS=Statistics
-WARP_STATISTIC=%d%% of warps: %d out of %d
-BLOCK_STATISTIC=%d%% of blocks: %d out of %d
-CANCEL=Cancel
-ILLEGAL_COMMAND=Illegal Command Exception
-ILLEGAL_COMMAND_MESSAGE=The server command can not be completed for this user. Change under preferences.
-INCORRECT_PASSWORD=Incorrect Password
-INCORRECT_PASSWORD_MESSAGE=Incorrect Password. Change under preferences.
-BANK_OR_WARP=Use Bank rates instead of Warp rates for calculating severity of occurrences.
-BANK_CONFLICT_LOW=Bank Conflict Low Warning Threshold
-BANK_CONFLICT_HIGH=Bank Conflict High Warning Threshold
-MEMORY_COALESCING_LOW=Memory Coalescing Low Warning Threshold
-MEMORY_COALESCING_HIGH=Memory Coalescing High Warning Threshold
-WARP_DIVERGENCE_LOW=Warp Divergence Low Warning Threshold
-WARP_DIVERGENCE_HIGH=Warp Divergence High Warning Threshold
-INCORRECT_FILE_EXTENSION=Incorrect File Extension
-CHANGE_FILE_EXTENSION=Incorrect File Extension. Try changing it to .C instead.
-SELECTION_ERROR=Selection Error
-SELECT_ONE_FILE=Please Select Exactly One File
-TARGET_PROJECT=Target Project for Importing
-PROJECT_NOT_FOUND=Project Not Found
-PROJECT_NOT_FOUND_MESSAGE=Project not found. Change under preferences.
-BAD_LOG_FILE=Bad log file. Perhaps there was a compilation error.
-EXCEPTION_WHILE_PARSING=Exception While Parsing
-COMPILATION_ERROR=Compilation Error
-SEE_CONSOLE=See Console for Specifics on this Error
-RUNTIME_ERROR=Runtime Error
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/GIGPreferencePage.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/GIGPreferencePage.java
deleted file mode 100644
index 79524441e..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/GIGPreferencePage.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class GIGPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
- public static final String LOCAL = Messages.GIG_PREFERENCE_PAGE_1;
- public static final String USERNAME = Messages.USERNAME;
- public static final String PASSWORD = Messages.PASSWORD;
- public static final String GKLEE_HOME = "GKLEE_HOME"; //$NON-NLS-1$
- public static final String FLA_KLEE_HOME_DIR = "FLA_KLEE_HOME_DIR"; //$NON-NLS-1$
- public static final String GKLEE_DEBUG_PLUS_ASSERTS_BIN = "Gklee Debug+Asserts bin"; //$NON-NLS-1$
- public static final String LLVM_DEBUG_PLUS_ASSERTS_BIN = "llvm Debug+Asserts bin"; //$NON-NLS-1$
- public static final String LLVM_GCC_LINUX_BIN = "llvm gcc linux bin"; //$NON-NLS-1$
- public static final String BIN = "bin"; //$NON-NLS-1$
- public static final String ADDITIONAL_PATH = Messages.GIG_PREFERENCE_PAGE_0 + " PATH"; //$NON-NLS-1$
-
- public GIGPreferencePage() {
- super(GRID);
- setPreferenceStore(GIGPlugin.getDefault().getPreferenceStore());
- }
-
- @Override
- protected void createFieldEditors() {
- final Composite composite = this.getFieldEditorParent();
- composite.setLayout(new GridLayout(1, false));
-
- final Group topGroup = new Group(composite, SWT.NULL);
- topGroup.setLayout(new GridLayout(1, false));
- final Group localRemoteGroup = new Group(topGroup, SWT.NULL);
- localRemoteGroup.setLayout(new GridLayout(0, false));
- final Group remoteGroup = new Group(localRemoteGroup, SWT.NULL);
- remoteGroup.setLayout(new GridLayout(1, false));
- final Group localGroup = new Group(localRemoteGroup, SWT.NULL);
- localGroup.setLayout(new GridLayout(1, false));
- this.addField(new BooleanFieldEditor(LOCAL, Messages.GIG_PREFERENCE_PAGE_1,
- BooleanFieldEditor.DEFAULT, localRemoteGroup));
- this.addField(new StringFieldEditor(GIGPreferencePage.USERNAME, GIGPreferencePage.USERNAME, remoteGroup));
- this.addField(new StringFieldEditor(GIGPreferencePage.PASSWORD, GIGPreferencePage.PASSWORD, remoteGroup));
- this.addField(new StringFieldEditor(Messages.SERVER_NAME, Messages.SERVER_NAME, remoteGroup));
- this.addField(new StringFieldEditor(Messages.TARGET_PROJECT, Messages.TARGET_PROJECT, remoteGroup));
- this.addField(new StringFieldEditor(GKLEE_HOME, GKLEE_HOME, localGroup));
- this.addField(new StringFieldEditor(FLA_KLEE_HOME_DIR, FLA_KLEE_HOME_DIR, localGroup));
- this.addField(new StringFieldEditor(GKLEE_DEBUG_PLUS_ASSERTS_BIN, GKLEE_DEBUG_PLUS_ASSERTS_BIN, localGroup));
- this.addField(new StringFieldEditor(LLVM_DEBUG_PLUS_ASSERTS_BIN, LLVM_DEBUG_PLUS_ASSERTS_BIN, localGroup));
- this.addField(new StringFieldEditor(LLVM_GCC_LINUX_BIN, LLVM_GCC_LINUX_BIN, localGroup));
- this.addField(new StringFieldEditor(BIN, BIN, localGroup));
- this.addField(new StringFieldEditor(ADDITIONAL_PATH, ADDITIONAL_PATH, localGroup));
-
- final Group tolerance = new Group(topGroup, SWT.NULL);
- tolerance.setLayout(new GridLayout(1, false));
- this.addField(new BooleanFieldEditor(Messages.BANK_OR_WARP, Messages.BANK_OR_WARP, tolerance));
- this.addField(new IntegerFieldEditor(Messages.BANK_CONFLICT_LOW, Messages.BANK_CONFLICT_LOW, tolerance));
- this.addField(new IntegerFieldEditor(Messages.BANK_CONFLICT_HIGH, Messages.BANK_CONFLICT_HIGH, tolerance));
- this.addField(new IntegerFieldEditor(Messages.MEMORY_COALESCING_LOW, Messages.MEMORY_COALESCING_LOW, tolerance));
- this.addField(new IntegerFieldEditor(Messages.MEMORY_COALESCING_HIGH, Messages.MEMORY_COALESCING_HIGH, tolerance));
- this.addField(new IntegerFieldEditor(Messages.WARP_DIVERGENCE_LOW, Messages.WARP_DIVERGENCE_LOW, tolerance));
- this.addField(new IntegerFieldEditor(Messages.WARP_DIVERGENCE_HIGH, Messages.WARP_DIVERGENCE_HIGH, tolerance));
-
- }
-
- @Override
- public void init(IWorkbench workbench) {
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/PreferenceInitializer.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/PreferenceInitializer.java
deleted file mode 100644
index aafadf1d1..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.preferences;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
- /*
- * This tries to give a good default value for the target project for importing
- */
- private String calcDefaultTargetProject() {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IWorkspaceRoot root = workspace.getRoot();
- final IProject[] projects = root.getProjects();
- if (projects.length > 0) {
- final IProject project = projects[0];
- return project.getName();
- }
- else {
- final String gklee = "Gklee"; //$NON-NLS-1$
- final IProject project = root.getProject(gklee);
- try {
- project.create(null);
- project.open(null);
- root.refreshLocal(1, null);
- return gklee;
- } catch (final CoreException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- return gklee;
- }
- }
- }
-
- @Override
- public void initializeDefaultPreferences() {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
-
- // find the HOME directory as a start
- ProcessBuilder processBuilder = new ProcessBuilder();
- Map<String, String> env = processBuilder.environment();
- final String home = env.get("HOME"); //$NON-NLS-1$
- processBuilder = null;
- env = null;
-
- // assume default installation directories
- final String gkleeHome = home + "/gklee"; //$NON-NLS-1$
- final String flaKleeHomeDir = gkleeHome;
- final String gkleeDebugPlusAssertsBin = gkleeHome + "/Gklee/Debug+Asserts/bin"; //$NON-NLS-1$
- final String llvmDebugPlusAssertsBin = gkleeHome + "/llvm-2.8/Debug+Asserts/bin"; //$NON-NLS-1$
- final String llvmGccLinuxBin = gkleeHome + "/llvm-gcc4.2-2.8-x86_64-linux/bin"; //$NON-NLS-1$
- final String bin = gkleeHome + "/bin"; //$NON-NLS-1$
- final String otherPATH = ""; //$NON-NLS-1$
-
- preferenceStore.setDefault(GIGPreferencePage.LOCAL, false);
- preferenceStore.setDefault(Messages.TARGET_PROJECT, calcDefaultTargetProject());
- preferenceStore.setDefault(GIGPreferencePage.USERNAME, "gklee"); //$NON-NLS-1$
- preferenceStore.setDefault(GIGPreferencePage.PASSWORD, ""); //$NON-NLS-1$
- preferenceStore.setDefault(Messages.SERVER_NAME, "formal.cs.utah.edu"); //$NON-NLS-1$
- preferenceStore.setDefault(GIGPreferencePage.GKLEE_HOME, gkleeHome);
- preferenceStore.setDefault(GIGPreferencePage.FLA_KLEE_HOME_DIR, flaKleeHomeDir);
- preferenceStore.setDefault(GIGPreferencePage.GKLEE_DEBUG_PLUS_ASSERTS_BIN, gkleeDebugPlusAssertsBin);
- preferenceStore.setDefault(GIGPreferencePage.LLVM_DEBUG_PLUS_ASSERTS_BIN, llvmDebugPlusAssertsBin);
- preferenceStore.setDefault(GIGPreferencePage.LLVM_GCC_LINUX_BIN, llvmGccLinuxBin);
- preferenceStore.setDefault(GIGPreferencePage.BIN, bin);
- preferenceStore.setDefault(GIGPreferencePage.ADDITIONAL_PATH, otherPATH);
-
- preferenceStore.setDefault(Messages.BANK_OR_WARP, false);
- preferenceStore.setDefault(Messages.BANK_CONFLICT_LOW, 0);
- preferenceStore.setDefault(Messages.BANK_CONFLICT_HIGH, 50);
- preferenceStore.setDefault(Messages.MEMORY_COALESCING_LOW, 50);
- preferenceStore.setDefault(Messages.MEMORY_COALESCING_HIGH, 10);
- preferenceStore.setDefault(Messages.WARP_DIVERGENCE_LOW, 0);
- preferenceStore.setDefault(Messages.WARP_DIVERGENCE_HIGH, 50);
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToRecv.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToRecv.java
deleted file mode 100644
index d75c615c7..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToRecv.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ptp.internal.gig.views.ServerTreeItem;
-
-/*
- * This helps with importing folders
- */
-public class FolderToRecv {
-
- private final String name;
- // subfolders
- private final List<FolderToRecv> folders = new ArrayList<FolderToRecv>();
- // files
- private final List<String> files = new ArrayList<String>();
-
- public FolderToRecv(String name) {
- this.name = name;
- }
-
- /*
- * Adds the item and all children to this.
- */
- private void add(ServerTreeItem item) {
- if (item.isFolder()) {
- final FolderToRecv folder = this.getFolder(item.getName());
- folder.addAll(item.getChildren());
- }
- else {
- this.add(item.getName());
- }
- }
-
- /*
- * Adds the string to the set of files. The unique property of the set is enforced by this function
- */
- public void add(String name) {
- for (final String s : files) {
- if (s.equals(name)) {
- return;
- }
- }
- files.add(name);
- }
-
- public void addAll(Object[] objects) {
- for (final Object o : objects) {
- final ServerTreeItem item = (ServerTreeItem) o;
- add(item);
- }
- }
-
- /*
- * Checks if this folder already exists in the list folders.
- * If it does, returns the folder.
- * If not, it creates the folder, adds it to folders, then returns it.
- */
- public FolderToRecv getFolder(String name2) {
- for (final FolderToRecv folder : folders) {
- if (folder.getName().equals(name2)) {
- return folder;
- }
- }
- final FolderToRecv folder = new FolderToRecv(name2);
- folders.add(folder);
- return folder;
- }
-
- public String getName() {
- return name;
- }
-
- /*
- * Sends this folder and all its contents, and receives the corresponding info.
- */
- public void sendNamesRecvData(IContainer container) throws IOException, CoreException {
- GIGUtilities.sendNamesRecvData(container, name, folders, files);
- }
-
- @Override
- public String toString() {
- return this.name;
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToSend.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToSend.java
deleted file mode 100644
index 2e89ec476..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/FolderToSend.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/*
- * Helps with exporting folders
- */
-public class FolderToSend {
-
- private final IFolder folder;
- // subfolders
- protected final List<FolderToSend> foldersToSend = new ArrayList<FolderToSend>();
- protected final List<IFile> filesToSend = new ArrayList<IFile>();
-
- /*
- * creates the FolderToSend object that contains this file, and adds this file to it
- */
- public FolderToSend(IFile file) {
- final IPath path = file.getFullPath();
- final int segments = path.segmentCount();
- this.folder = file.getProject().getFolder(path.segment(1));
- if (segments > 3) {
- foldersToSend.add(new FolderToSend(folder, file, 2));
- }
- else {
- this.filesToSend.add(file);
- }
- }
-
- /*
- * Boxes up the folder
- */
- public FolderToSend(IFolder folder2) throws CoreException {
- final IPath path = folder2.getFullPath();
- final int segments = path.segmentCount();
- this.folder = folder2.getProject().getFolder(path.segment(1));
- if (segments > 2) {
- foldersToSend.add(new FolderToSend(folder, folder2, 2));
- }
- else {
- this.addAll();
- }
- }
-
- /*
- * Creates this FolderToSend
- */
- private FolderToSend(IFolder folder, boolean addAll) throws CoreException {
- this.folder = folder;
- if (addAll) {
- this.addAll();
- }
- }
-
- /*
- * Recursive creation in order to have a proper file structure
- */
- private FolderToSend(IFolder parentFolder, IFile file, int i) {
- final IPath path = file.getFullPath();
- final int segments = path.segmentCount();
- this.folder = parentFolder.getFolder(path.segment(i));
- if (segments > i + 2) {
- foldersToSend.add(new FolderToSend(folder, file, i + 1));
- }
- else {
- this.filesToSend.add(file);
- }
- }
-
- /*
- * Recursive creation--folder version
- */
- private FolderToSend(IFolder parentFolder, IFolder folder2, int i) throws CoreException {
- final IPath path = folder2.getFullPath();
- final int segments = path.segmentCount();
- this.folder = parentFolder.getFolder(path.segment(i));
- if (segments > i + 1) {
- foldersToSend.add(new FolderToSend(folder, folder2, i + 1));
- }
- else {
- this.addAll();
- }
- }
-
- /*
- * Adds the folder to send recursively if needed
- */
- private void add(FolderToSend fts) {
- for (final FolderToSend fts2 : foldersToSend) {
- if (fts.getName().equals(fts2.getName())) {
- fts2.add(fts.foldersToSend, fts.filesToSend);
- return;
- }
- }
- foldersToSend.add(fts);
- }
-
- /*
- * Adds the file, but checks for duplicates
- */
- private void add(IFile file) {
- for (final IFile curr : filesToSend) {
- if (curr.getName().equals(file.getName())) {
- return;
- }
- }
- filesToSend.add(file);
- }
-
- /*
- * Adds the folders and files recursively
- */
- public void add(List<FolderToSend> foldersToSend2, List<IFile> filesToSend2) {
- for (final FolderToSend fts : foldersToSend2) {
- this.add(fts);
- }
- for (final IFile file : filesToSend2) {
- this.add(file);
- }
- }
-
- /*
- * Adds all of this folder's children to the selected children to send
- */
- private void addAll() throws CoreException {
- final IResource[] children = folder.members();
- for (final IResource resource : children) {
- if (resource instanceof IFile) {
- filesToSend.add((IFile) resource);
- }
- else if (resource instanceof IFolder) {
- final IFolder childFolder = (IFolder) resource;
- final FolderToSend folderToSend = new FolderToSend(childFolder, true);
- foldersToSend.add(folderToSend);
- }
- }
- }
-
- public String getName() {
- return folder.getName();
- }
-
- /*
- * Sends the data for this folder and children over the network
- */
- public void send() throws IOException, CoreException {
- GIGUtilities.sendString(folder.getName());
- GIGUtilities.sendInt(foldersToSend.size());
- for (final FolderToSend fts : foldersToSend) {
- fts.send();
- }
- GIGUtilities.sendInt(filesToSend.size());
- for (final IFile file : filesToSend) {
- GIGUtilities.sendFile(file);
- }
- }
-
- @Override
- public String toString() {
- return folder.toString();
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/GIGUtilities.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/GIGUtilities.java
deleted file mode 100644
index d729404d2..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/GIGUtilities.java
+++ /dev/null
@@ -1,845 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Scanner;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
-import javax.swing.JOptionPane;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.log.GkleeLog;
-import org.eclipse.ptp.internal.gig.log.LogException;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.preferences.GIGPreferencePage;
-import org.eclipse.ptp.internal.gig.views.GIGView;
-import org.eclipse.ptp.internal.gig.views.ServerTreeItem;
-import org.eclipse.ptp.internal.gig.views.ServerView;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.console.MessageConsoleStream;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/*
- * Contains most of the logical and generic utility code of the plug-in
- */
-public class GIGUtilities {
-
- /*
- * Indicates what state the job is in to prevent multiple jobs from being accidentally started.
- */
- public enum JobState {
- None,
- Running,
- Canceled
- }
-
- // The current non-GUI job being run
- private static Job job;
- // lock is needed to protect critical sections
- private static Lock jobsLock = new ReentrantLock();
- // This keeps track of what part of the life of a job we are in
- private static volatile JobState jobState = JobState.None;
-
- // the port to communicate with the server
- static final int port = 8883;
- /*
- * The socket, outputStream and inputStream are all together. Used for communication to server
- */
- private static Socket socket;
- private static OutputStream socketOutputStream;
- private static InputStream socketInputStream;
- // Used for cancelling jobs
- private static IProgressMonitor progressMonitor;
-
- /*
- * Builds the paths needed to run klee and gklee based on values from the Preferences
- */
- private static void buildEnvPath(Map<String, String> env) {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- env.put(GIGPreferencePage.GKLEE_HOME, preferenceStore.getString(GIGPreferencePage.GKLEE_HOME));
- env.put(GIGPreferencePage.FLA_KLEE_HOME_DIR, preferenceStore.getString(GIGPreferencePage.FLA_KLEE_HOME_DIR));
- final StringBuilder sBuilder = new StringBuilder(env.get("PATH") + ':'); //$NON-NLS-1$
- sBuilder.append(preferenceStore.getString(GIGPreferencePage.GKLEE_DEBUG_PLUS_ASSERTS_BIN) + ':');
- sBuilder.append(preferenceStore.getString(GIGPreferencePage.LLVM_DEBUG_PLUS_ASSERTS_BIN) + ':');
- sBuilder.append(preferenceStore.getString(GIGPreferencePage.LLVM_GCC_LINUX_BIN) + ':');
- sBuilder.append(preferenceStore.getString(GIGPreferencePage.BIN) + ':');
- sBuilder.append(preferenceStore.getString(GIGPreferencePage.ADDITIONAL_PATH));
- final String path = sBuilder.toString();
- env.put("PATH", path); //$NON-NLS-1$
- }
-
- /*
- * Gklee leaves a few files and folders when it runs, and we don't need to keep those around. This detects and deletes them.
- */
- private static void cleanUpGklee(IContainer gigFolder) throws CoreException {
- final IResource[] resources = gigFolder.members();
- for (final IResource res : resources) {
- if (res.getName().startsWith("klee-")) { //$NON-NLS-1$
- res.delete(true, progressMonitor);
- }
- }
- }
-
- /*
- * Closes the connection.
- */
- private static void closeConnection() throws IOException {
- /*
- * the int received should always be 0. This is actually to prevent a race. We ensure that the server is done with the
- * current operation before requesting an additional operation. For example, we might send over a file and ask for updated
- * server file structure information; we want the first command completed before a second command is sent.
- */
- recvInt();
- socketOutputStream.close();
- socketInputStream.close();
- socket.close();
- socketOutputStream = null;
- socketInputStream = null;
- socket = null;
- }
-
- /*
- * Send the command to delete these files on the server
- */
- public static void deleteRemoteFiles(Object[] objects) throws IOException, IncorrectPasswordException, IllegalCommandException {
- initializeConnection(4);
-
- sendInt(objects.length);
- for (final Object o : objects) {
- final ServerTreeItem item = (ServerTreeItem) o;
- sendString(item.getFullName());
- }
-
- closeConnection();
- }
-
- /*
- * Cancels the job
- */
- public static void doCancel() {
- if (progressMonitor != null) {
- progressMonitor.setCanceled(true);
- }
- }
-
- /*
- * Code from eclipse.org to get a console to print to
- */
- private static MessageConsole findConsole(String name) {
- final ConsolePlugin plugin = ConsolePlugin.getDefault();
- final IConsoleManager conMan = plugin.getConsoleManager();
- final IConsole[] existing = conMan.getConsoles();
- for (final IConsole element : existing) {
- if (name.equals(element.getName())) {
- return (MessageConsole) element;
- }
- }
- // no console found, so create a new one
- final MessageConsole myConsole = new MessageConsole(name, null);
- conMan.addConsoles(new IConsole[] { myConsole });
- return myConsole;
- }
-
- public static JobState getJobState() {
- return jobState;
- }
-
- /*
- * Requests the file structure from the server
- */
- public static ServerTreeItem getServerFoldersAndFilesRoot() throws IOException, IncorrectPasswordException,
- IllegalCommandException {
- final ServerTreeItem root = new ServerTreeItem("root"); //$NON-NLS-1$
-
- initializeConnection(1);
- final int numFolders = recvInt();
- for (int i = 0; i < numFolders; i++) {
- recvFolderInfo(root);
- }
- final int numFiles = recvInt();
- for (int i = 0; i < numFiles; i++) {
- recvFileInfo(root);
- }
- closeConnection();
-
- return root;
- }
-
- /*
- * This is a way to try and get the IProject that import and log files should go to.
- */
- public static IProject getTargetProject() throws ProjectNotFoundException {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IWorkspaceRoot root = workspace.getRoot();
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final String projectName = preferenceStore.getString(Messages.TARGET_PROJECT);
- final IProject project = root.getProject(projectName);
- if (!project.exists()) {
- throw new ProjectNotFoundException(projectName);
- }
- return project;
- }
-
- /*
- * This organizes the objects into a ProjectToRecv object, then sends the request and receives the data into the given project.
- */
- public static void importFoldersAndFiles(IProject project, Object[] objects) throws IOException, IncorrectPasswordException,
- CoreException, IllegalCommandException {
- final ProjectToRecv projectToRecv = new ProjectToRecv();
- for (final Object o : objects) {
- final ServerTreeItem item = (ServerTreeItem) o;
- projectToRecv.add(item, true);
- }
- projectToRecv.sendNamesRecvData(project);
- }
-
- /*
- * This initializes the connection, opening the socket, output streams, sending the instruction, and handling error codes that
- * may be sent.
- */
- private static void initializeConnection(int instructionType) throws IOException, IncorrectPasswordException,
- IllegalCommandException {
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- socket = new Socket(preferenceStore.getString(Messages.SERVER_NAME), port);
- socketOutputStream = socket.getOutputStream();
- socketInputStream = socket.getInputStream();
-
- // login
- String username, password;
- username = preferenceStore.getString(GIGPreferencePage.USERNAME);
- password = preferenceStore.getString(GIGPreferencePage.PASSWORD);
- sendString(username);
- sendString(password);
- int i = recvInt();
- if (i == -1) {
- throw new IncorrectPasswordException();
- }
- sendInt(instructionType);
- if (instructionType == 0 || instructionType == 4) {
- i = recvInt();
- if (i != 0) {
- throw new IllegalCommandException();
- }
- }
- }
-
- /*
- * Jumps to the specified line in the specified file in the main editor
- */
- public static void jumpToLine(IFile file, int line) throws CoreException {
- final IMarker marker = file.createMarker(IMarker.MARKER);
- marker.setAttribute(IMarker.LINE_NUMBER, line);
- final IEditorPart editor = IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file, true);
- IDE.gotoMarker(editor, marker);
- }
-
- /*
- * Makes the specified folder and all of its parent folders similar to java's Folder.mkdirs()
- */
- private static void makeFolder(IFolder iFolder) throws CoreException {
- final IContainer parent = iFolder.getParent();
- if (!parent.exists()) {
- makeFolder((IFolder) parent);
- }
- iFolder.create(true, true, progressMonitor);
- }
-
- private static void printToConsole(InputStream inputStream) {
- final BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
- final Scanner scan = new Scanner(br);
- final MessageConsole myConsole = findConsole(GIGPlugin.PLUGIN_ID);
- final MessageConsoleStream out = myConsole.newMessageStream();
- while (scan.hasNextLine()) {
- final String line = scan.nextLine();
- out.println(line);
- if (progressMonitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- }
- }
-
- /*
- * Processes the binary created by klee
- */
- private static IStatus processBinary(IPath binaryPath) throws IOException, CoreException, InterruptedException {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IWorkspaceRoot workspaceRoot = workspace.getRoot();
- final IFile binaryFile = workspaceRoot.getFile(binaryPath);
-
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final boolean local = preferenceStore.getBoolean(GIGPreferencePage.LOCAL);
- if (!local) {
- try {
- // First send the file over
- final List<IFile> fileList = new ArrayList<IFile>();
- fileList.add(binaryFile);
- sendFoldersAndFiles(new ArrayList<IFolder>(), fileList);
-
- requestVerification(binaryFile.getProject(), binaryFile.getProjectRelativePath());
-
- final UIJob job = new UIJob(Messages.RESET_SERVER_VIEW) {
-
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- ServerView.getDefault().reset();
- return Status.OK_STATUS;
- }
-
- };
- startJob(job);
- return Status.OK_STATUS;
- } catch (final IncorrectPasswordException ipe) {
- showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, ipe));
- } catch (final IllegalCommandException e) {
- showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- }
- return Status.CANCEL_STATUS;
- }
-
- // setup the log file path
- final IPath logPath = binaryPath.removeFileExtension().addFileExtension("log"); //$NON-NLS-1$
- final String binaryOSPath = binaryFile.getLocation().toOSString();
- final String gkleeOSPath = preferenceStore.getString(GIGPreferencePage.BIN) + "/gklee"; //$NON-NLS-1$
- final ProcessBuilder processBuilder = new ProcessBuilder(gkleeOSPath, "-emacs", binaryOSPath); //$NON-NLS-1$
- buildEnvPath(processBuilder.environment());
-
- final Process process = processBuilder.start();
- final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
- final Scanner scan = new Scanner(bufferedReader);
- final StringBuilder stringBuilder = new StringBuilder();
- while (scan.hasNextLine()) {
- final String line = scan.nextLine();
- stringBuilder.append(line);
- stringBuilder.append('\n');
- if (progressMonitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- }
- process.waitFor();
- if (process.exitValue() != 0) {
- showErrorDialog(Messages.RUNTIME_ERROR, Messages.SEE_CONSOLE);
- printToConsole(process.getErrorStream());
- return Status.CANCEL_STATUS;
- }
- final InputStream logStringInputStream = new ByteArrayInputStream(stringBuilder.toString().getBytes());
- final IFile logFile = workspaceRoot.getFile(logPath);
- if (logFile.exists()) {
- logFile.setContents(logStringInputStream, true, false, progressMonitor);
- }
- else {
- logFile.create(logStringInputStream, true, progressMonitor);
- }
- logStringInputStream.close();
-
- // refresh eclipse environment to make it aware of the new log file
- final IContainer gigFolder = logFile.getParent();
- gigFolder.refreshLocal(1, progressMonitor);
- // also be sure to get rid of temporary files that gklee created
- cleanUpGklee(gigFolder);
- gigFolder.refreshLocal(1, progressMonitor);
-
- return processLog(logPath);
- }
-
- /*
- * Processes a log file generated by gklee
- */
- private static IStatus processLog(IPath logPath) throws IOException, CoreException {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IWorkspaceRoot workspaceRoot = workspace.getRoot();
- final IFile logFile = workspaceRoot.getFile(logPath);
- final IProject project = logFile.getProject();
- final InputStream logInputStream = logFile.getContents();
- try {
- final GkleeLog gkleeLog = new GkleeLog(logInputStream, logFile);
- logInputStream.close();
- final UIJob job = new UIJob(Messages.UPDATE_GIG) {
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- GIGView.getDefault().update(gkleeLog, project);
- return Status.OK_STATUS;
- }
- };
- startJob(job);
- return Status.OK_STATUS;
- } catch (final IllegalStateException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.PARSE_EXCEPTION, e));
- } catch (final LogException e) {
- showErrorDialog(Messages.EXCEPTION_WHILE_PARSING, Messages.BAD_LOG_FILE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.BAD_LOG_FILE, e));
- } finally {
- logInputStream.close();
- }
- return Status.CANCEL_STATUS;
- }
-
- /*
- * This will process the source, binary or log file passed to it
- */
- public static IStatus processSource(IPath filePath) throws IOException, CoreException, InterruptedException {
- // enforce that the file is of the right type, and switch to something else if needed
- final String fileExtension = filePath.getFileExtension();
- if (fileExtension.equals("gig")) { //$NON-NLS-1$
- return processBinary(filePath);
- }
- else if (fileExtension.equals("log")) { //$NON-NLS-1$
- return processLog(filePath);
- }
- else if (!fileExtension.equals("cu") && !fileExtension.equals("C") && !fileExtension.equals("c")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- showErrorDialog(Messages.INCORRECT_FILE_EXTENSION, Messages.CHANGE_FILE_EXTENSION);
- return Status.CANCEL_STATUS;
- }
-
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IWorkspaceRoot workspaceRoot = workspace.getRoot();
-
- // If we are doing a remote execution, now is the time to go over to it
- final IFile origFile = workspaceRoot.getFile(filePath);
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final boolean local = preferenceStore.getBoolean(GIGPreferencePage.LOCAL);
- if (!local) {
- try {
- // First send the file over
- final List<IFile> fileList = new ArrayList<IFile>();
- fileList.add(origFile);
-
- if (!preferenceStore.getString(Messages.USERNAME).equals(preferenceStore.getDefaultString(Messages.USERNAME))) {
- sendFoldersAndFiles(new ArrayList<IFolder>(), fileList);
- }
-
- requestVerification(origFile.getProject(), origFile.getProjectRelativePath());
-
- final UIJob job = new UIJob(Messages.RESET_SERVER_VIEW) {
-
- @Override
- public IStatus runInUIThread(IProgressMonitor monitor) {
- ServerView.getDefault().reset();
- return Status.OK_STATUS;
- }
-
- };
- startJob(job);
- return Status.OK_STATUS;
- } catch (final IncorrectPasswordException ipe) {
- showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, ipe));
- } catch (final IllegalCommandException e) {
- showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- }
- return Status.CANCEL_STATUS;
- }
-
- // klee-l++ can't handle the .cu extension, so make a link to it
- IFile currFile;
- final IContainer gigContainer = origFile.getParent();
- if (fileExtension.equals("cu")) { //$NON-NLS-1$
- final IPath newPath = origFile.getProjectRelativePath().removeFileExtension().addFileExtension("C"); //$NON-NLS-1$
- currFile = origFile.getProject().getFile(newPath);
- origFile.getParent().refreshLocal(1, progressMonitor);
- if (currFile.exists()) {
- currFile.delete(true, progressMonitor);
- }
- origFile.copy(currFile.getFullPath(), 0, progressMonitor);
- gigContainer.refreshLocal(1, progressMonitor);
- }
- else {
- currFile = origFile;
- }
- final IPath binaryPath = filePath.removeFileExtension().addFileExtension("gig"); //$NON-NLS-1$
-
- // begin building the command line with absolute paths, especially from the preferenceStore
- String sourceOSPath, binaryOSPath;
- final IPath sourceAbsoluteIPath = currFile.getLocation();
- sourceOSPath = sourceAbsoluteIPath.toOSString();
- binaryOSPath = sourceAbsoluteIPath.removeFileExtension().addFileExtension("gig").toOSString(); //$NON-NLS-1$
- final String kleeOSPath = preferenceStore.getString(GIGPreferencePage.BIN) + "/klee-l++"; //$NON-NLS-1$
- final ProcessBuilder processBuilder = new ProcessBuilder(kleeOSPath, sourceOSPath, "-o", binaryOSPath); //$NON-NLS-1$
-
- // klee depends on a lot of path variables, so set these in the environment
- final Map<String, String> environment = processBuilder.environment();
- buildEnvPath(environment);
-
- final Process process = processBuilder.start();
- printToConsole(process.getInputStream());
- process.waitFor();
-
- if (process.exitValue() != 0) {
- showErrorDialog(Messages.COMPILATION_ERROR, Messages.SEE_CONSOLE);
- printToConsole(process.getErrorStream());
- return Status.CANCEL_STATUS;
- }
-
- // refresh environment so that eclipse is aware of the new binary
- gigContainer.refreshLocal(1, progressMonitor);
- return processBinary(binaryPath);
- }
-
- /*
- * Receives the filename and adds it to the tree. Assumes connection is already established.
- */
- private static void recvFileInfo(ServerTreeItem root) throws IOException {
- final String name = recvString();
- new ServerTreeItem(name, root, false);
- }
-
- /*
- * Receives the folder information and recursively its contents. Assumes connection is already established.
- */
- private static void recvFolderInfo(ServerTreeItem root) throws IOException {
- final String name = recvString();
- final ServerTreeItem folder = new ServerTreeItem(name, root, true);
- final int numFolders = recvInt();
- for (int i = 0; i < numFolders; i++) {
- recvFolderInfo(folder);
- }
- final int numFiles = recvInt();
- for (int i = 0; i < numFiles; i++) {
- recvFileInfo(folder);
- }
- }
-
- /*
- * Receives an integer. Assumes connection is already established.
- */
- protected static int recvInt() throws IOException {
- final int len = 4;
- int off = 0;
- final byte[] buffer = new byte[4];
- while (off < len) {
- off += socketInputStream.read(buffer, off, len - off);
- }
- int ret = 0;
- ret |= (buffer[0] << 24) & 0xff000000;
- ret |= (buffer[1] << 16) & 0x00ff0000;
- ret |= (buffer[2] << 8) & 0x0000ff00;
- ret |= (buffer[3] << 0) & 0x000000ff;
- return ret;
- }
-
- /*
- * Receives a String. Assumes connection is already established.
- */
- protected static String recvString() throws IOException {
- final int len = recvInt();
- int off = 0;
- final byte[] buffer = new byte[len];
- while (off < len) {
- off += socketInputStream.read(buffer, off, len - off);
- }
- return new String(buffer);
- }
-
- /*
- * Requests a remote verification of the file from the given project specified in the item.
- * This also receives the log file, processes it, and displays it.
- */
- public static void remoteVerifyFile(IProject project, ServerTreeItem item) throws IOException, IncorrectPasswordException,
- CoreException, IllegalCommandException {
- final String filePathString = item.getFullName();
- final IFile file = project.getFile(filePathString);
- final IPath filePath = file.getProjectRelativePath();
-
- requestVerification(project, filePath);
- }
-
- /*
- * Requests remote verification of the file in the project. The filePath needs to be relative to the project.
- * This also receives the log file, processes it, and displays it.
- */
- private static void requestVerification(IProject project, IPath filePath) throws IOException, IncorrectPasswordException,
- CoreException, IllegalCommandException {
- initializeConnection(2);
-
- sendString(filePath.toString());
- final String logString = recvString();
-
- final IPath logPath = filePath.removeFileExtension().addFileExtension("log"); //$NON-NLS-1$
- final IFile logFile = project.getFile(logPath);
- final InputStream logInputStream = new ByteArrayInputStream(logString.getBytes());
- if (logFile.exists()) {
- logFile.setContents(logInputStream, true, false, progressMonitor);
- }
- else {
- final IContainer parentToLog = logFile.getParent();
- if (!parentToLog.exists()) {
- makeFolder((IFolder) (parentToLog));
- }
- logFile.create(logInputStream, true, progressMonitor);
- }
-
- closeConnection();
-
- logFile.getProject().refreshLocal(IResource.DEPTH_INFINITE, progressMonitor);
-
- processLog(logFile.getFullPath());
- }
-
- /*
- * Sends the file. Assumes connection is already established.
- */
- public static void sendFile(IFile file) throws IOException, CoreException {
- final String filename = file.getName();
- sendString(filename);
- final InputStream is = file.getContents();
- final int len = is.available();
- sendInt(len);
- int off = 0;
- final byte[] buffer = new byte[len];
- while (off < len) {
- final int rec = is.read(buffer, off, len - off);
- socketOutputStream.write(buffer, off, rec);
- off += rec;
- }
- is.close();
- }
-
- /*
- * This sends the folders and files to the server including their containing parent directories up to but not including the
- * project.
- */
- public static void sendFoldersAndFiles(List<IFolder> folders, List<IFile> files) throws CoreException, IOException,
- IncorrectPasswordException, IllegalCommandException {
- initializeConnection(0);
- final ProjectToSend projectToSend = new ProjectToSend();
- for (final IFolder folder : folders) {
- final FolderToSend folderToSend = new FolderToSend(folder);
- projectToSend.add(folderToSend);
- }
- for (final IFile file : files) {
- projectToSend.add(file);
- }
- projectToSend.send();
- closeConnection();
- }
-
- /*
- * Sends the int. Assumes connection is already established.
- */
- protected static void sendInt(int i) throws IOException {
- final byte[] buffer = new byte[4];
- buffer[0] = (byte) (i >> 24 & 0xff);
- buffer[1] = (byte) (i >> 16 & 0xff);
- buffer[2] = (byte) (i >> 8 & 0xff);
- buffer[3] = (byte) (i >> 0 & 0xff);
- socketOutputStream.write(buffer);
- }
-
- /*
- * Sends the names of folders and files and receives the data to create the files. Assumes connection is already established.
- */
- public static void sendNamesRecvData(IContainer container, String name, List<FolderToRecv> folders, List<String> files)
- throws IOException, CoreException {
- sendString(name);
- IFolder folder;
- if (container instanceof IFolder) {
- folder = ((IFolder) container).getFolder(name);
- }
- else {
- folder = ((IProject) container).getFolder(name);
- }
- if (!folder.exists()) {
- folder.create(true, true, progressMonitor);
- }
- final int numFolders = folders.size();
- sendInt(numFolders);
- for (int i = 0; i < numFolders; i++) {
- folders.get(i).sendNamesRecvData(folder);
- }
- final int numFiles = files.size();
- sendInt(numFiles);
- for (int i = 0; i < numFiles; i++) {
- final String filename = files.get(i);
- sendString(filename);
- final IFile file = folder.getFile(filename);
- final int len = recvInt();
- final byte[] buffer = new byte[len];
- int off = 0;
- while (off < len) {
- off += socketInputStream.read(buffer, off, len - off);
- }
- final InputStream inputStream = new ByteArrayInputStream(buffer);
- if (file.exists()) {
- file.setContents(inputStream, true, true, progressMonitor);
- inputStream.close();
- }
- else {
- file.create(inputStream, true, progressMonitor);
- inputStream.close();
- }
- }
- }
-
- /*
- * Sends the names of the folders and files and receives their data in the specified project.
- */
- public static void sendNamesRecvData(IProject project, List<FolderToRecv> folders, List<String> files) throws IOException,
- IncorrectPasswordException, CoreException, IllegalCommandException {
- initializeConnection(3);
-
- sendInt(folders.size());
- for (final FolderToRecv folder : folders) {
- folder.sendNamesRecvData(project);
- }
- sendInt(files.size());
- for (final String filename : files) {
- sendString(filename);
- final IFile file = project.getFile(filename);
- final int len = recvInt();
- final byte[] buffer = new byte[len];
- int off = 0;
- while (off < len) {
- off += socketInputStream.read(buffer, off, len - off);
- }
- final InputStream inputStream = new ByteArrayInputStream(buffer);
- if (file.exists()) {
- file.setContents(inputStream, true, true, progressMonitor);
- inputStream.close();
- }
- else {
- file.create(inputStream, true, progressMonitor);
- inputStream.close();
- }
- }
-
- closeConnection();
- project.refreshLocal(IResource.DEPTH_INFINITE, progressMonitor);
- }
-
- /*
- * Sends the String. Assumes connection is already established.
- */
- protected static void sendString(String string) throws IOException {
- sendInt(string.length());
- socketOutputStream.write(string.getBytes());
- }
-
- /*
- * Thread safe way to change the job state.
- */
- public static void setJobState(JobState newState) {
- jobsLock.lock();
- jobState = newState;
- jobsLock.unlock();
- }
-
- /*
- * This creates a popup that displays an error message. The Eclipse ErrorDialog didn't work in Juno after several attempts.
- */
- public static void showErrorDialog(final String title, final String message) {
- JOptionPane.showMessageDialog(null, message, title, JOptionPane.ERROR_MESSAGE);
- }
-
- /*
- * Thread safe way to start a job. No job will be started if an other job is running. Be sure to call setJobState(JobState.None)
- * after the job is done, or no more jobs can execute via this method.
- */
- public static void startJob(Job job) {
- jobsLock.lock();
- try {
- if (jobState == JobState.None) {
- GIGUtilities.job = job;
- job.setPriority(Job.LONG);
- progressMonitor = new NullProgressMonitor();
- progressMonitor.setCanceled(false);
- job.schedule();
- jobState = JobState.Running;
- }
- } finally {
- jobsLock.unlock();
- }
- }
-
- /*
- * Starts a UIJob. No need to attach a progress monitor or anything as canceling occurs in the UI thread anyways. As such, these
- * jobs should be relatively short.
- */
- public static void startJob(UIJob job) {
- job.setPriority(Job.INTERACTIVE);
- job.schedule();
- }
-
- /*
- * Used to correctly stop the job midway through for both canceling and exiting purposes.
- */
- public static void stopJob() {
- jobsLock.lock();
- if (jobState == JobState.Running) {
- progressMonitor.setCanceled(true);
- jobState = JobState.Canceled;
- jobsLock.unlock();
- int i = 1000;
- /*
- * We are waiting and giving the job time to cleanly exit itself, it will signal us by changing the jobState to
- * None.
- * Or we wait for timeout and kill it with a cancel
- */
- while (jobState == JobState.Canceled && i > 0) {
- try {
- Thread.sleep(1);
- i--;
- } catch (final InterruptedException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INTERRUPTED_EXCEPTION, e));
- }
- }
- if (i <= 0) {
- job.cancel();
- job = null;
- jobsLock.lock();
- jobState = JobState.None;
- jobsLock.unlock();
- }
- }
- else {
- jobsLock.unlock();
- }
- }
-} \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IllegalCommandException.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IllegalCommandException.java
deleted file mode 100644
index 67bcfefba..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IllegalCommandException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-public class IllegalCommandException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 5605030317888346245L;
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IncorrectPasswordException.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IncorrectPasswordException.java
deleted file mode 100644
index 6cf572fa3..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/IncorrectPasswordException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-public class IncorrectPasswordException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 6391767406115836206L;
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectNotFoundException.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectNotFoundException.java
deleted file mode 100644
index 7500daa2c..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectNotFoundException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-public class ProjectNotFoundException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 8617994370246627321L;
-
- public ProjectNotFoundException(String projectName) {
- super(projectName);
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToRecv.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToRecv.java
deleted file mode 100644
index e1aac71c9..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToRecv.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ptp.internal.gig.views.ServerTreeItem;
-
-/*
- * Facilitates the receiving of data into a project via the import.
- */
-public class ProjectToRecv {
-
- private final List<FolderToRecv> folders = new ArrayList<FolderToRecv>();
- private final List<String> files = new ArrayList<String>();
-
- /*
- * Adds the item and all folders it is contained in.
- * If addAll is true and item is a folder, then all items in it will also be added.
- * Returns it as a folder if it is a folder, null otherwise
- */
- public FolderToRecv add(ServerTreeItem item, boolean addAll) {
- final ServerTreeItem parentItem = item.getParent();
- if (parentItem.getParent() == null) {
- if (item.isFolder()) {
- FolderToRecv targetFolder = null;
- for (final FolderToRecv folder : folders) {
- if (item.getName().equals(folder.getName())) {
- targetFolder = folder;
- break;
- }
- }
- if (targetFolder != null) {
- if (addAll) {
- targetFolder.addAll(item.getChildren());
- }
- return targetFolder;
- }
- else {
- targetFolder = new FolderToRecv(item.getName());
- folders.add(targetFolder);
- if (addAll) {
- targetFolder.addAll(item.getChildren());
- }
- return targetFolder;
- }
- }
- else {
- files.add(item.getName());
- return null;
- }
- }
- else {
- final FolderToRecv parentFolder = this.add(parentItem, false);
- if (item.isFolder()) {
- final FolderToRecv folder = parentFolder.getFolder(item.getName());
- if (addAll) {
- folder.addAll(item.getChildren());
- }
- return folder;
- }
- else {
- parentFolder.add(item.getName());
- return null;
- }
- }
- }
-
- /*
- * see GIGUtilites.sendNamesRecvData
- */
- public void sendNamesRecvData(IProject project) throws IOException, IncorrectPasswordException, CoreException,
- IllegalCommandException {
- GIGUtilities.sendNamesRecvData(project, folders, files);
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToSend.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToSend.java
deleted file mode 100644
index 092226eea..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/util/ProjectToSend.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.util;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/*
- * Facilitates in sending folders and files
- */
-public class ProjectToSend {
- private final List<FolderToSend> foldersToSend = new ArrayList<FolderToSend>();
- private final List<IFile> filesToSend = new ArrayList<IFile>();
-
- /*
- * Argument is a folder to be added to the project, if already there, merge
- */
- public void add(FolderToSend folderToSend) {
- for (final FolderToSend curr : foldersToSend) {
- if (curr.getName().equals(folderToSend.getName())) {
- curr.add(folderToSend.foldersToSend, folderToSend.filesToSend);
- return;
- }
- }
- foldersToSend.add(folderToSend);
- }
-
- /*
- * Adds the specified file.
- */
- public void add(IFile file) {
- if (file.getFullPath().segmentCount() > 2) {
- final FolderToSend fts = new FolderToSend(file);
- this.add(fts);
- }
- else {
- this.filesToSend.add(file);
- }
- }
-
- /*
- * sends this project. Assumes connection is already established.
- */
- public void send() throws IOException, CoreException {
- GIGUtilities.sendInt(foldersToSend.size());
- for (final FolderToSend fts : foldersToSend) {
- fts.send();
- }
- GIGUtilities.sendInt(filesToSend.size());
- for (final IFile file : filesToSend) {
- GIGUtilities.sendFile(file);
- }
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/GIGView.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/GIGView.java
deleted file mode 100644
index d76e1ec69..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/GIGView.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.log.GkleeLog;
-import org.eclipse.ptp.internal.gig.log.OrganizedThreadInfo;
-import org.eclipse.ptp.internal.gig.log.WarpDivergence;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.part.ViewPart;
-
-/*
- * This view displays the contents of a log file more intuitively and interactively.
- */
-public class GIGView extends ViewPart {
-
- public static final String ID = "org.eclipse.ptp.gig.views.GIGView"; //$NON-NLS-1$
- private static GIGView view;
-
- public static GIGView getDefault() {
- return view;
- }
-
- private Tree memoryCoalescingTree, bankConflictTree, warpDivergenceTree, deadlockTree, raceTree, otherTree;
-
- private CTabItem memoryCoalescingTab, bankConflictTab, warpDivergenceTab, deadlockTab, raceTab, otherTab;
- private CTabFolder cTabFolder;
-
- private IAction cancelAction;
-
- public GIGView() {
- super();
- view = this;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- final GridLayout parentLayout = new GridLayout();
- parentLayout.marginHeight = 10;
- parentLayout.marginWidth = 10;
- parentLayout.numColumns = 1;
-
- cancelAction = new Action() {
- @Override
- public void run() {
- GIGUtilities.doCancel();
- }
- };
- cancelAction.setText(Messages.CANCEL);
- cancelAction.setToolTipText(Messages.CANCEL);
- cancelAction.setImageDescriptor(GIGPlugin.getImageDescriptor("icons/terminatedlaunch_obj.gif")); //$NON-NLS-1$
- this.getViewSite().getActionBars().getToolBarManager().add(cancelAction);
-
- cTabFolder = new CTabFolder(parent, SWT.TOP);
-
- reset();
- }
-
- /*
- * This is the way to refresh this view's tab items.
- */
- private void reset() {
- final CTabItem[] cTabItems = cTabFolder.getItems();
- for (final CTabItem cTabItem : cTabItems) {
- cTabItem.dispose();
- }
-
- CTabItem cTabItem;
-
- int i = 0;
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.RACES);
- this.raceTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.raceTree);
- this.raceTab = cTabItem;
-
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.DEADLOCKS);
- this.deadlockTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.deadlockTree);
- this.deadlockTab = cTabItem;
-
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.BANK_CONFLICTS);
- this.bankConflictTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.bankConflictTree);
- this.bankConflictTab = cTabItem;
-
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.WARP_DIVERGENCE);
- this.warpDivergenceTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.warpDivergenceTree);
- this.warpDivergenceTab = cTabItem;
-
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.MEMORY_COALESCING);
- this.memoryCoalescingTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.memoryCoalescingTree);
- this.memoryCoalescingTab = cTabItem;
-
- cTabItem = new CTabItem(cTabFolder, SWT.NONE, i++);
- cTabItem.setText(Messages.OTHER);
- this.otherTree = new Tree(cTabFolder, SWT.NONE);
- cTabItem.setControl(this.otherTree);
- this.otherTab = cTabItem;
- }
-
- @Override
- public void setFocus() {
- }
-
- /*
- * Takes a GkleeLog and updates this views components based on it.
- * Run this only on thread with UI access
- */
- public void update(GkleeLog gkleeLog, IProject project) {
- reset();
- updateMemoryCoalescing(gkleeLog, project);
- updateBankConflicts(gkleeLog, project);
- updateWarpDivergence(gkleeLog, project);
- updateDeadlocks(gkleeLog, project);
- updateOther(gkleeLog, project);
- updateRaces(gkleeLog, project);
- }
-
- /*
- * Updates the Bank Conflicts Tab
- */
- private void updateBankConflicts(GkleeLog gkleeLog, IProject project) {
- this.bankConflictTree.clearAll(true);
- Image image;
- final int rate = gkleeLog.getBankConflictRate();
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- if (rate > preferenceStore.getDefaultInt(Messages.BANK_CONFLICT_HIGH)) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- }
- else if (rate > preferenceStore.getDefaultInt(Messages.BANK_CONFLICT_LOW)) {
- image = GIGPlugin.getImageDescriptor("icons/icon_warning.gif").createImage(); //$NON-NLS-1$
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- }
- this.bankConflictTab.setImage(image);
- gkleeLog.getBankConflictStats().setupTree(this.bankConflictTree, null);
- gkleeLog.getRrbc().setupTree(this.bankConflictTree, Messages.READ_READ_BANK_CONFLICT,
- Messages.NO + Messages.READ_READ_BANK_CONFLICT, Messages.READ_READ_BANK_CONFLICT, project);
- gkleeLog.getRwbc().setupTree(this.bankConflictTree, Messages.READ_WRITE_BANK_CONFLICT,
- Messages.NO + Messages.READ_WRITE_BANK_CONFLICT, Messages.READ_WRITE_BANK_CONFLICT, project);
- gkleeLog.getWwbc().setupTree(this.bankConflictTree, Messages.WRITE_WRITE_BANK_CONFLICT,
- Messages.NO + Messages.WRITE_WRITE_BANK_CONFLICT, Messages.WRITE_WRITE_BANK_CONFLICT, project);
- }
-
- /*
- * Updates the Deadlocks Tab
- */
- private void updateDeadlocks(GkleeLog gkleeLog, IProject project) {
- this.deadlockTree.clearAll(true);
- Image image;
- boolean potential, deadlock;
- OrganizedThreadInfo deadlocks, potentialSame, potentialVaried;
- deadlocks = gkleeLog.getDeadlocks();
- potentialSame = gkleeLog.getPotentialSame();
- potentialVaried = gkleeLog.getPotentialVaried();
- deadlock = !deadlocks.isEmpty();
- if (deadlock) {
- image = GIGPlugin.getImageDescriptor("icons/icon_error.gif").createImage(); //$NON-NLS-1$
- }
- else {
- potential = !(potentialSame.isEmpty() && potentialVaried.isEmpty());
- if (potential) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- }
- }
- this.deadlockTab.setImage(image);
- deadlocks.setupTree(this.deadlockTree, Messages.DEADLOCKS, Messages.NO_DEADLOCK, Messages.DEADLOCKS, project);
- potentialSame.setupTree(this.deadlockTree, Messages.POTENTIAL_DEADLOCK_SAME_LENGTH, Messages.NO
- + Messages.POTENTIAL_DEADLOCK_SAME_LENGTH, Messages.POTENTIAL_DEADLOCK_SAME_LENGTH, project);
- potentialVaried.setupTree(this.deadlockTree, Messages.POTENTIAL_DEADLOCK_VARIED_LENGTH, Messages.NO
- + Messages.POTENTIAL_DEADLOCK_VARIED_LENGTH, Messages.POTENTIAL_DEADLOCK_VARIED_LENGTH, project);
- }
-
- /*
- * Updates the Memory Coalescing Tab
- */
- private void updateMemoryCoalescing(GkleeLog gkleeLog, IProject project) {
- this.memoryCoalescingTree.clearAll(true);
- Image image;
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- final int rate = gkleeLog.getMemoryCoalescingRate();
- if (rate < preferenceStore.getDefaultInt(Messages.MEMORY_COALESCING_HIGH)) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- }
- else if (rate < preferenceStore.getDefaultInt(Messages.MEMORY_COALESCING_LOW)) {
- image = GIGPlugin.getImageDescriptor("icons/icon_warning.gif").createImage(); //$NON-NLS-1$
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- }
- this.memoryCoalescingTab.setImage(image);
- gkleeLog.getMemoryCoalescingStats().setupTree(this.memoryCoalescingTree, gkleeLog.getMemoryCoalescingLocation());
- gkleeLog.getMemoryCoalescing().setupTree(this.memoryCoalescingTree, Messages.NONCOALESCED_GLOBAL_MEMORY_ACCESSES,
- Messages.NO + Messages.NONCOALESCED_GLOBAL_MEMORY_ACCESSES, Messages.NONCOALESCED_GLOBAL_MEMORY_ACCESS, project);
- }
-
- /*
- * Updates the Other tab
- */
- private void updateOther(GkleeLog gkleeLog, IProject project) {
- this.otherTree.clearAll(true);
- Image image;
- OrganizedThreadInfo missingVolatile, assertion;
- missingVolatile = gkleeLog.getMissingVolatile();
- assertion = gkleeLog.getAssertions();
- final boolean other = !(missingVolatile.isEmpty() && assertion.isEmpty());
- if (other) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- }
- this.otherTab.setImage(image);
-
- assertion.setupTree(this.otherTree, Messages.ASSERTION_VIOLATION, Messages.NO + Messages.ASSERTION_VIOLATION,
- Messages.ASSERTION_VIOLATION, project);
- missingVolatile.setupTree(this.otherTree, Messages.MISSING_VOLATILE, Messages.NO + Messages.MISSING_VOLATILE,
- Messages.MISSING_VOLATILE, project);
- }
-
- /*
- * Updates the Data Races tab
- */
- private void updateRaces(GkleeLog gkleeLog, IProject project) {
- this.raceTree.clearAll(true);
- Image image;
- OrganizedThreadInfo wwrwb, wwrw, wwrawb, wwraw, rwraw, wwbdb, wwbd, rwbd, rw, ww;
- wwrwb = gkleeLog.getWwrwb();
- wwrw = gkleeLog.getWwrw();
- wwrawb = gkleeLog.getWwrawb();
- wwraw = gkleeLog.getWwraw();
- rwraw = gkleeLog.getRwraw();
- wwbdb = gkleeLog.getWwbdb();
- wwbd = gkleeLog.getWwbd();
- rwbd = gkleeLog.getRwbd();
- rw = gkleeLog.getRw();
- ww = gkleeLog.getWw();
- final boolean races = !(wwrwb.isEmpty() && wwrw.isEmpty() && wwrawb.isEmpty() && wwraw.isEmpty() && rwraw.isEmpty()
- && wwbdb.isEmpty() && wwbd.isEmpty() && rwbd.isEmpty() && rw.isEmpty() && ww.isEmpty());
- if (races) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- wwrwb.setupTree(this.raceTree, Messages.WWRWB, null, Messages.WWRWB, project);
- wwrw.setupTree(this.raceTree, Messages.WWRW, null, Messages.WWRW, project);
- wwrawb.setupTree(this.raceTree, Messages.WWRAWB, null, Messages.WWRAWB, project);
- wwraw.setupTree(this.raceTree, Messages.WWRAW, null, Messages.WWRAW, project);
- rwraw.setupTree(this.raceTree, Messages.RWRAW, null, Messages.RWRAW, project);
- wwbdb.setupTree(this.raceTree, Messages.WWBDB, null, Messages.WWBDB, project);
- wwbd.setupTree(this.raceTree, Messages.WWBD, null, Messages.WWBD, project);
- rwbd.setupTree(this.raceTree, Messages.RWBD, null, Messages.RWBD, project);
- rw.setupTree(this.raceTree, Messages.RW, null, Messages.RW, project);
- ww.setupTree(this.raceTree, Messages.WW, null, Messages.WW, project);
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- final TreeItem item = new TreeItem(raceTree, SWT.NONE);
- item.setText(Messages.NO + Messages.RACES);
- }
- this.raceTab.setImage(image);
- }
-
- /*
- * Updates the warp divergence tab.
- */
- private void updateWarpDivergence(GkleeLog gkleeLog, IProject project) {
- this.warpDivergenceTree.clearAll(true);
- Image image;
- final int rate = gkleeLog.getWarpDivergenceRate();
- final IPreferenceStore preferenceStore = GIGPlugin.getDefault().getPreferenceStore();
- if (rate > preferenceStore.getDefaultInt(Messages.WARP_DIVERGENCE_HIGH)) {
- image = GIGPlugin.getImageDescriptor("icons/errorwarning_tab.gif").createImage(); //$NON-NLS-1$
- }
- else if (rate > preferenceStore.getDefaultInt(Messages.WARP_DIVERGENCE_LOW)) {
- image = GIGPlugin.getImageDescriptor("icons/icon_warning.gif").createImage(); //$NON-NLS-1$
- }
- else {
- image = GIGPlugin.getImageDescriptor("icons/no-error.gif").createImage(); //$NON-NLS-1$
- }
- this.warpDivergenceTab.setImage(image);
- gkleeLog.getWarpDivergenceStats().setupTree(this.warpDivergenceTree, null);
- TreeItem treeItem, subTreeItem, subSubTreeItem;
- final List<WarpDivergence> warpDivergences = gkleeLog.getWarpDivergences();
- final int size = warpDivergences.size();
- for (int i = 0; i < size; i++) {
- final WarpDivergence warpDivergence = warpDivergences.get(i);
- treeItem = new TreeItem(this.warpDivergenceTree, SWT.NONE);
- final List<int[]> sets = warpDivergence.getSets();
- if (sets.size() > 1) {
- treeItem.setText(String.format(Messages.WARP_DIVERGES_INTO_FOLLOWING_SETS, warpDivergence.getWarpNumber()));
- for (int j = 0; j < sets.size(); j++) {
- subTreeItem = new TreeItem(treeItem, SWT.NONE);
- subTreeItem.setText(String.format(Messages.SET, j));
- final StringBuilder stringBuilder = new StringBuilder();
- final int[] set = sets.get(j);
- for (final int element : set) {
- stringBuilder.append(element + ", "); //$NON-NLS-1$
- }
- subSubTreeItem = new TreeItem(subTreeItem, SWT.NONE);
- subSubTreeItem.setText(stringBuilder.toString());
- }
- }
- else {
- treeItem.setText(String.format(Messages.WARP_DOES_NOT_DIVERGE, warpDivergence.getWarpNumber()));
- }
- }
- }
-
- public void cleanTrees() {
- reset();
- }
-} \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerContentProvider.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerContentProvider.java
deleted file mode 100644
index c9857846c..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerContentProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/*
- * The content provider for the ServerView's tree
- */
-public class ServerContentProvider implements ITreeContentProvider {
-
- @Override
- public void dispose() {
- }
-
- @Override
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof ServerTreeItem) {
- final ServerTreeItem item = (ServerTreeItem) parentElement;
- return item.getChildren();
- }
- return null;
- }
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof ServerTreeItem) {
- final ServerTreeItem item = (ServerTreeItem) inputElement;
- return item.getChildren();
- }
- return null;
- }
-
- @Override
- public Object getParent(Object element) {
- if (element instanceof ServerTreeItem) {
- final ServerTreeItem item = (ServerTreeItem) element;
- return item.getParent();
- }
- return null;
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof ServerTreeItem) {
- final ServerTreeItem item = (ServerTreeItem) element;
- return item.hasChildren();
- }
- return false;
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- }
-
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerLabelProvider.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerLabelProvider.java
deleted file mode 100644
index f820dcf01..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerLabelProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.swt.graphics.Image;
-
-/*
- * The Label Provider for the ServerView's tree.
- */
-public class ServerLabelProvider extends LabelProvider {
-
- @Override
- public Image getImage(Object object) {
- final ServerTreeItem item = (ServerTreeItem) object;
- if (item.isFolder()) {
- return GIGPlugin.getImageDescriptor("icons/fldr_obj.gif").createImage(); //$NON-NLS-1$
- }
- return GIGPlugin.getImageDescriptor("icons/file_obj.gif").createImage(); //$NON-NLS-1$
- }
-
- @Override
- public String getText(Object element) {
- final ServerTreeItem item = (ServerTreeItem) element;
- return item.getName();
- }
-} \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItem.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItem.java
deleted file mode 100644
index 48c788a7a..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItem.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/*
- * An item from the ServerView's tree. Either a file or a folder with a (possibly empty) list of children.
- */
-public class ServerTreeItem {
-
- private final List<ServerTreeItem> children = new ArrayList<ServerTreeItem>();
- private final ServerTreeItem parent;
- private final String name;
- private final boolean isFolder;
-
- /*
- * This is for items contained directly by the project.
- */
- public ServerTreeItem(String name) {
- this.name = name;
- this.parent = null;
- this.isFolder = true;
- }
-
- /*
- * This is for items contained by some other part of the tree.
- */
- public ServerTreeItem(String name, ServerTreeItem parent, boolean isFolder) {
- this.name = name;
- this.parent = parent;
- parent.add(this);
- this.isFolder = isFolder;
- }
-
- /*
- * adds the serverTreeItem to the children
- */
- private void add(ServerTreeItem serverTreeItem) {
- children.add(serverTreeItem);
- }
-
- @Override
- public boolean equals(Object o) {
- if (o instanceof ServerTreeItem) {
- final ServerTreeItem item = (ServerTreeItem) o;
- if (this.parent == null) {
- if (item.parent == null) {
- return true;
- }
- else {
- return false;
- }
- }
- else {
- if (item.parent == null) {
- return false;
- }
- else {
- return this.name.equals(item.name) && this.parent.equals(item.parent);
- }
- }
- }
- return false;
- }
-
- /*
- * Returns the children.
- */
- public Object[] getChildren() {
- return children.toArray();
- }
-
- /*
- * returns the relative path of this
- */
- public String getFullName() {
- if (parent.parent == null) {
- return name;
- }
- // we want the linux file separator, since this is the one that the server will use
- return parent.getFullName() + '/' + name;
- }
-
- public String getName() {
- return name;
- }
-
- public ServerTreeItem getParent() {
- return parent;
- }
-
- public boolean hasChildren() {
- return children.size() > 0;
- }
-
- public boolean isFolder() {
- return isFolder;
- }
-
- @Override
- public String toString() {
- return name;
- }
-
-} \ No newline at end of file
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItemSorter.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItemSorter.java
deleted file mode 100644
index fec1eec25..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerTreeItemSorter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/*
- * This is the Sorter that sorts for the ServerView's Tree.
- */
-public class ServerTreeItemSorter extends ViewerSorter {
-
- @Override
- public int category(Object a) {
- // We generally want the folders first, the files second.
- final ServerTreeItem item = (ServerTreeItem) a;
- if (item.isFolder()) {
- return 1;
- }
- else {
- return 2;
- }
- }
-
- @Override
- public int compare(Viewer viewer, Object a, Object b) {
- final ServerTreeItem item1 = (ServerTreeItem) a;
- final ServerTreeItem item2 = (ServerTreeItem) b;
- return item1.getName().compareTo(item2.getName());
- }
-}
diff --git a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerView.java b/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerView.java
deleted file mode 100644
index f77d26117..000000000
--- a/tools/gig/org.eclipse.ptp.gig/src/org/eclipse/ptp/internal/gig/views/ServerView.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Brandon Gibson
- * 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
- *
- * Contributors:
- * Brandon Gibson - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.ptp.internal.gig.views;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.ptp.internal.gig.GIGPlugin;
-import org.eclipse.ptp.internal.gig.messages.Messages;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities;
-import org.eclipse.ptp.internal.gig.util.GIGUtilities.JobState;
-import org.eclipse.ptp.internal.gig.util.IllegalCommandException;
-import org.eclipse.ptp.internal.gig.util.IncorrectPasswordException;
-import org.eclipse.ptp.internal.gig.util.ProjectNotFoundException;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-/*
- * This view is for interactions with the server.
- */
-public class ServerView extends ViewPart {
-
- public static final String ID = "org.eclipse.ptp.gig.views.ServerView"; //$NON-NLS-1$
-
- public static ServerView getDefault() {
- return serverView;
- }
-
- private TreeViewer treeViewer;
- private IAction importAction, resetAction, deleteAction, verifyAction;
-
- private static ServerView serverView;
-
- public ServerView() {
- super();
- serverView = this;
- }
-
- @Override
- public void createPartControl(Composite parent) {
- treeViewer = new TreeViewer(parent);
-
- importAction = new Action() {
- @Override
- public void run() {
- try {
- startImport();
- } catch (final ProjectNotFoundException e) {
- GIGUtilities.showErrorDialog(Messages.PROJECT_NOT_FOUND, Messages.PROJECT_NOT_FOUND_MESSAGE);
- }
- }
- };
- importAction.setText(Messages.IMPORT);
- importAction.setToolTipText(Messages.IMPORT);
- importAction.setImageDescriptor(GIGPlugin.getImageDescriptor("icons/import.gif")); //$NON-NLS-1$
-
- resetAction = new Action() {
- @Override
- public void run() {
- reset();
- }
- };
- resetAction.setText(Messages.REFRESH);
- resetAction.setToolTipText(Messages.REFRESH);
- resetAction.setImageDescriptor(GIGPlugin.getImageDescriptor("icons/refresh.gif")); //$NON-NLS-1$
-
- deleteAction = new Action() {
- @Override
- public void run() {
- deleteRemoteFiles();
- }
- };
- deleteAction.setText(Messages.DELETE_REMOTE_FILE);
- deleteAction.setToolTipText(Messages.DELETE_REMOTE_FILE);
- deleteAction.setImageDescriptor(GIGPlugin.getImageDescriptor("icons/delete_obj.gif")); //$NON-NLS-1$
-
- verifyAction = new Action() {
- @Override
- public void run() {
- try {
- prepareVerifySelection();
- } catch (final ProjectNotFoundException e) {
- GIGUtilities.showErrorDialog(Messages.PROJECT_NOT_FOUND, Messages.PROJECT_NOT_FOUND_MESSAGE);
- }
- }
- };
- verifyAction.setText(Messages.RUN_GKLEE);
- verifyAction.setToolTipText(Messages.RUN_GKLEE);
- verifyAction.setImageDescriptor(GIGPlugin.getImageDescriptor("icons/trident.png")); //$NON-NLS-1$
-
- final MenuManager menuManager = new MenuManager("#PopupMenu"); //$NON-NLS-1$
- menuManager.setRemoveAllWhenShown(true);
- menuManager.addMenuListener(new IMenuListener() {
-
- @Override
- public void menuAboutToShow(IMenuManager manager) {
- populateManager(manager);
- }
-
- });
- final Menu menu = menuManager.createContextMenu(this.treeViewer.getControl());
- this.treeViewer.getControl().setMenu(menu);
- this.getSite().registerContextMenu(menuManager, this.treeViewer);
-
- final IActionBars actionBars = this.getViewSite().getActionBars();
- final IToolBarManager toolBarManager = actionBars.getToolBarManager();
- menuManager.add(this.verifyAction);
- toolBarManager.add(this.verifyAction);
- menuManager.add(this.importAction);
- toolBarManager.add(this.importAction);
- menuManager.add(this.deleteAction);
- toolBarManager.add(this.deleteAction);
- menuManager.add(this.resetAction);
- toolBarManager.add(this.resetAction);
-
- reset();
- }
-
- /*
- * Entry point for deleting remote files.
- */
- protected void deleteRemoteFiles() {
- final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
- final Object[] objects = selection.toArray();
- try {
- GIGUtilities.deleteRemoteFiles(objects);
- this.reset();
- } catch (final IOException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final IncorrectPasswordException e) {
- GIGUtilities.showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, e));
- } catch (final IllegalCommandException e) {
- GIGUtilities.showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- }
- }
-
- /*
- * close to entry point for importing
- */
- private void doImport(final IProject project) {
- final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
- final Object[] objects = selection.toArray();
- final Job job = new Job(Messages.IMPORT) {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- GIGUtilities.importFoldersAndFiles(project, objects);
- return Status.OK_STATUS;
- } catch (final IOException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final IncorrectPasswordException e) {
- GIGUtilities.showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, e));
- } catch (final IllegalCommandException e) {
- GIGUtilities.showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- } catch (final CoreException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- }
- finally {
- GIGUtilities.setJobState(JobState.None);
- }
- return Status.CANCEL_STATUS;
- }
-
- };
- GIGUtilities.startJob(job);
-
- }
-
- /*
- * Populates the pop-up menu manager with these commands.
- */
- protected void populateManager(IMenuManager manager) {
- manager.add(this.verifyAction);
- manager.add(this.importAction);
- manager.add(this.deleteAction);
- manager.add(this.resetAction);
- }
-
- /*
- * Entry point for verification
- */
- protected void prepareVerifySelection() throws ProjectNotFoundException {
- final IProject project = GIGUtilities.getTargetProject();
- verifySelection(project);
- }
-
- /*
- * To be called from anywhere to reset this view. Does require the current thread to be the UI thread though.
- */
- public void reset() {
- final Object[] expandedElements = treeViewer.getExpandedElements();
- final IContentProvider contentProvider = new ServerContentProvider();
- treeViewer.setContentProvider(contentProvider);
- final IBaseLabelProvider labelProvider = new ServerLabelProvider();
- treeViewer.setLabelProvider(labelProvider);
- final ViewerSorter sorter = new ServerTreeItemSorter();
- treeViewer.setSorter(sorter);
- try {
- final ServerTreeItem treeRoot = GIGUtilities.getServerFoldersAndFilesRoot();
- treeViewer.setInput(treeRoot);
- for (final Object o : expandedElements) {
- treeViewer.expandToLevel(o, 1);
- }
- } catch (final IOException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final IncorrectPasswordException e) {
- GIGUtilities.showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, e));
- } catch (final IllegalCommandException e) {
- GIGUtilities.showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- }
- }
-
- @Override
- public void setFocus() {
- }
-
- /*
- * Entry point for import
- */
- public void startImport() throws ProjectNotFoundException {
- final IProject project = GIGUtilities.getTargetProject();
- doImport(project);
- }
-
- /*
- * Close to entry point for verification.
- */
- protected void verifySelection(final IProject project) {
- final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
- final Object[] objects = selection.toArray();
- if (objects.length != 1 || ((ServerTreeItem) objects[0]).isFolder()) {
- GIGUtilities.showErrorDialog(Messages.SELECTION_ERROR, Messages.SELECT_ONE_FILE);
- return;
- }
- final ServerTreeItem item = (ServerTreeItem) objects[0];
-
- // we need to ensure the GIGView has been lazily loaded, it is also good to bring it to the front
- final IWorkbench workbench = PlatformUI.getWorkbench();
- final IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- final IWorkbenchPage page = window.getActivePage();
- try {
- page.showView(GIGView.ID);
- GIGView.getDefault().cleanTrees();
- } catch (final PartInitException e) {
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.PART_INIT_EXCEPTION, e));
- }
- final Job job = new Job(Messages.RUN_GKLEE) {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- GIGUtilities.remoteVerifyFile(project, item);
- return Status.OK_STATUS;
- } catch (final IOException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.IO_EXCEPTION, e));
- } catch (final IncorrectPasswordException e) {
- GIGUtilities.showErrorDialog(Messages.INCORRECT_PASSWORD, Messages.INCORRECT_PASSWORD_MESSAGE);
- StatusManager.getManager().handle(
- new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.INCORRECT_PASSWORD, e));
- } catch (final IllegalCommandException e) {
- GIGUtilities.showErrorDialog(Messages.ILLEGAL_COMMAND, Messages.ILLEGAL_COMMAND_MESSAGE);
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.ILLEGAL_COMMAND, e));
- } catch (final CoreException e) {
- StatusManager.getManager().handle(new Status(IStatus.ERROR, GIGPlugin.PLUGIN_ID, Messages.CORE_EXCEPTION, e));
- } finally {
- GIGUtilities.setJobState(JobState.None);
- }
- return Status.CANCEL_STATUS;
- }
-
- };
- GIGUtilities.startJob(job);
- }
-}

Back to the top