[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Circular build dep issues with 6.0.1 for Fedora build

Hi Orion,

There are no circular deps. Think of the feature as an RPM spec file. It's just listing the plugins that need to be built and installed when the feature is installed. The name of the feature is in a different namespace to the plugin, so the fact that they are both called o.e.ptp.core is irrelevant.

The o.e.ptp.core-feature contains the plugins o.e.ptp.core and o.e.ptp.rm.launch (amongst others). The o.e.ptp.rm.jaxb-feature contains the o.e.ptp.rm.jaxb.core plugin. The o.e.ptp-feature, which is the main feature for PTP, contains both the o.e.ptp.core-feature and the o.e.ptp.rm.jaxb-feature. The build system needs to read all the features to determine the entire list of plugins, then resolve the dependencies between plugins from the MANIFEST.MF files before constructing the list of the plugins to build and the correct order they need to be built in. This is the "Reactor Build Order" that is shown in the console output of a maven build (you can see this on the hudson console for a PTP build).

Pre-3.5 versions of PDE build relied on the depth-first feature order to determine the ordering of plugin dependencies. From 3.5 onwards, they added the flattenDependencies property to sort all plugin dependencies regardless of the features. If you don't have this option set then you won't be able to build PTP (see http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_compilation_order.htm). This option was needed for Indigo, however, so I can't imagine it is causing your problem.

In any case, I'd definitely recommend going to maven. You basically just need to clone each of the org.eclipse.photran, org.eclipse.ptp, and org.eclipse.ptp.master repos and run 'mvn -P production clean install' at the top level of each repo in turn. The only caveat is that you'll need to change the <properties> in each top level pom.xml to point to the correct URLs for your site.

HTH,
Greg


On Jul 6, 2012, at 8:20 PM, Orion Poplawski wrote:

> Unfortunately it seems that the build tools available to me can only build entire features.  I'm looking into using maven to build it, but I'm running into tycho issues on Fedora.
> 
> It still seems somewhat unclean to have circular deps among features as well, but I'll defer here.  I'm running into similar problems with rm.jaxb and rm.lml.  Ah well, time to get the maven/tycho build working it seems.
> 
> 
> On 07/06/2012 10:52 AM, Greg Watson wrote:
>> The feature is very different from the core plugin. The core feature is just a list of plugins that form the core of ptp. Compiler dependencies are between plugins, not features, so if your build is not able to resolve a dependency then it may be that it's not compiling plugins in the correct order. You can check the plugin dependencies by checking the MANIFEST.MF file in each plugin.
>> 
>> Regards,
>> Greg
>> 
>> On Jul 6, 2012, at 6:44 PM, Orion Poplawski wrote:
>> 
>>> On 07/05/2012 11:17 PM, Greg Watson wrote:
>>>> Orion,
>>>> 
>>>> I don't think there are any circular dependencies. You should build o.e.ptp.core first, then o.e.ptp.rm.jaxb.control.core, then o.e.ptp.rm.launch.
>>>> 
>>>> Regards,
>>>> Greg
>>> 
>>> Nope, in releng/org.eclipse.ptp.core-feature/feature.xml:
>>> 
>>>   <plugin
>>>         id="org.eclipse.ptp.rm.launch"
>>>         download-size="0"
>>>         install-size="0"
>>>         version="0.0.0"
>>>         unpack="false"/>
>>> 
>>> Which then pulls in jaxb:
>>> 
>>> @dot:
>>>    [mkdir] Created dir: /export/home/orion/fedora/eclipse-ptp/eclipse-ptp-6.0.1/rms/org.eclipse.ptp.rm.launch/@dot
>>>    [javac] Compiling 10 source files to /export/home/orion/fedora/eclipse-ptp/eclipse-ptp-6.0.1/rms/org.eclipse.ptp.rm.launch/@dot
>>>    [javac] ----------
>>>    [javac] 1. ERROR in /export/home/orion/fedora/eclipse-ptp/eclipse-ptp-6.0.1/rms/org.eclipse.ptp.rm.launch/src/org/eclipse/ptp/rm/launch/AbstractParallelLaunchConfigurationDelegate.java (at line 68)
>>>    [javac]     import org.eclipse.ptp.rm.jaxb.control.ILaunchController;
>>>    [javac]            ^^^^^^^^^^^^^^^^^^^^^^^
>>>    [javac] The import org.eclipse.ptp.rm.jaxb cannot be resolved
>>> 
>>> 
>>> --
>>> Orion Poplawski
>>> Technical Manager                     303-415-9701 x222
>>> NWRA, Boulder Office                  FAX: 303-415-9702
>>> 3380 Mitchell Lane                       orion@xxxxxxxx
>>> Boulder, CO 80301                   http://www.nwra.com
>>> 
>>> 
>>> _______________________________________________
>>> ptp-dev mailing list
>>> ptp-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>> 
>> _______________________________________________
>> ptp-dev mailing list
>> ptp-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/ptp-dev
>> 
> 
> 
> -- 
> Orion Poplawski
> Technical Manager                     303-415-9701 x222
> NWRA, Boulder Office                  FAX: 303-415-9702
> 3380 Mitchell Lane                       orion@xxxxxxxx
> Boulder, CO 80301                   http://www.nwra.com
> 
> 
> _______________________________________________
> ptp-dev mailing list
> ptp-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ptp-dev