Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] how does the tycho compiler for test code find all the dependencies?

Currently the .classpath is used as this has the lowest impact and code changes.

Especially as you described that maven+pde do not play well here, it has proven to be the best driver for a feature to first make it happen in the UI (e.g. can be a maven and a pde plugin at the same time) and then we can support this in tycho also.

Am 02.08.21 um 09:33 schrieb Johan Compagner:
i tested with the snapshots and now it works

i wonder do you now take the .classpath or the pom.xml dependencies?

I would love that i don't need the .classpath but that a plugin project can be a maven and a pde plugin at the same time (but last time i checked that really goes bad because both try to clean and compile the same stuff)

But you can't have a MAVEN_DEPENDENCIES container without being a maven project/builder itself.. which is a pity

But with 2.5 it works for me.

I will now try to check that other product problem, one problem is that downloads.eclipse.org <http://downloads.eclipse.org> has major problems from this weekend on Many of our jenkins jobs all fail (one of my biggest annoying problems with tycho...)
But i see locally it kind of does what i want:

[INFO] Computing target platform for MavenProject: org.sablo:sablo:2021.9.0.3700_rc @ C:\Users\jcomp\git\servoy_master\sablo\sablo\pom.xml [WARNING] Failed to access p2 repository http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952 <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952>, use local cache. Neither http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.jar <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.jar> nor http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.xml <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.xml> found. [WARNING] Failed to access p2 repository https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository>, use local cache. Neither https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.jar <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.jar> nor https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.xml <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.xml> found.

(using 2.5 snapshot)

but that doesn't seem to happen at our builds (it does bomb out on pretty much all our eclipse jobs over all branches)

[WARNING] Failed to access p2 repository http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952 <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952>, use local cache. Neither http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.jar <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.jar> nor http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.xml <http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/content.xml> found. [WARNING] Failed to access p2 repository https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository>, use local cache. Neither https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.jar <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.jar> nor https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.xml <https://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/content.xml> found. [ERROR] Failed to resolve target definition /var/lib/jenkins/jobs/master/jobs/servoy-eclipse/workspace/launch_targets/com.servoy.eclipse.target.target: Failed to load p2 metadata repository from location https://download.eclipse.org/egit/updates-5.11 <https://download.eclipse.org/egit/updates-5.11>: Artifact not found: https://download.eclipse.org/egit/updates-5.11/content.xml.xz <https://download.eclipse.org/egit/updates-5.11/content.xml.xz>. -> [Help 1]




On Fri, 30 Jul 2021 at 14:40, Christoph Läubrich <laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>> wrote:

    The best would be to upgrade your project to 2.5.0-SNAPSHOT [1]

    This generally helps us to discover regressions early and verify
    bug-fixes and new features.

    [1] https://github.com/eclipse/tycho/wiki#getting-tycho-snapshots
    <https://github.com/eclipse/tycho/wiki#getting-tycho-snapshots>

    Am 30.07.21 um 14:28 schrieb Johan Compagner:
     > but for now this will just not work with tycho 2.4 right?
     >
     > so for this project i just need to fallback to 2.3 until 2.5 is
    out with
     > a fix that really looks at the pom (test) dependencies for
    compiling and
     > running tests.
     >
     >
     > On Fri, 30 Jul 2021 at 12:05, Christoph Läubrich
    <laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>
     > <mailto:laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>>> wrote:
     >
     >     Many thanks Johan for this example and the clarifications!
     >
     >       > The manifest (plugin stuff) shouldn't really do anything
    with that.
     >       > The final build of this project should be completely
    without any
     >     test
     >       > references.
     >
     >     I fully agree with you that this should 'just work' but until
    now it
     >     was
     >        doubt that this is useful or even a valid use-case and I
    was a bit
     >     lost to argue fore more support in that area.
     >
     >     Because of this its good to know that there are other people
    having
     >     such
     >     'strange' setup/uses and I'll try to provide a fix for your
    case ASAP...
     >
     >
     >
     >     Am 30.07.21 um 11:50 schrieb Johan Compagner:
     >      >
     >      >
     >      > Op do 29 jul. 2021 06:56 schreef Christoph Läubrich
     >      > <laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>
    <mailto:laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>>
     >     <mailto:laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>
    <mailto:laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>>>>:
     >      >
     >      >     Hi Johan,
     >      >
     >      >     I think your right that this case (using tycho+...?)
    is not
     >     covered by
     >      >     any integration test, can you provide a PR with an
    itest[1]
     >     that shows
     >      >     the problem?
     >      >
     >      >
     >      >
     >      > i created a copy of the current jsunit test:
     >      > jsunit with mvn test dependencies by jcompagner · Pull Request
     >     #206 ·
     >      > eclipse/tycho (github.com <http://github.com>
    <http://github.com <http://github.com>>)
     >     <https://github.com/eclipse/tycho/pull/206
    <https://github.com/eclipse/tycho/pull/206>
     >     <https://github.com/eclipse/tycho/pull/206
    <https://github.com/eclipse/tycho/pull/206>>>
     >      >
     >      > and added 1 more pure test dependency
     >      >
     >      > (in eclipse itself this is must be configured to use the
    M2_REPO
     >      > variable to compile, this is becaues a project can't be a
    plugin
     >     and a
     >      > maven project at at the same time, at least last time i
    checked)
     >      >
     >      > But thats just the .classpath for eclipse itself.
     >      > in pom.xml we have that extra test dependency
     >      >
     >      > <https://github.com/eclipse/tycho/pull/206
    <https://github.com/eclipse/tycho/pull/206>
     >     <https://github.com/eclipse/tycho/pull/206
    <https://github.com/eclipse/tycho/pull/206>>>
     >      >
     >      >
     >      >
     >      >       > because tycho I guess only looks at plugin
    dependencies?
     >      >
     >      >     It looks at the plugin dependencies + some classpath
     >     containers, but
     >      >     pure maven-dependecies are not (yet) taken into
    account, I'll add
     >      >     support for this right now its clear how your setup works.
     >      >
     >      >
     >      > yes how else can this be done?
     >      > If not through mvn depedencies?
     >      > The manifest (plugin stuff) shouldn't really do anything
    with that.
     >      > The final build of this project should be completely
    without any
     >     test
     >      > references.
     >      >
     >      >
     >      >     [1]
     >      >
     >
    https://github.com/eclipse/tycho/wiki#providing-an-integration-test
    <https://github.com/eclipse/tycho/wiki#providing-an-integration-test>
>  <https://github.com/eclipse/tycho/wiki#providing-an-integration-test <https://github.com/eclipse/tycho/wiki#providing-an-integration-test>>
     >      >
>  <https://github.com/eclipse/tycho/wiki#providing-an-integration-test <https://github.com/eclipse/tycho/wiki#providing-an-integration-test> <https://github.com/eclipse/tycho/wiki#providing-an-integration-test <https://github.com/eclipse/tycho/wiki#providing-an-integration-test>>>
     >      >
     >      >     Am 28.07.21 um 18:01 schrieb Johan Compagner:
     >      >      > hi,
     >      >      >
     >      >      > now that we have instead of this:
     >      >      >
     >      >      > [INFO] --- maven-compiler-plugin:3.8.1:testCompile
     >     (compiletests) @
     >      >      > sablo ---
     >      >      > [INFO] Toolchain in maven-compiler-plugin:
     >     JDK[c:/javatools/jdk18/]
     >      >      > [INFO] Nothing to compile - all classes are up to date
     >      >      >
     >      >      > this:
     >      >      >
     >      >      > [INFO] --- tycho-compiler-plugin:2.4.0:testCompile
     >      >     (default-testCompile)
     >      >      > @ sablo ---
     >      >      > [INFO] Compiling 5 source files to
     >      >      >
     >     C:\Users\jcomp\git\servoy_master\sablo\sablo\target\test-classes
     >      >      > [INFO]
     >      >      >
     >      >
>  ------------------------------------------------------------------------
     >      >      >
     >      >      > we have problem that it can't find all kind of classes
     >     that are
     >      >     just by
     >      >      > the test classes
     >      >      > i am not talking about the junit itself but:
     >      >      > sablo/pom.xml at master · Servoy/sablo (github.com
    <http://github.com>
     >     <http://github.com <http://github.com>>
     >      >     <http://github.com <http://github.com>
    <http://github.com <http://github.com>>>)
     >      >      >
>  <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285
    <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285>
>  <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285
    <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285>>
     >      >
>  <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285
    <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285>
>  <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285
    <https://github.com/Servoy/sablo/blob/master/sablo/pom.xml#L285>>>>
     >      >      >
     >      >      > for us testing always just worked because we use the
     >     normal maven
     >      >      > compile and the normal maven dependency resolution
    (so we have
     >      >     all the
     >      >      > jars that are used by test as a normal pom dependency)
     >      >      >
     >      >      > but now we get:
     >      >      >
     >      >      > [ERROR] Failed to execute goal
     >      >      >
    org.eclipse.tycho:tycho-compiler-plugin:2.4.0:testCompile
     >      >      > (default-testCompile) on project sablo: Compilation
    failure:
     >      >     Compilation
     >      >      > failure:
     >      >      > [ERROR]
     >      >      >
     >      >
>  C:\Users\jcomp\git\servoy_master\sablo\sablo\src\test\java\org\sablo\filter\SecurityFilterTest.java:[22]
     >      >      > [ERROR]         import static org.mockito.Matchers.any;
     >      >      >
     >      >      >
     >      >      > because tycho I guess only looks at plugin
    dependencies?
     >      >      > But i don't want to add that to the plugins
    dependencies
     >     they are
     >      >     purely
     >      >      > test stuff
     >      >      >
     >      >      > reading this: tycho/RELEASE_NOTES.md at master ·
    eclipse/tycho
     >      >      > (github.com <http://github.com> <http://github.com
    <http://github.com>> <http://github.com <http://github.com>
     >     <http://github.com <http://github.com>>>)
     >      >
>  <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md
    <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md>
>  <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md
    <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md>>
     >      >
>  <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md
    <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md>
>  <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md
    <https://github.com/eclipse/tycho/blob/master/RELEASE_NOTES.md>>>>
     >      >      >
     >      >      > i only see stuff about the jsunit container, but thats
     >     only part
     >      >     of the
     >      >      > problem
     >      >      >
     >      >      > also the sample:
     >      >      >
     >      >      >
>  tycho/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle at
     >      >      > master · eclipse/tycho (github.com
    <http://github.com> <http://github.com <http://github.com>>
     >     <http://github.com <http://github.com> <http://github.com
    <http://github.com>>>)
     >      >      >
     >      >
>  <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle> <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle>>
     >      >
>  <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle> <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle <https://github.com/eclipse/tycho/tree/master/tycho-its/projects/compiler.junitcontainer/junit4-in-bundle>>>>
     >      >      >
     >      >      > is to simple because that doesn't use extra pure
    test libs
     >      >      >
     >      >      > --
     >      >      > Johan Compagner
     >      >      > Servoy
     >      >      >
     >      >      > _______________________________________________
     >      >      > tycho-user mailing list
     >      >      > tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx> <mailto:tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx>>
     >     <mailto:tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx> <mailto:tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx>>>
     >      >      > To unsubscribe from this list, visit
     >      > https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>
     >      >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>>
     >      >      >
     >      >     _______________________________________________
     >      >     tycho-user mailing list
     >      > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    <mailto:tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>>
     >     <mailto:tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx> <mailto:tycho-user@xxxxxxxxxxx
    <mailto:tycho-user@xxxxxxxxxxx>>>
     >      >     To unsubscribe from this list, visit
     >      > https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>
     >      >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>>
     >      >
     >      >
     >      > _______________________________________________
     >      > tycho-user mailing list
     >      > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    <mailto:tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>>
     >      > To unsubscribe from this list, visit
     > https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>
     >      >
     >     _______________________________________________
     >     tycho-user mailing list
     > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    <mailto:tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>>
     >     To unsubscribe from this list, visit
     > https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >     <https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>>
     >
     >
     >
     > --
     > Johan Compagner
     > Servoy
     >
     > _______________________________________________
     > tycho-user mailing list
     > tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
     > To unsubscribe from this list, visit
    https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>
     >
    _______________________________________________
    tycho-user mailing list
    tycho-user@xxxxxxxxxxx <mailto:tycho-user@xxxxxxxxxxx>
    To unsubscribe from this list, visit
    https://www.eclipse.org/mailman/listinfo/tycho-user
    <https://www.eclipse.org/mailman/listinfo/tycho-user>



--
Johan Compagner
Servoy

_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user



Back to the top