Replies: 3 comments 9 replies
-
For tycho to find your other bundles they also need to be part of the maven build. That seems to be missing from your build. Another way to achive the same, but without explicitly defining pom files for all parts of your build is to setup a pomless tycho build. See here for more information https://github.com/eclipse-tycho/tycho/wiki/Tycho-Pomless Bye Peter |
Beta Was this translation helpful? Give feedback.
-
I would recommend to choose a structured build layout (your example already almost looks like that): https://tycho.eclipseprojects.io/doc/latest/StructuredBuild.html you can of course list all modules manually as well, but as mentioned by @phermsdorf this usually happens in one parent pom. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your replies! I have tried converting to a structured build layout, by converting it as follows:
My <?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>...</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>bundles</module>
<!--<module>features</module>
<module>sites</module>-->
<module>products</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<environments>
<!--<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>ppc64le</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>aarch64</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>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>aarch64</arch>
</environment>-->
</environments>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>eclipse-project-updates</id>
<layout>p2</layout>
<url>http://download.eclipse.org/eclipse/updates/4.30</url>
</repository>
<repository>
<id>eclipse-project-2022-06</id>
<layout>p2</layout>
<url>https://download.eclipse.org/releases/2022-06</url>
</repository>
</repositories>
</project>
Now, again, please forgive me for asking a beginner question, but how or where would I configure to get an actual export that includes an executable launcher for the product? I had a look at the Packaging Types, but I only found options for plugins and features, but not for a PDE Product. Edit: As per the Tutorial Section 5, apparently this is the job of the Tycho P2 Director Plugin |
Beta Was this translation helpful? Give feedback.
-
Hello!
I have recently been onboarded to a project that has been using the Eclipse export wizard for an RCP product, but we want to migrate to using Tycho builds. So far I followed the demo tutorial and, apart from needing to update the version and the p2 site url, step 1 seems to work fine. The only problem is that the product requires OSGI bundles from neighbouring folders:
Content of the pom.xml:
When running the Tycho build, I get:
Those folders/modules/whatever are not Maven projects yet.
Reading the available resources, it seems like Tycho needs to resolve those dependencies from p2 repositories, and for local bundles, there is the possibility to create a filesystem p2 repository.
Can you please outline to me the steps that are necessary to get this to build? The available resources all seem to have different use cases and it is hard for me to discern which configuration setting results in what exactly happening.
Despite having invested some time already, I am not fully proficient in the domain language of products, features, plugins etc. as of yet. Resources that help me get a better understanding of those would also be very welcome.
Thanks in Advance!
Beta Was this translation helpful? Give feedback.
All reactions