Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[pde-build-dev] Bundle Dependency Question


Hi Everyone,

I am also trying to do continuous integration of plugins and features and I almost have a working set of Ant targets that look like they will let me build on a plugin level - provided I do the dependency management (which I plan to do anyways).  However, I have run across a limitation that I think may be a bug but I am not sure.  Let me describe my scenario.  I have the following:

Feature A
   Includes: Feature B, Feature C
   Includes: Plugin D

Let's assume (for simplicity) that the only other dependency is:

Plugin D
    Requires: Plugin E

OK, so I have written some Ant targets that fire up a headless PDE-enabled eclipse that gives me access to the
eclipse.buildScript task.  Now I have already successfully used my scripts to individually build all of the other features and plugins, with the exception of the top-level Feature A.  I am now building this feature so I get all of its dependencies (pre-built, plugin JARs, and complete sub-feature folders created by inflating my pre-built feature JARs) and place them in the following directory structure:

<some_folder>/
    +--builddir/
    |       +--features/
    |       |     +--Feature A/ (this is what I am building)
    |       +--plugins/
    |
    +--dependencies/
            +--features/
            |     +--Feature B/
            |     +--Feature C/
            +--plugins/
                  +--pluginD_vXXXX.jar


So in my call to eclipse.buildScript, my buildDirectory is <some_folder>/builddir, and my pluginPath is <some_folder>/dependencies.  Now, I would think this should work perfectly fine, however the build fails with the message (with the placeholder names substituted):

     [java] [eclipse.buildScript] Some inter-plug-in dependencies have not been satisfied.
     [java] [eclipse.buildScript] Bundle pluginD:
     [java] [eclipse.buildScript]       Missing required plug-in pluginE_[1.0.0,2.0.0).
     [java]
     [java] BUILD FAILED
     [java] C:\Temp\autobuild\testme.xml:116: Unable to find plug-in: pluginD_0.0.0. Please check the error log for more details.


So, why is it required that the already-built Plugin D needs access to its dependencies?  It is already built and therefore does not need to resolve anything.  This seems like a bug to me.  Essentially all I am doing here is using the
eclipse.buildScript to grab the versions of its dependencies and substitute them into the feature manifest - then JAR up the bin.includes.  Now I have to recursively calculate/declare transitive dependencies all way down the plugin chain - which I think is unnecessary.  Is this a bug?

Note that when I copy in pluginE_vYYYY.jar into <some_folder>/dependencies/plugins, the build works fine.

Thanks,
Mark.
AMI Semiconductor - "Silicon Solutions for the Real World"
NOTICE: 
This electronic message contains information that may be confidential or privileged. The information is intended for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you received this electronic message in error, please notify the sender and delete the copy you received.





Back to the top