diff options
author | Jeff Johnston | 2011-03-31 21:28:15 +0000 |
---|---|---|
committer | Jeff Johnston | 2011-03-31 21:28:15 +0000 |
commit | 38911fe1eb9c6e8456f26756f4c076842eb502c4 (patch) | |
tree | 32ff557ebcadef969bdea2ab5318a54b8a72bd99 /libhover | |
parent | eca01d6f6d035d93a15264210a16a3b2fa99ea63 (diff) | |
download | org.eclipse.linuxtools-38911fe1eb9c6e8456f26756f4c076842eb502c4.tar.gz org.eclipse.linuxtools-38911fe1eb9c6e8456f26756f4c076842eb502c4.tar.xz org.eclipse.linuxtools-38911fe1eb9c6e8456f26756f4c076842eb502c4.zip |
Add devhelp plug-ins.
Diffstat (limited to 'libhover')
63 files changed, 2114 insertions, 0 deletions
diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/.project new file mode 100644 index 0000000000..b0c96db476 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.linuxtools.cdt.libhover.devhelp-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/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/ChangeLog new file mode 100644 index 0000000000..69f5275fa9 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/ChangeLog @@ -0,0 +1,6 @@ +2011-03-31 Jeff Johnston <jjohnstn@redhat.com> + + * epl-v10.html: Initial check-in. + * feature.properties: Ditto. + * feature.xml: Ditto. + * license.html: Ditto.
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/build.properties new file mode 100644 index 0000000000..94bb8830ab --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/build.properties @@ -0,0 +1,4 @@ +bin.includes = feature.xml,\ + feature.properties,\ + license.html,\ + epl-v10.html diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/epl-v10.html b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/epl-v10.html new file mode 100644 index 0000000000..ed4b196655 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/epl-v10.html @@ -0,0 +1,328 @@ +<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 ("AGREEMENT"). 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'>"Contribution" 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'>"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style='font-size:10.0pt'>"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program. </span></p> + +<p><span style='font-size:10.0pt'>"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style='font-size:10.0pt'>"Recipient" 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 ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.</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 "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. </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]> <![endif]><o:p></o:p></p> + +</div> + +</body> + +</html>
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.properties new file mode 100644 index 0000000000..076fed75b4 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.properties @@ -0,0 +1,138 @@ +################################################################################# +# Copyright (c) 2008 Red Hat, Inc. +# 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: +# Red Hat Incorporated - initial API and implementation +################################################################################# +featureName=Library Hover help for devhelp documentation (Incubation) +description=Plugins for creating hover help from installed C devhelp documentation. +provider=Eclipse Linux Tools +copyright=Copyright 2011 Red Hat, Inc. +licenseURL=license.html +license=\ +Eclipse Foundation Software User Agreement\n\ +April 14, 2010\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.xml new file mode 100644 index 0000000000..391fe6cb9a --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/feature.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<feature + id="org.eclipse.linuxtools.cdt.libhover.devhelp" + label="%featureName" + version="0.7.1.qualifier" + provider-name="%provider"> + + <description url="http://www.example.com/description"> + %featureDescription + </description> + + <copyright url="http://www.example.com/copyright"> + %copyright + </copyright> + + <license url="http://www.example.com/license"> + %license + </license> + + <url> + <update label="Linux Tools Update Site" url="http://download.eclipse.org/technology/linuxtools/update"/> + </url> + + <requires> + <import plugin="org.eclipse.ui"/> + <import plugin="org.eclipse.core.runtime"/> + <import plugin="org.eclipse.help" version="3.5.0" match="greaterOrEqual"/> + <import plugin="org.eclipse.core.filesystem" version="1.3.0" match="greaterOrEqual"/> + <import plugin="org.eclipse.linuxtools.cdt.libhover" version="1.1.0" match="greaterOrEqual"/> + </requires> + + <plugin + id="org.eclipse.linuxtools.cdt.libhover.devhelp" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + +</feature> diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/license.html b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/license.html new file mode 100644 index 0000000000..c184ca36a9 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp-feature/license.html @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> +<title>Eclipse Foundation Software User Agreement</title> +</head> + +<body lang="EN-US"> +<h2>Eclipse Foundation Software User Agreement</h2> +<p>April 14, 2010</p> + +<h3>Usage Of Content</h3> + +<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p> + +<h3>Applicable Licenses</h3> + +<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. + For purposes of the EPL, "Program" will mean the Content.</p> + +<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p> + +<ul> + <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li> + <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li> + <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.</li> + <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li> +</ul> + +<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:</p> + +<ul> + <li>The top-level (root) directory</li> + <li>Plug-in and Fragment directories</li> + <li>Inside Plug-ins and Fragments packaged as JARs</li> + <li>Sub-directories of the directory named "src" of certain Plug-ins</li> + <li>Feature directories</li> +</ul> + +<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.</p> + +<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p> + +<ul> + <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li> + <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li> + <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li> + <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li> + <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li> +</ul> + +<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p> + + +<h3>Use of Provisioning Technology</h3> + +<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a + href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a> + ("Specification").</p> + +<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p> + +<ol> + <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.</li> + <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.</li> + <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li> +</ol> + +<h3>Cryptography</h3> + +<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.</p> + +<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p> +</body> +</html> diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.classpath b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.classpath new file mode 100644 index 0000000000..ad32c83a78 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.project new file mode 100644 index 0000000000..3c53f2576b --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.linuxtools.cdt.libhover.devhelp.tests</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/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.settings/org.eclipse.jdt.core.prefs b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..c642b71047 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Fri Feb 18 15:58:33 EST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/ChangeLog new file mode 100644 index 0000000000..296e719d82 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/ChangeLog @@ -0,0 +1,6 @@ +2011-03-31 Jeff Johnston <jjohnstn@redhat.com> + + * META-INF/MANIFEST.MF: Initial check-in. + * src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.java: Ditto. + * src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.java: Ditto. + * build.properties: ditto. diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..79c7e3ef7f --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Test +Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.devhelp.tests +Bundle-Version: 0.7.1.qualifier +Bundle-Activator: org.eclipse.linuxtools.cdt.libhover.devhelp.test.Activator +Require-Bundle: org.eclipse.core.runtime, + org.junit, + org.eclipse.linuxtools.cdt.libhover;bundle-version="1.1.0", + org.eclipse.linuxtools.cdt.libhover.devhelp;bundle-version="0.7.1", + org.eclipse.ui;bundle-version="3.6.0" +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.class Binary files differnew file mode 100644 index 0000000000..dbf5f082fb --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.class Binary files differnew file mode 100644 index 0000000000..370d43f78c --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/build.properties new file mode 100644 index 0000000000..34d2e4d2da --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.java new file mode 100644 index 0000000000..43ad04d3f1 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/Activator.java @@ -0,0 +1,30 @@ +package org.eclipse.linuxtools.cdt.libhover.devhelp.test; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class Activator implements BundleActivator { + + private static BundleContext context; + + static BundleContext getContext() { + return context; + } + + /* + * (non-Javadoc) + * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext bundleContext) throws Exception { + Activator.context = bundleContext; + } + + /* + * (non-Javadoc) + * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext bundleContext) throws Exception { + Activator.context = null; + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.java new file mode 100644 index 0000000000..e12664a958 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp.tests/src/org/eclipse/linuxtools/cdt/libhover/devhelp/test/CheckDevhelp.java @@ -0,0 +1,69 @@ +package org.eclipse.linuxtools.cdt.libhover.devhelp.test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.ObjectOutputStream; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; + +import junit.framework.TestCase; + +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.linuxtools.cdt.libhover.FunctionInfo; +import org.eclipse.linuxtools.cdt.libhover.LibHoverInfo; +import org.eclipse.linuxtools.cdt.libhover.LibhoverPlugin; +import org.eclipse.linuxtools.internal.cdt.libhover.LibHover; +import org.eclipse.linuxtools.internal.cdt.libhover.LibHoverLibrary; +import org.eclipse.linuxtools.internal.cdt.libhover.devhelp.ParseDevHelp; +import org.eclipse.linuxtools.internal.cdt.libhover.preferences.PreferenceConstants; + +public class CheckDevhelp extends TestCase { + + protected void setUp() throws Exception { + IPath p = LibhoverPlugin.getDefault().getStateLocation().append("C"); //$NON-NLS-1$ + File f = new File(p.toOSString()); + f.delete(); + } + + public void testParse() { + ParseDevHelp.DevHelpParser p = + new ParseDevHelp.DevHelpParser("/usr/share/gtk-doc/html"); + LibHoverInfo hover = p.parse(new NullProgressMonitor()); + assertTrue(hover != null); + Map<String, FunctionInfo> functions = hover.functions; + assertTrue(functions != null); + assertTrue(functions.size() > 0); + try { + // Now, output the LibHoverInfo for caching later + IPath location = LibhoverPlugin.getDefault().getStateLocation().append("C"); //$NON-NLS-1$ + File ldir = new File(location.toOSString()); + ldir.mkdir(); + location = location.append("devhelp.libhover"); //$NON-NLS-1$ + FileOutputStream f = new FileOutputStream(location.toOSString()); + ObjectOutputStream out = new ObjectOutputStream(f); + out.writeObject(hover); + out.close(); + } catch(Exception e) { + fail(); + } + IPreferenceStore ps = LibhoverPlugin.getDefault().getPreferenceStore(); + ps.setValue(PreferenceConstants.CACHE_EXT_LIBHOVER, true); + LibHover.getLibHoverDocs(); + Collection<LibHoverLibrary> c = LibHover.getLibraries(); + assertTrue(c.size() > 0); + boolean found = false; + for (Iterator<LibHoverLibrary> i = c.iterator(); i.hasNext();) { + LibHoverLibrary l = i.next(); + if (l.getName().equals("devhelp")) + found = true; + } + assertTrue(found); + } + + protected void tearDown() throws Exception { + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.classpath b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.classpath new file mode 100644 index 0000000000..ad32c83a78 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.project b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.project new file mode 100644 index 0000000000..45ac6ed0cd --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.linuxtools.cdt.libhover.devhelp</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/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.settings/org.eclipse.jdt.core.prefs b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b2b4ae1813 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Wed Jan 26 16:59:47 EST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/ChangeLog b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/ChangeLog new file mode 100644 index 0000000000..a956fbace4 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/ChangeLog @@ -0,0 +1,3 @@ +2011-03-31 Jeff Johnston <jjohnstn@redhat.com> + + * Initial check-in.
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/META-INF/MANIFEST.MF b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..31b9d9507e --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Devhelp +Bundle-SymbolicName: org.eclipse.linuxtools.cdt.libhover.devhelp; singleton:=true +Bundle-Version: 0.7.1.qualifier +Bundle-Activator: org.eclipse.linuxtools.cdt.libhover.devhelp.DevHelpPlugin +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.help;bundle-version="3.5.0", + org.eclipse.core.filesystem;bundle-version="1.3.0", + org.eclipse.linuxtools.cdt.libhover;bundle-version="1.1.0", + org.eclipse.linuxtools.cdt.libhover.library_docs;bundle-version="1.0.1" +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Package: org.eclipse.linuxtools.cdt.libhover.devhelp, + org.eclipse.linuxtools.internal.cdt.libhover.devhelp;x-friends:="org.eclipse.linuxtools.cdt.libhover.devhelp.tests", + org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences;x-friends:="org.eclipse.linuxtools.cdt.libhover.devhelp.tests" diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.class Binary files differnew file mode 100644 index 0000000000..3cd6a6fa12 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.class Binary files differnew file mode 100644 index 0000000000..179b07137b --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1$1.class Binary files differnew file mode 100644 index 0000000000..7889a37da7 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1.class Binary files differnew file mode 100644 index 0000000000..85b9a7a07f --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1.class Binary files differnew file mode 100644 index 0000000000..f53ba6cc52 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$DevhelpTopic.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$DevhelpTopic.class Binary files differnew file mode 100644 index 0000000000..cb1f798d5c --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider$DevhelpTopic.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.class Binary files differnew file mode 100644 index 0000000000..4370b5e09b --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$1.class Binary files differnew file mode 100644 index 0000000000..b7895e5599 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$2.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$2.class Binary files differnew file mode 100644 index 0000000000..f28f5746d5 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser$2.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser.class Binary files differnew file mode 100644 index 0000000000..97f7d0b576 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$DevHelpParser.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$Parser.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$Parser.class Binary files differnew file mode 100644 index 0000000000..248d51b16f --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$Parser.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$UpdateDevhelp.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$UpdateDevhelp.class Binary files differnew file mode 100644 index 0000000000..d9ff840eef --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp$UpdateDevhelp.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.class Binary files differnew file mode 100644 index 0000000000..fe78dab6d0 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.class Binary files differnew file mode 100644 index 0000000000..ebaf02b7e3 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.class Binary files differnew file mode 100644 index 0000000000..b5603ce79b --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties new file mode 100644 index 0000000000..c7766d7767 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties @@ -0,0 +1,17 @@ +################################################################################# +# Copyright (c) 2011 Red Hat, Inc. +# 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: +# Red Hat Incorporated - initial API and implementation +################################################################################# +Libhover.Devhelp.Directory=devhelp directory +Libhover.Devhelp.Regenerate=Regenerate devhelp hover +Libhover.Devhelp.Regenerate.msg=Generating Library Hover help for installed devhelp documentation +Libhover.Devhelp.Parsing.msg=Parsing the devhelp files +Libhover.Devhelp.Parsing.fmt.msg=Parsing the devhelp file for: {0} +Libhover.Devhelp.Generate.lbl=&Generate +Libhover.Devhelp.Preference.title=Library hover generation for devhelp documentation
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$1.class Binary files differnew file mode 100644 index 0000000000..f9331ed633 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2$1.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2$1.class Binary files differnew file mode 100644 index 0000000000..bb986e3280 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2$1.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2.class Binary files differnew file mode 100644 index 0000000000..08d8f14dc1 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$2.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$3.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$3.class Binary files differnew file mode 100644 index 0000000000..895db3947c --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$3.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$4.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$4.class Binary files differnew file mode 100644 index 0000000000..a5dc9c11de --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$4.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$DevhelpStringFieldEditor.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$DevhelpStringFieldEditor.class Binary files differnew file mode 100644 index 0000000000..ae60bdf383 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage$DevhelpStringFieldEditor.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.class Binary files differnew file mode 100644 index 0000000000..4100cef023 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.class Binary files differnew file mode 100644 index 0000000000..a1c0ae76b1 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.class b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.class Binary files differnew file mode 100644 index 0000000000..9493fa8c22 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/bin/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.class diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/build.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/build.properties new file mode 100644 index 0000000000..956d87b64c --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/build.properties @@ -0,0 +1,8 @@ +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + META-INF/,\ + .,\ + html/,\ + *.xml,\ + plugin.properties diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/maintopic.html b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/maintopic.html new file mode 100644 index 0000000000..a476078ace --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/maintopic.html @@ -0,0 +1,13 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>Main Topic</title> +</head> + +<body> +<h1>Main Topic</h1> +Please enter your text here. +</body> +</html>
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/subtopic.html b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/subtopic.html new file mode 100644 index 0000000000..8a61c501d6 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/subtopic.html @@ -0,0 +1,13 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>Sub Topic</title> +</head> + +<body> +<h1>Sub Topic</h1> +Please enter your text here. +</body> +</html>
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/toc.html b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/toc.html new file mode 100644 index 0000000000..326f0a9ff3 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/html/toc.html @@ -0,0 +1,13 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <title>Table of Contents</title> +</head> + +<body> +<h1>Table of Contents</h1> +Please enter your text here. +</body> +</html>
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.properties new file mode 100644 index 0000000000..0ec535a192 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.properties @@ -0,0 +1,11 @@ +################################################################################# +# Copyright (c) 2011 Red Hat, Inc. +# 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: +# Red Hat Incorporated - initial API and implementation +################################################################################# +Preferences.name=Devhelp
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.xml b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.xml new file mode 100644 index 0000000000..729cb6c383 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/plugin.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + + <extension + point="org.eclipse.help.toc"> + <tocProvider + class="org.eclipse.linuxtools.internal.cdt.libhover.devhelp.DevHelpTocProvider"> + </tocProvider> + </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + category="org.eclipse.linuxtools.cdt.libhover.preferences1" + class="org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences.LibHoverPreferencePage" + id="org.eclipse.linuxtools.cdt.libhover.devhelp.page1" + name="%Preferences.name"> + </page> + </extension> + <extension + point="org.eclipse.core.runtime.preferences"> + <initializer + class="org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences.PreferenceInitializer"> + </initializer> + </extension> + <extension + id="id1" + name="name" + point="org.eclipse.linuxtools.cdt.libhover.library"> + <library + location="/dev/null" + name="devhelp" + type="C"> + </library> + </extension> + <extension + point="org.eclipse.help.contentProducer"> + <contentProducer + producer="org.eclipse.linuxtools.internal.cdt.libhover.devhelp.DevHelpContentProducer"> + </contentProducer> + </extension> + +</plugin> diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.java new file mode 100644 index 0000000000..ebe7dd9a55 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/cdt/libhover/devhelp/DevHelpPlugin.java @@ -0,0 +1,61 @@ +package org.eclipse.linuxtools.cdt.libhover.devhelp; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class DevHelpPlugin extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.linuxtools.cdt.libhover.devhelp"; //$NON-NLS-1$ + + // The shared instance + private static DevHelpPlugin plugin; + + /** + * The constructor + */ + public DevHelpPlugin() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static DevHelpPlugin 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); + } +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.java new file mode 100644 index 0000000000..dcf3d68011 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpContentProducer.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Red Hat Inc. - Initial implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp; + +import java.io.InputStream; +import java.util.Locale; + +import org.eclipse.core.filesystem.EFS; +import org.eclipse.core.filesystem.IFileStore; +import org.eclipse.core.filesystem.IFileSystem; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; +import org.eclipse.help.IHelpContentProducer; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.linuxtools.cdt.libhover.devhelp.DevHelpPlugin; +import org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences.PreferenceConstants; + +public class DevHelpContentProducer implements IHelpContentProducer { + + @Override + public InputStream getInputStream(String pluginID, String href, + Locale locale) { + IPreferenceStore ps = DevHelpPlugin.getDefault().getPreferenceStore(); + IPath devhelpLocation = new Path(ps.getString(PreferenceConstants.DEVHELP_DIRECTORY)).append(href); + IFileSystem fs = EFS.getLocalFileSystem(); + IFileStore localLocation = fs.getStore(devhelpLocation); + InputStream stream = null; + try { + stream = localLocation.openInputStream(EFS.NONE, new NullProgressMonitor()); + } catch (CoreException e) { + // do nothing and return null + } + return stream; + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.java new file mode 100644 index 0000000000..5984e4a5d8 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/DevHelpTocProvider.java @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Red Hat Inc. - Initial implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; + +import org.eclipse.core.expressions.IEvaluationContext; +import org.eclipse.core.filesystem.EFS; +import org.eclipse.core.filesystem.IFileStore; +import org.eclipse.core.filesystem.IFileSystem; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.help.AbstractTocProvider; +import org.eclipse.help.IToc; +import org.eclipse.help.ITocContribution; +import org.eclipse.help.ITopic; +import org.eclipse.help.IUAElement; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.linuxtools.cdt.libhover.devhelp.DevHelpPlugin; +import org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences.PreferenceConstants; + +public class DevHelpTocProvider extends AbstractTocProvider { + + public DevHelpTocProvider() { + } + + private class DevhelpTopic implements ITopic { + + private String name; + + DevhelpTopic(String name) { + this.name = name; + } + + @Override + public boolean isEnabled(IEvaluationContext context) { + return true; + } + + @Override + public IUAElement[] getChildren() { + return new IUAElement[0]; + } + + @Override + public String getHref() { + return "/" + DevHelpPlugin.PLUGIN_ID + "/" + name + "/index.html"; // $NON-NLS-1$ //$NON-NLS-2$" //$NON-NLS-3$ + + } + + @Override + public String getLabel() { + return name; + } + + @Override + public ITopic[] getSubtopics() { + return null; + } + } + + @Override + public ITocContribution[] getTocContributions(String locale) { + // TODO Auto-generated method stub + ITocContribution contribution = new ITocContribution() { + public String getId() { + // a way to identify our book + return "org.eclipse.linuxtools.cdt.libhover.devhelp.toc"; //$NON-NLS-1$ + } + public String getCategoryId() { + // our book does not belong to any category of books + return null; + } + public boolean isPrimary() { + // this is a primary, top-level contribution (a book) + return true; + } + public IToc getToc() { + return new IToc() { + public String getLabel() { + return "Devhelp Documents"; //$NON-NLS-1$ + } + public String getHref() { + return null; + } + @Override + public boolean isEnabled(IEvaluationContext context) { + // TODO Auto-generated method stub + return true; + } + @Override + public IUAElement[] getChildren() { + // TODO Auto-generated method stub + return getTopics(); + } + @Override + public ITopic[] getTopics() { + try { + ArrayList<ITopic> topics = new ArrayList<ITopic>(); + IPreferenceStore ps = DevHelpPlugin.getDefault().getPreferenceStore(); + IPath devhelpLocation = new Path(ps.getString(PreferenceConstants.DEVHELP_DIRECTORY)); + IFileSystem fs = EFS.getLocalFileSystem(); + IFileStore htmlDir = fs.getStore(devhelpLocation); + IFileStore[] files = htmlDir.childStores(EFS.NONE, null); + Arrays.sort(files, new Comparator<IFileStore>() { + + @Override + public int compare(IFileStore arg0, IFileStore arg1) { + return (arg0.getName().compareToIgnoreCase(arg1.getName())); + } + + }); + for (int i = 0; i < files.length; ++i) { + IFileStore file = files[i]; + String name = file.fetchInfo().getName(); + ITopic topic = new DevhelpTopic(name); + topics.add(topic); + } + ITopic[] retval = new ITopic[topics.size()]; + return topics.toArray(retval); + } catch (CoreException e) { + } + return null; + } + @Override + public ITopic getTopic(String href) { + // TODO Auto-generated method stub + return null; + } + }; + } + public String getLocale() { + // this provider only provides content for the en_US locale + return "en_US"; //$NON-NLS-1$ + } + public String[] getExtraDocuments() { + // there are no extra documents associated with this book + return new String[0]; + } + public String getLinkTo() { + return "../org.eclipse.linuxtools.cdt.libhover.library_docs/libraries.xml#devhelpdocs"; + } + @Override + public String getContributorId() { + // TODO Auto-generated method stub + return "org.eclipse.linuxtools.cdt.libhover.devhelp"; //$NON-NLS-1$ + } + }; + return new ITocContribution[] { contribution }; + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.java new file mode 100644 index 0000000000..9c39f332d4 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/ParseDevHelp.java @@ -0,0 +1,469 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Red Hat Inc. - Initial implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.io.Reader; +import java.io.StringReader; +import java.util.Arrays; +import java.util.Comparator; + +import javax.swing.text.BadLocationException; +import javax.swing.text.MutableAttributeSet; +import javax.swing.text.html.HTML; +import javax.swing.text.html.HTMLEditorKit.ParserCallback; +import javax.swing.text.html.parser.ParserDelegator; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.eclipse.core.filesystem.EFS; +import org.eclipse.core.filesystem.IFileStore; +import org.eclipse.core.filesystem.IFileSystem; +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.Path; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.linuxtools.cdt.libhover.FunctionInfo; +import org.eclipse.linuxtools.cdt.libhover.LibHoverInfo; +import org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences.LibHoverMessages; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +public class ParseDevHelp { + + private final static String PARSING_MSG = "Libhover.Devhelp.Parsing.msg"; //$NON-NLS-1$ + private final static String PARSING_FMT_MSG = "Libhover.Devhelp.Parsing.fmt.msg"; //$NON-NLS-1$ + private static class Parser extends ParserCallback { + + private String func; + private boolean begin; + private boolean returnType; + private boolean protoStart; + private boolean parmStart; + private boolean descStart; + private boolean rowIgnore; + private boolean valid = true; + private String returnValue; + private String funcName; + private String rowTag; + private String prototype = new String(""); //$NON-NLS-1$ + private String description = new String(""); //$NON-NLS-1$ + private int divCounter; + private int rowItemCount; + + public Parser(String func, String funcName) { + this.func = func; + this.funcName = funcName.trim(); + if (this.funcName.endsWith("()")) //$NON-NLS-1$ + this.funcName = this.funcName.replaceAll("\\(\\)", "").trim(); //$NON-NLS-1$ //$NON-NLS-2$ + } + + public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) { + if (t == HTML.Tag.A) { + String name = (String)(a.getAttribute(HTML.Attribute.NAME)); + if (func.equals(name)) { + begin = true; + } + } + if (begin) { + if (t == HTML.Tag.DIV) { + ++divCounter; + } + if (!descStart) { + if (t == HTML.Tag.SPAN) { + String type = (String)a.getAttribute(HTML.Attribute.CLASS); + if (returnValue == null && type != null && + type.equals("returnvalue")) { //$NON-NLS-1$ + returnType = true; + } + } + if (t == HTML.Tag.PRE) { + String type = (String)a.getAttribute(HTML.Attribute.CLASS); + if (type != null && type.equals("programlisting")) //$NON-NLS-1$ + returnType = true; + } + } + if (protoStart) { + if (t == HTML.Tag.P) { + protoStart = false; + descStart = true;; + description += "<p>"; //$NON-NLS-1$ + } + } else if (descStart) { + if (t == HTML.Tag.P) { + description += "<p>"; //$NON-NLS-1$ + } + else if (t == HTML.Tag.TABLE) { + description += "<dl>"; //$NON-NLS-1$ + } + else if (t == HTML.Tag.TR) { + rowItemCount = 0; + } + else if (t == HTML.Tag.TD) { + String type = (String)a.getAttribute(HTML.Attribute.CLASS); + if (type != null && type.equals("listing_lines")) { //$NON-NLS-1$ + rowIgnore = true; + } else { + rowIgnore = false; + if (rowItemCount++ == 0) + rowTag = "<dt>"; //$NON-NLS-1$ + else + rowTag = "<dd>"; //$NON-NLS-1$ + description += rowTag; + } + } + } + } + } + + public void handleEndTag(HTML.Tag t, int pos) { + if (begin) { + if (t == HTML.Tag.DIV) { + --divCounter; +// System.out.println("divCounter is " + divCounter); + if (divCounter <= 0) { + begin = false; + try { + flush(); + } catch (BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + if (descStart) { + if (t == HTML.Tag.P) + description += "</p>"; //$NON-NLS-1$ + else if (t == HTML.Tag.TABLE) + description += "</dl>"; //$NON-NLS-1$ + else if (t == HTML.Tag.TR) { + rowItemCount = 0; + } + else if (t == HTML.Tag.TD) { + if (!rowIgnore) { + if (rowTag != null && rowTag.equals("<dt>")) //$NON-NLS-1$ + description += "</dt>"; //$NON-NLS-1$ + else + description += "</dd>"; //$NON-NLS-1$ + } + rowIgnore = false; + } + } + } + } + + public void handleText(char[] data, int pos) { + if (begin) { + if (returnType) { + returnValue = ""; //$NON-NLS-1$ + String tmp = String.valueOf(data).trim(); + boolean completed = false; + if (tmp.endsWith(");")) { //$NON-NLS-1$ + completed = true; + tmp = tmp.substring(0, tmp.length() - 2); + } + String tokens[] = tmp.split("\\s+"); //$NON-NLS-1$ + String separator = ""; //$NON-NLS-1$ + protoStart = true; + for (int i = 0; i < tokens.length; ++i) { + String token = tokens[i]; + if (!token.equals(funcName)) { + returnValue += separator + token; + separator = " "; //$NON-NLS-1$ + } else { + separator = ""; //$NON-NLS-1$ + for (int j = i + 1; j < tokens.length; ++j) { + String jtoken = tokens[j]; + if (j == i + 1 && jtoken.charAt(0) == '(') { + jtoken = jtoken.substring(1); + parmStart = true; + protoStart = false; + } + prototype += separator + jtoken; + separator = " "; + } + if (parmStart && completed) { + parmStart = false; + descStart = true; + } + break; + } + } + returnType = false; + } + else if (protoStart) { + String temp = String.valueOf(data).trim(); + boolean completed = false; + if (temp.endsWith(");")) { //$NON-NLS-1$ + completed = true; + temp = temp.substring(0, temp.length() - 2); + } + String separator = " "; + while (temp.startsWith("*") || temp.startsWith("const")) { //$NON-NLS-1$ + if (temp.charAt(0) == '*') { //$NON-NLS-1$ + returnValue += separator + "*"; //$NON-NLS-1$ + temp = temp.substring(1).trim(); + separator = ""; //$NON-NLS-1$ + } else { + returnValue += "const"; //$NON-NLS-1$ + temp = temp.substring(5).trim(); + separator = " "; + } + } + int index = temp.lastIndexOf('('); + int index2 = temp.lastIndexOf(')'); + if (index2 < index) { + if (index + 1 < temp.length()) { + temp = temp.substring(index + 1).trim(); + prototype += temp; + } + parmStart = true; + protoStart = false; + } + if (parmStart && completed) { + parmStart = false; + descStart = true; + } + } + else if (parmStart) { + String parmData = String.valueOf(data).trim(); + int index = parmData.indexOf(')'); + if (index >= 0) { + parmStart = false; + descStart = true; + parmData = parmData.substring(0, index); + } + if (!prototype.equals("")) { + if (!parmData.equals(",") && !parmData.equals("")) + parmData = " " + parmData; + } + prototype += parmData; + } + else if (descStart) { + if (!rowIgnore) + description += String.valueOf(data); + } + } + + } + + public FunctionInfo getFunctionInfo() { + if (!valid || returnValue == null || + returnValue.startsWith("#") || + returnValue.startsWith("typedef ")) + return null; + FunctionInfo info = new FunctionInfo(funcName); + info.setReturnType(returnValue); + info.setPrototype(prototype); + info.setDescription(description); + return info; + } + + public String getFuncName() { + return funcName; + } + + public String toString() { + return "funcName: <" + funcName + "> returnType: <" + returnValue + + "> prototype: <" + prototype + "> description: " + description; + } + + public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos) { + + } + + + } + + public static class DevHelpParser { + + private String dirName; + private LibHoverInfo libhover; + private boolean debug; + + public DevHelpParser(String dirName) { + this(dirName, false); + } + + public DevHelpParser(String dirName, boolean debug) { + this.dirName = dirName; + this.libhover = new LibHoverInfo(); + this.debug = debug; + } + + public LibHoverInfo getLibHoverInfo() { + return libhover; + } + + public LibHoverInfo parse(IProgressMonitor monitor) { + try { + IFileSystem fs = EFS.getLocalFileSystem(); + IPath dirPath = new Path(dirName); + IFileStore htmlDir = fs.getStore(dirPath); + IFileStore[] files = htmlDir.childStores(EFS.NONE, null); + monitor.beginTask(LibHoverMessages.getString(PARSING_MSG), files.length); + Arrays.sort(files, new Comparator<IFileStore>() { + @Override + public int compare(IFileStore arg0, IFileStore arg1) { + return (arg0.getName().compareToIgnoreCase(arg1.getName())); + } + }); + for (int i = 0; i < files.length; ++i) { + IFileStore file = files[i]; + String name = file.fetchInfo().getName(); + if (monitor.isCanceled()) + return null; + monitor.setTaskName(LibHoverMessages.getFormattedString(PARSING_FMT_MSG, + new String[]{name})); + parse(dirPath.append(name).append(name + ".devhelp").toOSString(), //$NON-NLS-1$ + monitor); + monitor.worked(1); + } + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return libhover; + } + + public void parse(String fileName, IProgressMonitor monitor) { + try { + Path path = new Path(fileName); + File f = new File(fileName); + FileInputStream stream = new FileInputStream(f); + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setValidating(false); + DocumentBuilder builder = factory.newDocumentBuilder(); + builder.setEntityResolver(new EntityResolver() + { + public InputSource resolveEntity(String publicId, String systemId) + throws SAXException, IOException + { + return new InputSource(new StringReader("")); //$NON-NLS-1$ + } + }); + Document doc = builder.parse(stream); + NodeList bookNodes = doc.getElementsByTagName("book"); //$NON-NLS-1$ + for (int x = 0; x < bookNodes.getLength(); ++x) { + Node n = bookNodes.item(x); + NamedNodeMap m = n.getAttributes(); + Node language = m.getNamedItem("language"); //$NON-NLS-1$ + if (language != null && !language.getNodeValue().equals("c")) + return; + } + NodeList nl = doc.getElementsByTagName("function"); // $NON-NLS-1$ + for (int i = 0; i < nl.getLength(); ++i) { + if (monitor.isCanceled()) + return; + Node n = nl.item(i); + NamedNodeMap m = n.getAttributes(); + Node name = m.getNamedItem("name"); // $NON-NLS-1$ + Node link = m.getNamedItem("link"); // $NON-NLS-1$ + if (link != null) { + String linkValue = link.getNodeValue(); + String[] linkParts = linkValue.split("#"); //$NON-NLS-1$ + if (linkParts.length == 2) { + try { + String nameString = name.getNodeValue(); + nameString = nameString.replaceAll("\\(.*\\);+", "").trim(); //$NON-NLS-1$ //$NON-NLS-2$ + if (nameString.contains("::") || nameString.startsWith("enum ") //$NON-NLS-1$ //$NON-NLS-2$ + || nameString.contains("\"")) //$NON-NLS-1$ + continue; + Reader reader = new FileReader(path.removeLastSegments(1).toOSString() + + "/" + linkParts[0]); //$NON-NLS-1$ + Parser callback = new Parser(linkParts[1], nameString); + new ParserDelegator().parse(reader, callback, true); + FunctionInfo finfo = callback.getFunctionInfo(); + if (finfo != null) { + if (debug) + System.out.println(callback.toString()); + libhover.functions.put(callback.getFuncName(), callback.getFunctionInfo()); + } + } catch (FileNotFoundException e1) { + // ignore + } + } + } + } + } catch (FileNotFoundException e1) { + // ignore + } catch (ParserConfigurationException e) { + e.printStackTrace(); + } catch (SAXException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public static class UpdateDevhelp extends Job { + + public UpdateDevhelp(String name) { + super(name); + // TODO Auto-generated constructor stub + } + + @Override + protected IStatus run(IProgressMonitor monitor) { + + return null; + } + } + + public static void main(String[] args) { + + String devhelpHtmlDirectory = args[0]; + DevHelpParser p = new DevHelpParser(devhelpHtmlDirectory); + File dir = new File(devhelpHtmlDirectory); + File[] files = dir.listFiles(); + for (int i = 0; i < files.length; ++i) { + File f = files[i]; + String name = f.getName(); + p.parse(f.getAbsolutePath() + "/" + name + ".devhelp", //$NON-NLS-1$ //$NON-NLS-2$ + new NullProgressMonitor()); + } + LibHoverInfo hover = p.getLibHoverInfo(); + try { + // Now, output the LibHoverInfo for caching later + IPath workspaceDir = new Path(args[1]); + IPath location = workspaceDir.append("org.eclipse.linuxtools.cdt.libhover/C"); //$NON-NLS-1$ + File ldir = new File(location.toOSString()); + ldir.mkdir(); + location = location.append("devhelp.libhover"); //$NON-NLS-1$ + FileOutputStream f = new FileOutputStream(location.toOSString()); + ObjectOutputStream out = new ObjectOutputStream(f); + out.writeObject(hover); + out.close(); + } catch(Exception e) { + e.printStackTrace(); + } + + System.out.println("Parse Complete"); //$NON-NLS-1$ + + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.java new file mode 100644 index 0000000000..dcbaccf229 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LabelFieldEditor.java @@ -0,0 +1,39 @@ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences; + +import org.eclipse.jface.preference.FieldEditor; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Composite; + +// Label class for a preference page. +class LabelFieldEditor extends FieldEditor { + private Composite parent; + + public LabelFieldEditor( Composite parent, String title ) { + this.parent = parent; + init("org.eclipse.linuxtools.cdt.libhover.dummy", title); + createControl(parent); + } + + protected void adjustForNumColumns( int numColumns ) { + GridData gd = new GridData(); + gd.horizontalSpan = numColumns; + // We only grab excess space if we have to + // If another field editor has more columns then + // we assume it is setting the width. + gd.grabExcessHorizontalSpace = gd.horizontalSpan == 1; + getLabelControl(parent).setLayoutData(gd); + } + + protected void doFillIntoGrid( Composite parent, int numColumns ) { + getLabelControl(parent); + } + + public int getNumberOfControls() { return 1; } + /** + * The label field editor is only used to present a text label on a preference page. + */ + protected void doLoad() {} + protected void doLoadDefault() {} + protected void doStore() {} +} + diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.java new file mode 100644 index 0000000000..b42d3b3bd0 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2002, 2006, 2007, 2011 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + * Red Hat Inc. - Modification to use with LibHover + *******************************************************************************/ + +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences; + +import java.text.MessageFormat; +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * MakefilePreferencesMessages + */ +public class LibHoverMessages { + + /** + * + */ + + private static final String RESOURCE_BUNDLE= LibHoverMessages.class.getName(); + + private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE); + + private LibHoverMessages() { + } + + public static ResourceBundle getResourceBundle() { + return fgResourceBundle; + } + + public static String getString(String key) { + try { + return fgResourceBundle.getString(key); + } catch (MissingResourceException e) { + return '!' + key + '!'; + } catch (NullPointerException e) { + return '#' + key + '#'; + } + } + + /** + * Returns the formatted string from the resource bundle, + * or 'key' if not found. + * + * @param key the message key + * @param args an array of substituition strings + * @return the resource bundle message + */ + public static String getFormattedString(String key, String[] args) { + return MessageFormat.format(getString(key), (Object[])args); + } + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties new file mode 100644 index 0000000000..c7766d7767 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverMessages.properties @@ -0,0 +1,17 @@ +################################################################################# +# Copyright (c) 2011 Red Hat, Inc. +# 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: +# Red Hat Incorporated - initial API and implementation +################################################################################# +Libhover.Devhelp.Directory=devhelp directory +Libhover.Devhelp.Regenerate=Regenerate devhelp hover +Libhover.Devhelp.Regenerate.msg=Generating Library Hover help for installed devhelp documentation +Libhover.Devhelp.Parsing.msg=Parsing the devhelp files +Libhover.Devhelp.Parsing.fmt.msg=Parsing the devhelp file for: {0} +Libhover.Devhelp.Generate.lbl=&Generate +Libhover.Devhelp.Preference.title=Library hover generation for devhelp documentation
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.java new file mode 100644 index 0000000000..feb37d0346 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/LibHoverPreferencePage.java @@ -0,0 +1,219 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat, Inc. + * 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: + * Red Hat Incorporated - initial API and implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.ObjectOutputStream; +import java.util.Collection; +import java.util.Iterator; + +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.IJobChangeEvent; +import org.eclipse.core.runtime.jobs.IJobChangeListener; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.preference.DirectoryFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.linuxtools.cdt.libhover.LibHoverInfo; +import org.eclipse.linuxtools.cdt.libhover.LibhoverPlugin; +import org.eclipse.linuxtools.cdt.libhover.devhelp.DevHelpPlugin; +import org.eclipse.linuxtools.internal.cdt.libhover.LibHover; +import org.eclipse.linuxtools.internal.cdt.libhover.LibHoverLibrary; +import org.eclipse.linuxtools.internal.cdt.libhover.devhelp.ParseDevHelp; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +/** + * This class represents a preference page that + * is contributed to the Preferences dialog. By + * subclassing <samp>FieldEditorPreferencePage</samp>, we + * can use the field support built into JFace that allows + * us to create a page that is small and knows how to + * save, restore and apply itself. + * <p> + * This page is used to modify preferences only. They + * are stored in the preference store that belongs to + * the main plug-in class. That way, preferences can + * be accessed directly via the preference store. + */ + +public class LibHoverPreferencePage + extends FieldEditorPreferencePage + implements IWorkbenchPreferencePage { + + private final static String DEVHELP_DIR = "Libhover.Devhelp.Directory"; //$NON-NLS-1$ + private final static String GENERATE = "Libhover.Devhelp.Generate.lbl"; //$NON-NLS-1$ + private final static String REGENERATE_MSG = "Libhover.Devhelp.Regenerate.msg"; //$NON-NLS-1$ + private final static String TITLE = "Libhover.Devhelp.Preference.title"; //$NON-NLS-1$ + + private Button generateButton; + + public LibHoverPreferencePage() { + super(GRID); + setPreferenceStore(DevHelpPlugin.getDefault().getPreferenceStore()); + } + + private class DevhelpStringFieldEditor extends DirectoryFieldEditor { + public DevhelpStringFieldEditor(String name, String labelText, + Composite parent) { + super(name, labelText, parent); + setFilterPath(new File(DevHelpPlugin.getDefault().getPreferenceStore().getString(name))); + } + + } + + private synchronized void regenerate() { + generateButton.setEnabled(false); + Job k = new Job(LibHoverMessages.getString(REGENERATE_MSG)) { + + @Override + protected IStatus run(IProgressMonitor monitor) { + // TODO Auto-generated method stub + IPreferenceStore ps = DevHelpPlugin.getDefault().getPreferenceStore(); + ParseDevHelp.DevHelpParser p = + new ParseDevHelp.DevHelpParser(ps.getString(PreferenceConstants.DEVHELP_DIRECTORY)); + LibHoverInfo hover = p.parse(monitor); + // Update the devhelp library info if it is on library list + Collection<LibHoverLibrary> libs = LibHover.getLibraries(); + for (Iterator<LibHoverLibrary> i = libs.iterator(); i.hasNext();) { + LibHoverLibrary l = i.next(); + if (l.getName().equals("devhelp")) { //$NON-NLS-1$ + l.setHoverinfo(hover); + break; + } + } + try { + // Now, output the LibHoverInfo for caching later + IPath location = LibhoverPlugin.getDefault().getStateLocation().append("C"); //$NON-NLS-1$ + File ldir = new File(location.toOSString()); + ldir.mkdir(); + location = location.append("devhelp.libhover"); //$NON-NLS-1$ + FileOutputStream f = new FileOutputStream(location.toOSString()); + ObjectOutputStream out = new ObjectOutputStream(f); + out.writeObject(hover); + out.close(); + monitor.done(); + } catch(Exception e) { + monitor.done(); + return new Status(IStatus.ERROR, DevHelpPlugin.PLUGIN_ID, e.getLocalizedMessage(), e); + } + + + return Status.OK_STATUS; + } + + }; + k.setUser(true); + k.addJobChangeListener(new IJobChangeListener() { + public void aboutToRun(IJobChangeEvent event) { + // TODO Auto-generated method stub + } + public void awake(IJobChangeEvent event) { + // TODO Auto-generated method stub + } + public void done(IJobChangeEvent event) { + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + try { + generateButton.setEnabled(true); + } catch (Exception e) { + // do nothing + } + } + }); + } + public void running(IJobChangeEvent event) { + // TODO Auto-generated method stub + } + public void scheduled(IJobChangeEvent event) { + // TODO Auto-generated method stub + } + public void sleeping(IJobChangeEvent event) { + // TODO Auto-generated method stub + } + }); + k.schedule(); + } + + protected void contributeButtons(Composite parent) { + ((GridLayout) parent.getLayout()).numColumns++; + generateButton = new Button(parent, SWT.NONE); + generateButton.setFont(parent.getFont()); + generateButton.setText(LibHoverMessages.getString(GENERATE)); + generateButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + regenerate(); + } + }); + generateButton.addDisposeListener(new DisposeListener() { + public void widgetDisposed(DisposeEvent event) { + generateButton = null; + } + }); + GridData gd = new GridData(); + gd.horizontalAlignment = GridData.FILL; + int widthHint = convertHorizontalDLUsToPixels( + IDialogConstants.BUTTON_WIDTH); + gd.widthHint = Math.max(widthHint, generateButton.computeSize( + SWT.DEFAULT, SWT.DEFAULT, true).x); + + generateButton.setLayoutData(gd); + } + + /** + * Creates the field editors. Field editors are abstractions of + * the common GUI blocks needed to manipulate various types + * of preferences. Each field editor knows how to save and + * restore itself. + */ + public void createFieldEditors() { + addField( + new LabelFieldEditor( + getFieldEditorParent(), + LibHoverMessages.getString(TITLE))); + addField( + new DevhelpStringFieldEditor( + PreferenceConstants.DEVHELP_DIRECTORY, + LibHoverMessages.getString(DEVHELP_DIR), + getFieldEditorParent())); +// addField( +// new GenerateDevHelp( +// PreferenceConstants.DUMMY_CONSTANT, +// LibHoverMessages.getString(DEVHELP_REGENERATE), +// getFieldEditorParent())); + + + + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) + */ + public void init(IWorkbench workbench) { + } + +}
\ No newline at end of file diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.java new file mode 100644 index 0000000000..e32977a3bd --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceConstants.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat, Inc. + * 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: + * Red Hat Incorporated - initial API and implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences; + +/** + * Constant definitions for plug-in preferences + */ +public class PreferenceConstants { + + public static String DEVHELP_DIRECTORY = "org.eclipse.linuxtools.cdt.libhover.devhelp.directory"; //$NON-NLS-1$ + public static String DUMMY_CONSTANT = "org.eclipse.linuxtools.cdt.libhover.devhelp.dummy"; //$NON-NLS-1$ + +} diff --git a/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.java b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.java new file mode 100644 index 0000000000..e0670764b9 --- /dev/null +++ b/libhover/org.eclipse.linuxtools.cdt.libhover.devhelp/src/org/eclipse/linuxtools/internal/cdt/libhover/devhelp/preferences/PreferenceInitializer.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2011 Red Hat, Inc. + * 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: + * Red Hat Incorporated - initial API and implementation + *******************************************************************************/ +package org.eclipse.linuxtools.internal.cdt.libhover.devhelp.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.linuxtools.cdt.libhover.devhelp.DevHelpPlugin; + +/** + * Class used to initialize default preference values. + */ +public class PreferenceInitializer extends AbstractPreferenceInitializer { + + /* + * (non-Javadoc) + * + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + public void initializeDefaultPreferences() { + IPreferenceStore store = DevHelpPlugin.getDefault().getPreferenceStore(); + store.setDefault(PreferenceConstants.DEVHELP_DIRECTORY, "/usr/share/gtk-doc/html"); //$NON-NLS-1$ + } + +} |