Hi Robert,
The buildpath entries are used (as their name imply) as inclusion
and exclusion rules for the internal build mechanism. Behind the scene only
buildpath entries are “counted” for the builder and so the
buildParticipant are exposed to these entries as well. Although Libraries are represented
in the includepath UI in Eclipse PDT it is really a buildpath matter and have a
parallel entry representation (includepath AND buildpath entries).
The “include path” mechanism is only a
representation of the PHP includepath that is valid for the current project,
hence includes the list of libraries. We have decided to hide the buildpath
library page to avoid confusion among our users.
Roy
From:
pdt-dev-bounces@xxxxxxxxxxx [mailto:pdt-dev-bounces@xxxxxxxxxxx] On Behalf
Of Robert Gruendler
Sent: Wednesday, July 01, 2009 1:21 AM
To: PDT Developers
Subject: Re: [pdt-dev] Handling of user libraries
i've just tried the setup on a
windows machine, but got the same result.
When adding the library to the build path, i get the resources of the library
passed to our builder, but when
i add it to the include path, i only get the project's internal resources,
nothing from the external library.
here's how i add the extension:
<extension
point="org.eclipse.dltk.core.buildParticipant">
<buildParticipant
class="net.sourceforge.sfdt.core.builder.SfBuildParticipantFactory"
id="net.sourceforge.sfdt.core.SfBuildParticipant"
name="net.sourceforge.sfdt.core.SfBuildParticipant"
nature="org.eclipse.php.core.PHPNature">
</buildParticipant>
</extension>
is there anything i'm missing out here ?
thanks !
-robert
On Sun, Jun 21, 2009 at 8:55 PM, Michael Spector <spektom@xxxxxxxxx> wrote:
Build Path is used for building the structured DLTK model.
Include Path is an emulation of php.ini include_path entry, and it's used for
resolving file network through include() statements when browsing, debugging,
etc... It's obvious that Include Path is a subset of Build Path.
Regarding the difference in build time... it's interesting,
since there should be no difference. When you add a library to the Include Path
it's automatically added to the Build Path. I'll check this...
On Sun, Jun 21, 2009 at 9:44 PM, Robert Gruendler <doobre@xxxxxxxxx> wrote:
Hi Michael,
thanks for the tip.
the library resources got passed to our builder after adding it to the
buildPath, not the include path, which brings up my next question:
I have tried to add our library both ways (manually, without usage of our
plugin). I noticed that i get code assistance both when i add
it to the include path and the build path. The only difference was that when
adding it to the build path, a clean build took at least 10 times
longer than a clean build with having the library in the include path.
But as i've got code assistance both times, i assume that pdt must have
been building a model of the library in both cases.
So what exactly is the difference between "Include Path" and
"Build Path" ?
I guess i need to understand that concept before i can implement the model from
our library ;)
thanks again !
-robert
Michael Spector schrieb:
I guess this should work this
way:
1. StandardScriptBuilder, which is also a build participant runs first
(always), and builds model elements for every build path entry (verify that
your library is a part of the buildpath)
2. Your build participant runs after model for all build path entries is built,
so you are able to "see" all PHP elements of a project & its
dependencies.
On Sun, Jun 21, 2009 at 12:28 PM, Robert Gruendler <doobre@xxxxxxxxx <mailto:doobre@xxxxxxxxx>>
wrote:
Hi Michael,
right now i just added it manually by adding it in the preferences
as "User defined Library", then in the
properties of the project: PHP Include Path -> Libraries ->
Add
Library...
greetings
-robert
Michael Spector schrieb:
Hi Robert,
How do you define your included library? We don't
encounter
this issue in our build participant.
On Sat, Jun 20, 2009 at 10:30 PM, Robert Gruendler
<doobre@xxxxxxxxx
<mailto:doobre@xxxxxxxxx>
<mailto:doobre@xxxxxxxxx <mailto:doobre@xxxxxxxxx>>>
wrote:
Hi all,
i'm trying to understand how included
libraries are handled
from a
model point of view in pdt.
Basically, we need some information from
specific classes
inside
the user library, but i'm not sure at
which point we can hook into pdt to build
our model. I've
tried to
add a buildparticipant extension which
uses a class that extends PHPAstVisitor.
This works fine for all classes/methods etc
inside the project,
but i don't get anything from the included
library.
I assume the php model for the external
libraries does not get
built during the regular build process.
Could anyone give me a hint at which point
of the pdt plugin
lifecycle the external libraries get parsed
to build
the model for them ?
thanks!
-robert
_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx <mailto:pdt-dev@xxxxxxxxxxx>
<mailto:pdt-dev@xxxxxxxxxxx
<mailto:pdt-dev@xxxxxxxxxxx>>
_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pdt-dev
|