Search code examples
maveneclipse-plugintychoeclipse-pdep2

How to use the target folder of another project as target platform repository in a Tycho build?


I am creating an Eclipse plugin in an continuous integration environment. My project contains four child modules as follows

parent
   ---p2Repository
   ---eclipseplugin
   ---feature
   ---updateSite

During the continuous integration build, first the p2 repository for the dependencies is created. My Eclipse plugin project needs to point to the p2Repository's target folder to get the dependecies. But by providing the following code in the eclipse-plugin POM file is not working:

 <repositories>
    <repository>
        <id>Dependencies</id>
        <layout>p2</layout>
        <url>file:/../p2Respository/target/repository/</url> 
    </repository>
</repositories>

Any advice?


Solution

  • The file URL you specified does not represent a relative path, and relative URLs are not supported in the repositories configuration.

    But you can simply construct an absolute URL pointing to the sibling project's target folder by using the ${project.baseUri} Maven property:

    <repositories>
        <repository>
            <id>Dependencies</id>
            <layout>p2</layout>
            <url>file:/${project.baseUri}/../p2Respository/target/repository/</url> 
        </repository>
    </repositories>