Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] How to correct Tycho generics compile error -- JDT compile gives no error

hard to tell without a sample project.
Tycho 0.24.0 is using the JDT compiler version from Mars.1 [1]

To verify this is not a JDT bug, you could

- use an eclipse Mars.1 IDE and check if compilation using the IDE works fine
- if it consistently fails with Mars.1, try using a newer version of org.eclipse.jdt.core, see e.g.

https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/eclipse-platform-parent/pom.xml#n459


also, mvn -X will give you the compilation classpath, so you could check if there is anything different.

For reference, [2] are the fixes for the JDT compiler done for Mars.2. On first glance there are some fixes related to generics, so looks like it's possible this is/was a JDT bug.

Regards,
Jan

[1] https://wiki.eclipse.org/Tycho/Release_Notes/0.24#Other
[2] https://bugs.eclipse.org/bugs/buglist.cgi?classification=Eclipse&component=Core&list_id=13980417&product=JDT&query_format=advanced&target_milestone=4.5.2






On 08/03/16 22:26, "tycho-user-bounces@xxxxxxxxxxx on behalf of Gerald Rosenberg" <tycho-user-bounces@xxxxxxxxxxx on behalf of gerald@xxxxxxxxxx> wrote:

>
>
>
>First time Tycho user (using Eclipse Mars.2), converting a plugin project to use Tycho to do the build.
>
>Problem is that the Maven Build is throwing a compiler error, where the JDT compiler shows no error.
>
>Tried to ensure that the build would use the JDT, but still getting the same error.
>
>What am I missing?
>
>Thanks ...
>------------------------
>The error is:
>
>
>[INFO] --- tycho-compiler-plugin:0.24.0:compile (default-compile) @ net.certiv.dsl.ui ---
>[INFO] Compiling 315 source files to D:\DevFiles\Eclipse\Dsl\net.certiv.dsl\net.certiv.dsl.ui\target\classes
>....
>[INFO] BUILD FAILURE
>....
>[ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:0.24.0:compile (default-compile) on project net.certiv.dsl.ui: Compilation failure: Compilation failure:
>[ERROR] ICommandService commandSvc = PlatformUI.getWorkbench().getAdapter(ICommandService.class);
>[ERROR] Type mismatch: cannot convert from Object to ICommandService
>
>
>The interface definition of `getAdapter(..)` is generic -- <T <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime%28IAdaptable.class%E2%98%83IAdaptable%7EgetAdapter%7ELjava.lang.Class%5C%3CTT;%3E;]T>>
>
>T <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime%28IAdaptable.class%E2%98%83IAdaptable%7EgetAdapter%7ELjava.lang.Class%5C%3CTT;%3E;%E2%98%82T> 
>org <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg>.eclipse <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse>.core <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core>.runtime <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime>.IAdaptable <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime%28IAdaptable.class%E2%98%83IAdaptable>.getAdapter(Class <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime%28IAdaptable.class%E2%98%83IAdaptable%7EgetAdapter%7ELjava.lang.Class%5C%3CTT;%3E;%E2%98%82java.lang.Class><T <eclipse-javadoc:%E2%98%82=net.certiv.dsl.core/C:%5C/Users%5C/Gbr%5C/.p2%5C/pool%5C/plugins%5C/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar%3Corg.eclipse.core.runtime%28IAdaptable.class%E2%98%83IAdaptable%7EgetAdapter%7ELjava.lang.Class%5C%3CTT;%3E;%E2%98%82T>>
> adapter) -- but the implementation is not. 
>
>------------------------
>Parent POM
>
><?xml version="1.0" encoding="UTF-8"?>
><project xmlns="http://maven.apache.org/POM/4.0.0"; <http://maven.apache.org/POM/4.0.0> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; <http://www.w3.org/2001/XMLSchema-instance>
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"; <http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd>>
>  <modelVersion>4.0.0</modelVersion>
>  <groupId>net.certiv.dsl</groupId>
>  <artifactId>net.certiv.dsl</artifactId>
>  <version>0.5.5-SNAPSHOT</version>
>  <packaging>pom</packaging>
>  <name>net.certiv.dsl :: parent</name>
>  <description>net.certiv.dsl parent</description>
>
>  <prerequisites>
>    <maven>3.0</maven>
>  </prerequisites>
>
>  <properties>
>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
>    <tycho.version>0.24.0</tycho.version>
>    <tycho.extras.version>0.24.0</tycho.extras.version>
>    <tycho.test.platformArgs/>
>    <tycho.test.jvmArgs>-Xmx512m</tycho.test.jvmArgs>
>
>  </properties>
>
>  <repositories>
>    <repository>
>      <id>luna</id>
>      <layout>p2</layout>
>      <url>http://download.eclipse.org/releases/luna</url>
>    </repository>
>  </repositories>
>
>  <build>
>    <plugins>
>    
>      <plugin>
>        <groupId>org.eclipse.tycho</groupId>
>        <artifactId>tycho-maven-plugin</artifactId>
>        <version>${tycho.version}</version>
>        <extensions>true</extensions>
>        <configuration>
>          <source>1.8</source>
>          <target>1.8</target>
>        </configuration>
>      </plugin>
>
>      <plugin>
>        <groupId>org.eclipse.tycho</groupId>
>        <artifactId>tycho-compiler-plugin</artifactId>
>        <version>${tycho.version}</version>
>        <configuration>
>          <compilerId>jdt</compilerId>
>          <compilerArgs>
>            <arg>-warn:-raw,unchecked</arg>
>          </compilerArgs>
>        </configuration>
>      </plugin>
>
>      <plugin>
>        <groupId>org.eclipse.tycho</groupId>
>        <artifactId>target-platform-configuration</artifactId>
>        <version>${tycho.version}</version>
>        <configuration>
>          <resolver>p2</resolver>
>          <pomDependencies>consider</pomDependencies>
>          <ignoreTychoRepositories>true</ignoreTychoRepositories>
>            <environments>
>              <environment>
>                <os>linux</os>
>                <ws>gtk</ws>
>                <arch>x86</arch>
>              </environment>
>              <environment>
>                <os>linux</os>
>                <ws>gtk</ws>
>                <arch>x86_64</arch>
>              </environment>
>              <environment>
>                <os>win32</os>
>                <ws>win32</ws>
>                <arch>x86</arch>
>              </environment>
>              <environment>
>                <os>win32</os>
>                <ws>win32</ws>
>                <arch>x86_64</arch>
>              </environment>
>              <environment>
>                <os>macosx</os>
>                <ws>cocoa</ws>
>                <arch>x86_64</arch>
>              </environment>
>            </environments>          
>        </configuration>
>      </plugin>
>
>      <plugin>
>        <groupId>org.eclipse.tycho</groupId>
>        <artifactId>tycho-source-plugin</artifactId>
>        <version>${tycho.version}</version>
>        <executions>
>          <execution>
>            <id>attach-source</id>
>            <goals>
>              <goal>plugin-source</goal>
>            </goals>
>          </execution>
>        </executions>
>      </plugin>
>
>    </plugins>
>
>    <pluginManagement>
>      <plugins>
>        <plugin>
>          <groupId>org.eclipse.tycho</groupId>
>          <artifactId>tycho-packaging-plugin</artifactId>
>          <version>${tycho.version}</version>
>          <configuration>
>            <format>yyyyMMdd-HHmm</format>
>          </configuration>
>        </plugin>
>        <plugin>
>          <groupId>org.eclipse.tycho</groupId>
>          <artifactId>tycho-surefire-plugin</artifactId>
>          <version>${tycho.version}</version>
>          <configuration>
>            <useUIHarness>true</useUIHarness>
>            <argLine>${tycho.test.jvmArgs}</argLine>
>            <!-- kill test JVM if tests take more than 1 minute (60 seconds) to finish -->
>            <forkedProcessTimeoutInSeconds>60</forkedProcessTimeoutInSeconds>
>          </configuration>
>        </plugin>
>      </plugins>
>    </pluginManagement>
>  </build>
>
>  <profiles>
>    <profile>
>      <id>macosx</id>
>      <activation>
>        <os><family>mac</family></os>
>      </activation>
>      <properties>
>        <tycho.test.platformArgs>-XstartOnFirstThread</tycho.test.platformArgs>
>      </properties>
>    </profile>
>    <profile>
>      <id>source-feature</id>
>      <activation>
>      <file>
>        <exists>feature.xml</exists>
>      </file>
>      </activation>
>      <build>
>        <plugins>
>          <plugin>
>            <groupId>org.eclipse.tycho.extras</groupId>
>            <artifactId>tycho-source-feature-plugin</artifactId>
>            <version>${tycho.extras.version}</version>
>            <executions>
>              <execution>
>                <id>source-feature</id>
>                <phase>package</phase>
>                <goals>
>                  <goal>source-feature</goal>
>                </goals>
>              </execution>
>            </executions>
>          </plugin>
>          <plugin>
>            <groupId>org.eclipse.tycho</groupId>
>            <artifactId>tycho-p2-plugin</artifactId>
>            <version>${tycho.version}</version>
>            <executions>
>              <execution>
>                <id>attach-p2-metadata</id>
>                <phase>package</phase>
>                <goals>
>                  <goal>p2-metadata</goal>
>                </goals>
>              </execution>
>            </executions>
>          </plugin>
>        </plugins>
>      </build>
>    </profile>
>  </profiles>
>  <modules>
>    <module>net.certiv.dsl.core</module>
>    <module>net.certiv.dsl.test</module>
>    <module>net.certiv.dsl.feature</module>
>    <module>net.certiv.dsl.site</module>
>    <module>net.certiv.dsl.ui</module>
>  </modules>
></project>
>

Back to the top