Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] Problem Exporting a Plugin with php.core Dependency -Steps to Reproduce

(Sorry, resending as original email did not include the PDT list)

Thank you Roy for your response. 

Are you saying that, in order to create new plugins that extend PDT, one must develop those plugins using source pulled from the CVS repo?  Is it not normal development procedures to use the distributed plugins?

Keep in mind that I am not trying to do development work on PDT itself. I am only plugging in to provided extension points.

Thanks,

William



On Sun, Feb 8, 2009 at 11:09 PM, Roy Ganor <roy@xxxxxxxx> wrote:

Ok, few tips:

  1. Use the SDK releases of Eclipse Platform, WTP, GEF, EMF and DLTK, PDT.
  2. Read this wiki page to understand how to configure the development environment:

http://wiki.eclipse.org/PDT_Development_Environment

 

What PDT version do you use? 2.1 (CVS HEAD) or 2.0 (R2_0 branch)

Enjoy ;)

- Roy

 


From: pdt-dev-bounces@xxxxxxxxxxx [mailto:pdt-dev-bounces@xxxxxxxxxxx] On Behalf Of William
Sent: Monday, February 09, 2009 6:14 AM
To: PDT Developers
Subject: [pdt-dev] Problem Exporting a Plugin with php.core Dependency -Steps to Reproduce

 

Hi all,

In an effort to resolve this, I have a set of steps for an extremely simple plug-in project that I would expect to build.  The end result is, however, the same as what I reported in my previous email.  Please, if you have a moment, see if these same steps also produce an error for you. If so, I believe there is a serious error somewhere.  If not, then I would love to know what I'm doing wrong.


Knowing that the steps below might be overly detailed for most of you, I will also provide a brief synopsis:

Setup an Eclipse install with the PDT plugins.  Use Eclipse's new plug-in project wizard to create a new plugin.  Add dltk.core and php.core dependencies.  Add the php.core.phpMixinBuildVisitors extension.  Add a new "visitor" to that extension.  Try to package the new plugin using Eclipse's plug-in export wizard.


Steps

1.  Use the PDT installation page (http://wiki.eclipse.org/PDT/Installation) to setup your Eclipse to include PDT and DLTK. I specifically followed the From Update Site set of instructions.

2.  Launch Eclipse (I am using 3.4.1) into a clean workspace

3.  Create a new plug-project (New > Plugin Project).  I named mine "com.test.php"  Click "Next", leaving all values at their default, until you reach the "Templates" page

4.  At the "Templates" page, select the "Hello, World" plugin as the template to use and click "Finish".

5.  The project is created and the plugin editor is open. Select the "Dependencies" tab and add the following two dependencies:

     a.  org.eclipse.dltk.core

     b.  org.eclipse.php.core


6.  Select the "Extensions" tab and click the "Add..." button.  Select org.eclipse.php.core.phpMixinBuildVisitors and press "Finish"

7.  Righ-click  iorg.eclipse.php.core.phpMixinBuildVisitors in the list of extensions and select "Add > visitor" from the context menu.

8.  Select the new "visitor" added and click the "class*" link found in the right column, just next to the list of extensions

9.  In the "New Java Class" dialog that appears, leave all values at their defaults and click "Finish"

10.  Make sure everything has been saved and has built without error

11. Right-click your new project (e.g. com.test.php), and select "Export..." from the context menu

12.  Select "Plug-in Development > Deployable plug-ins and fragments". Click "Next"

13.  Set an export directory destination, leave all other values at their default, and click "FInish"


I receive an error dialog pointing me to a generated log file. The log contains a single build error:

# 2/8/09 9:56:02 PM CST
# Eclipse Java Compiler 0.883_R34x, 3.4.1 release, Copyright IBM Corp 2000, 2008. All rights reserved.

----------
1. ERROR in C:\export\com.test.php\src\com\test2\php\PHPMixinBuildVisitorExtension.java (at line 4)
    org.eclipse.php.core.PHPMixinBuildVisitorExtension {
    ^^^^^^^^^^^^^^^
org.eclipse.php cannot be resolved to a type
----------
1 problem (1 error)





Does anyone else see this problem?  Where is the error in this process?


Thanks,

William


On Thu, Feb 5, 2009 at 7:50 PM, William <woolieKing+pdt@xxxxxxxxx> wrote:

Thanks for your suggestion Klaus. 

Yes, my manifest does contain an entry for the php.core plugin as a "Require-Bundle":

Require-Bundle: org.eclipse.ui,
 org.eclipse.ui.editors;bundle-version="3.4.0",
 org.eclipse.core.runtime,
 org.eclipse.core.resources,
 org.eclipse.wst.sse.core;bundle-version="1.1.302",
 org.eclipse.jface.text;bundle-version="3.4.1",
 org.eclipse.dltk.core;bundle-version="1.0.0",
 org.eclipse.dltk.ui;bundle-version="1.0.0",
 org.eclipse.php.core;bundle-version="2.0.0",
 org.eclipse.php.ui;bundle-version="2.0.0"


I also tried using the "Plug-ins and Fragments" import wizard to bring both PDT dependencies into my workspace. When I do so, my project fails to build (at all, not just during the "plugin export") due to the following error:

The project was not built since its build path is incomplete. Cannot find the class file for org.eclipse.php.core.codeassist.IPHPCompletionRequestor. Fix the build path then try building this project




So to summarize:

  1. When the dependencies are pulled directly from my Eclipse installation (i.e. I let Eclipse reference its own set of installed plugins), everything works as you would expect.
  2. If I try to build as a plugin, or if I import the plugins as binaries into my workspace (and allow those to be the dependencies), I have build errors.


(And if it matters, the php.core and php.ui versions I have are
20081229-1135).


I'm really at a loss regarding this issue.  Its always been my experience that the solution to these types are problems are pretty simple and obvious, and I'm always embarrassed by the fact that I didn't figure it out on my own.  So any other suggestions or help, no matter how obvious it might seem, would be greatly appreciated.

Thanks again for your time,

William




On Thu, Feb 5, 2009 at 1:33 PM, Klaus Hartlage <khartlage@xxxxxxxxx> wrote:

Hi

This seems to be obvious, but did you define all "Require-Bundle:" in the file:
/META-INF/MANIFEST.MF

2009/2/5 William <woolieKing+pdt@xxxxxxxxx>:

> Sorry for the interruption again.  I was hoping someone might have some
> comments regarding my previous email (below).
>
> Thanks,
>
> William
>
> On Wed, Jan 28, 2009 at 11:20 PM, William <woolieKing+pdt@xxxxxxxxx> wrote:
>>
>> Hi All,
>>
>> I have a plugin I've been working on that includes, as part of its
>> dependencies, the following PDT plugins:
>>
>> org.eclipse.php.core
>>
>> org.eclipse.php.ui
>>
>> I have been unable to build my plugin (through the "Export" wizard's
>> "deployable plugin" or via an "update" site build).  Each time the build
>> process fails due to multiple errors, all of which are related to:
>>
>> The import org.eclipse.php.internal.core cannot be resolved
>>
>> The php.ui dependency as well as all others (e.g. dltk.core, wst.sse.core,
>> etc.) do not produce any errors. It is only the php.core plugin.
>>
>> I can (of course) debug the plugin just fine within the Eclipse
>> environment.
>>
>> Does anyone have any insights into this issue? Any suggestions for
>> debugging?
>>
>>
>> Thanks for your time,
>>
>> William
>

> _______________________________________________
> pdt-dev mailing list
> pdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/pdt-dev


--
Blog: http://blog.klha.de
_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pdt-dev

 

 



Back to the top