Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linked .classpath files: linked classpath entries paths not resolve against project base directory #3818

Closed
HeikoKlare opened this issue May 5, 2024 · 0 comments · Fixed by #3819

Comments

@HeikoKlare
Copy link
Contributor

Since #3806, linked .classpath files are supported. When using such a linked .classpath file, the path entries within that file are resolved against the folder containing the .classpath file instead of the project base directory, into which the .classpath file is linked.

Example: Having a project called PROJECT with a .classpath file in a linkedresources subfolder of a project, Tycho will resolve paths of classpath entries such as src_test to PROJECT/linkedresources/src_test instead of PROJECT/src_test. In consequence, paths used in linked .classpath files are currently not resolved correctly by Tycho.

Unfortunately, I had provided an integration test for the support of linked .classpath files in which a linked source folder is placed in the same folder as the linked .classpath file (https://github.com/eclipse-tycho/tycho/tree/main/tycho-its/projects/compiler.junitcontainer/junit5-with-linked-resources/linkedresources), so that the source folder is found (by accident) even though it is not resolved correctly by Tycho.

This is a follow-up to #3803.

@laeubi I missed this bug when validating against the SWT use case (eclipse-platform/eclipse.platform.swt#1203), as I had a slightly different configuration in my local setup when testing the improved Tycho version. I will provide a PR that corrects the behavior.

HeikoKlare added a commit to HeikoKlare/tycho that referenced this issue May 5, 2024
…o#3818

When using a linked .classpath file, the path entries within that file
are resolved against the directory containing the .classpath file
instead of the project base directory into which the .classpath file is
linked.

With this change, the paths within a .classpath file are resolved
against a passed EclipseProject. An existing regression test for linked
.classpath files is enhanced to not contain all linked resources in the
same folder (thus hiding the bug of using the folder containing the
linked .classpath file for resolving classpath entry paths).

Fixes eclipse-tycho#3818
laeubi pushed a commit that referenced this issue May 5, 2024
When using a linked .classpath file, the path entries within that file
are resolved against the directory containing the .classpath file
instead of the project base directory into which the .classpath file is
linked.

With this change, the paths within a .classpath file are resolved
against a passed EclipseProject. An existing regression test for linked
.classpath files is enhanced to not contain all linked resources in the
same folder (thus hiding the bug of using the folder containing the
linked .classpath file for resolving classpath entry paths).

Fixes #3818
eclipse-tycho-bot pushed a commit that referenced this issue May 5, 2024
When using a linked .classpath file, the path entries within that file
are resolved against the directory containing the .classpath file
instead of the project base directory into which the .classpath file is
linked.

With this change, the paths within a .classpath file are resolved
against a passed EclipseProject. An existing regression test for linked
.classpath files is enhanced to not contain all linked resources in the
same folder (thus hiding the bug of using the folder containing the
linked .classpath file for resolving classpath entry paths).

Fixes #3818

(cherry picked from commit 7490426)
eclipse-tycho-bot pushed a commit that referenced this issue May 5, 2024
When using a linked .classpath file, the path entries within that file
are resolved against the directory containing the .classpath file
instead of the project base directory into which the .classpath file is
linked.

With this change, the paths within a .classpath file are resolved
against a passed EclipseProject. An existing regression test for linked
.classpath files is enhanced to not contain all linked resources in the
same folder (thus hiding the bug of using the folder containing the
linked .classpath file for resolving classpath entry paths).

Fixes #3818

(cherry picked from commit 7490426)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant