Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] multiple Tycho modules in one aggregator?

Try

  file://${basedir}/...

-Max


On 08/28/2012 01:49 PM, Dave Henderson wrote:
Hi Davy,

I'm assuming you meant "file:${basedir}/../../etc"? Using ${basedir}/../../etc gives me a java.net.MalformedURLException: no protocol: ...

Even that doesn't work, however. Not all my projects are at the same depth, and ${basedir} seems to resolve to each project's directory, even though I used it in my parent pom.

To be clear, this is the relevant stuff from my parent pom:

<project>
...
<repositories>
<repository>
<id>myLibs</id>
<layout>p2</layout>
<url>file:../../repos/myLibs</url>
</repository>
</repositories>
...
</project>

I tried <url>${basedir}/../../repos/myLibs</url> as well as <url>file:${basedir}/../../repos/myLibs</url>

Thanks,
-Dave

On Tue, Aug 28, 2012 at 3:51 PM, Davy Meers <davymeers@xxxxxxxxxxx <mailto:davymeers@xxxxxxxxxxx>> wrote:

    Hello Dave,

    if i understand your case correctly you could use maven properties [1].
    The maven property "basedir" points to the directory containing the pom.xml.

    Instead of "file:../../etc" try to use "${basedir}/../../etc".

    This would ensure it works for your coworkers too.

    Regards,
    Davy

    [1] http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Date: Tue, 28 Aug 2012 10:55:18 -0400
    From: dhenderson@xxxxxxxxx <mailto:dhenderson@xxxxxxxxx>

    To: tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    Subject: Re: [tycho-user] multiple Tycho modules in one aggregator?

    So, a few hours after this, I started having bizarre issues with resolving my repositories, and it turns out the file:../../etc URLs were to blame. I replaced them with fully-qualified URLs, and everything started working again.

    Really weird stuff. However, this raises an issue which I think would be pretty common -- I have some dependencies in local p2 repos (stored in source control) which I need to resolve for the build. Obviously, a fully-qualified file: URL won't work, since my coworkers' paths will be totally different. My next approach will be to try to build a URL with the Ant <makeurl/> task and somehow set that as a property before Tycho tries to resolve my p2 repositories. I'm a Maven newbie, so

    Let me know if that's a foolish endeavour, or if there's a more reasonable way to do this that I haven't thought of...

    Thanks,
    -Dave

    On Tue, Aug 28, 2012 at 5:39 AM, Oberlies, Tobias <tobias.oberlies@xxxxxxx <mailto:tobias.oberlies@xxxxxxx>> wrote:

        This is allright :-)  AFAIK, the file: scheme is a bit under-specified, so there might be room for interpretation. Still, I would never use the Java URL class as reference – it’s behaving weird in a lot of corner cases, and it has to stay this way for compatibility reasons.____

        __ __

        I suspect be observed behaviour comes from p2’s use of their URIUtil, which has yet another idea of what could be interpreted as URL. That tool accepts “file:C:\Temp” as a valid URL, so I wouldn’t be surprised it also likes the relative URLs.____

        __ __

        Regards____

        Tobias____

        __ __

        *From:*tycho-user-bounces@xxxxxxxxxxx <mailto:tycho-user-bounces@xxxxxxxxxxx> [mailto:tycho-user-bounces@xxxxxxxxxxx <mailto:tycho-user-bounces@xxxxxxxxxxx>] *On Behalf Of *Dave Henderson
        *Sent:* Montag, 27. August 2012 14:57
        *To:* Tycho user list


        *Subject:* Re: [tycho-user] multiple Tycho modules in one aggregator?____

        __ __

        Hi,____

        __ __

        I'm new to this conversation (and list), so I hope I'm not misunderstanding or jumping in where I shouldn't...____

        __ __

        I just ran into a similar issue, and I successfully used a URI that looks like "file:../../etc" as the repository url value. I think that form should be valid, according to the URI RFC (though the wording is open to interpretation in places).____

        __ __

        I'll note that in Java, new File(URI.create("file:../../foo")) will throw a "not hierarchical" exception, but new URL("file:../../foo").getContent() works just fine. I have no idea how Tycho resolves repository URLs, but perhaps if Java supports relative URLs with schemes, then Tycho might be expected to support them.____

        __ __

        Thanks,____

        -Dave____

        On Mon, Aug 27, 2012 at 4:01 AM, Oberlies, Tobias <tobias.oberlies@xxxxxxx <mailto:tobias.oberlies@xxxxxxx>> wrote:____

        I am a bit surprised to hear that the file:///../../etc URL is interpreted as relative path at all. This is not correct, because the path component of that URL is "/../../etc" and hence it is absolute (and not pointing to anything reasonable). The only correct way to specify a relative URL is by omitting the scheme (e.g. "../../etc") but I don't think this is currently supported by Tycho.

        So to summarize: This is only working by coincidence, and don't blame us if we should need to fix this one day...

        Best regards
        Tobias

         > -----Original Message-----
         > From: tycho-user-bounces@xxxxxxxxxxx <mailto:tycho-user-bounces@xxxxxxxxxxx> [mailto:tycho-user- <mailto:tycho-user->
         > bounces@xxxxxxxxxxx <mailto:bounces@xxxxxxxxxxx>] On Behalf Of Max Spring
         > Sent: Samstag, 25. August 2012 09:05
         > To: tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
         > Subject: Re: [tycho-user] multiple Tycho modules in one aggregator?
         >
         > I should have said that site-producer is not a regular Tycho module.
         >
         > Via exec-maven [1], it pulls a Tycho codebase from a Subversion
         > repository,
         > applies a patch and builds it with Maven/Tycho [2],
         > resulting in the update site which gets consumed by site-consumer.
         >
         > I guess if Tycho didn't complain about the non-existing file://...
         > repository, the profile/module trickery wouldn't be necessary.
         >
         > (Admittedly, once my patch gets applied to the source Subversion
         > repository by the maintainer of the same, my workaround is no longer
         > needed.)
         >
         > -Max
         >
         > [1] https://github.com/jenkinsci/jenkow-plugin/blob/master/activiti-
         > patch/pom.xml#L43
         > [2] https://github.com/jenkinsci/jenkow-plugin/blob/master/activiti-
         > patch/patch.sh
         >
         >
         > On 08/24/2012 06:08 PM, Igor Fedorenko wrote:
         > > Tycho is expected to resolve dependencies among reactor modules
         > > directly, without need to publish them in a p2 repository. You should
         > > not need site-producer project at all.
         > >
         > > --
         > > Regards,
         > > Igor
         > >
         > > On 12-08-24 7:30 PM, Max Spring wrote:
         > >> I have a multi-module POM with two Tycho modules (and other non-Tycho
         > >> modules).
         > >>
         > >>    <modules>
         > >>      <module>site-producer</module>
         > >>      <module>non-tycho1</module>
         > >>      <module>site-consumer</module>
         > >>      <module>non-tycho2</module>
         > >>    </modules>
         > >>
         > >> The site-producer module results (among other) in an update site
         > >> (package=eclipse-repository).
         > >> The site-consumer module wants to use this update site as repository,
         > >> via a file:///../../site-producer/target/repository reference.
         > >>
         > >> With the naive approach, when doing anything in a clean state on the
         > >> aggregator, Maven/Tycho complains with
         > >>
         > >>     No repository found at file:/.../target/repository.
         > >>
         > >> As a workaround, I came up with some profile trickery to have
         > >> site-consumer only active if the needed repository is actually there.
         > >> Now, this requires running 'mvn package' twice.
         > >> Not great.
         > >>
         > >> Is there a better way to do this?
         > >> Thanks!
         > >> -Max
         > >>
         > >> P.S.: The actual project is at https://github.com/jenkinsci/jenkow-
         > plugin
         > >>
         > >> _______________________________________________
         > >> tycho-user mailing list
         > >> tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
         > >> https://dev.eclipse.org/mailman/listinfo/tycho-user
         > > _______________________________________________
         > > tycho-user mailing list
         > > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
         > > https://dev.eclipse.org/mailman/listinfo/tycho-user
         > >
         >
         > _______________________________________________
         > tycho-user mailing list
         > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
         > https://dev.eclipse.org/mailman/listinfo/tycho-user
        _______________________________________________
        tycho-user mailing list
        tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
        https://dev.eclipse.org/mailman/listinfo/tycho-user____

        __ __


        _______________________________________________
        tycho-user mailing list
        tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
        https://dev.eclipse.org/mailman/listinfo/tycho-user



    _______________________________________________ tycho-user mailing list tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx> https://dev.eclipse.org/mailman/listinfo/tycho-user

    _______________________________________________
    tycho-user mailing list
    tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    https://dev.eclipse.org/mailman/listinfo/tycho-user




_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user




Back to the top