Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] Build a feature patch for org.eclipse.jdt.core

Hi,

I have no prior experience with maven nor tycho, please be nice.

I am trying to help the groovy-eclipse project by investigating a better way to maintain their jdt feature patch. The goal is to build a feature patch that includes a single patched plugin: org.eclipse.jdt.core. I have forked org.eclipse.jdt.core and applied the groovy patches. I am able to build this patched org.eclipse.jdt.core bundle with the instructions in https://wiki.eclipse.org/Platform-releng/Platform_Build#Building_Selected_Projects: When I execute 'mvn -Pbuild-individual-bundles clean install', my patched bundle is installed into the local repository (With a -SNAPSHOT qualifier)

Now for the feature patch: Since the org.eclipse.jdt.core repo only contains bundles and no features, I have also cloned org.eclipse.jdt to see how they build the org.eclipse.jdt feature. Here, I have added a 'module' that contains the groovy feature patch, using the org.eclipse.jdt feature pom as a template. The pom and feature.xml for the patch are pasted below.

Here I execute 'mvn -Pbuild-individual-bundles clean verify' to build the feature patch. My current problem is that the resulting feature references the latest org.eclipse.jdt.core milestone build from the target definition in the aggregator parent build, rather than the locally available SNAPSHOT build. (I am not sure how -SNAPSHOT would become a timestamped build which I'd guess need to happen here also..)

Now, I will for sure have follow up questions, but for now just this: How can I make the build to use the snapshot build instead?

Thanks for any help,
Felix


Here is the pom.xml of the feature patch:

<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>eclipse.jdt</artifactId>
    <groupId>eclipse.jdt</groupId>
    <version>4.6.0-SNAPSHOT</version>
  </parent>
  <groupId>groovy-eclipse</groupId>
  <artifactId>org.codehaus.groovy.jdt.patch</artifactId>
  <version>3.12.0-SNAPSHOT</version>
  <packaging>eclipse-feature</packaging>
</project>

And feature.xml:
<?xml version="1.0" encoding="UTF-8"?>

<feature
      id="org.codehaus.groovy.jdt.patch"
      label="%featureName"
      version="3.12.0.qualifier"
      provider-name="%providerName"
      plugin="org.codehaus.groovy.eclipse">

[...]

   <requires>
      <import feature="org.eclipse.jdt" patch="true"/>
   </requires>

   <plugin
         id="org.eclipse.jdt.core"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>

</feature>


Back to the top