-
Notifications
You must be signed in to change notification settings - Fork 143
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
Restore CLASSPATH_ATTR_LIBRARY_PATH_ENTRYs in native .classpath files #1031
Conversation
Can you declare multiple attributes in the
Edit - no, cancel that, sorry! |
And now the |
Too bad.
It works if you have created the launch config while you had set an explicit value of the attribute. I think somebody has to check JDT, why the variable replacement does not work (or if it is implemented at all). I can try to have a look later, but if somebody else is interested in doing that, help would be more than welcome. :) |
Sorry, I don't have enough JDT-Fu to do that. And it might take some time for JDT to look at it. In the meantime, as this breaks SWT Snippet testing, what about providing explicit separate |
f4d9d5d
to
93bde44
Compare
Without that launching standalone Java SWT application from the development workspace fails to load the native binaries of the platform.
93bde44
to
4726553
Compare
@HannesWell Your latest commit seems to be working on Mac for both aarch64 and x86_64. I didn't test Windows or Linux. |
I looked into this at JDT and it is actually working. The problem is just that ${project_name}, if no argument is specified, resolves to the name of the currently selected project, which is of course the org.eclipse.swt.snippets projects if one selects to run a SWT example snippet. After thinking about it again, what we actually want is using |
Thanks a lot for the quick tests. |
+1 @HeikoKlare Please test. |
Shouldn't there be one classpath file per fragment anyways? Even though there might be some duplication these files actually never change, same for the settings files. I just wanted to mention this as Tycho currently does not support linked files in all deepth so some features (especially API tools and probably pomless as well) wont work as expected if they can't find the information, see for example: |
I've tested the changes on Windows and Linux and both work as expected. Thanks, Hannes!
That sounds reasonable and I'd also prefer that. |
@HannesWell Is this something you are considering? |
I definitely considered this, but I'm actually quite happy that it was possible to just link these resources and I put effort into making it possible (like this PR). Correct me if I'm wrong, but as far as I can tell there is no real problem with the current linking approach, even the API-check in Tycho seems to work. And even if the .classpath files change often I think it is good to have them linked to make it clear and ensure they are identical for each os. Or do you see any real disadvantages of this approach? |
I personally like your approach. I asked "Is this something you are considering?" just to see if this approach will remain as is. I think, though, that @laeubi and @HeikoKlare have some concerns? |
I'm glad you like it.
In general I would be in favor of that, but I'm currently working on making the project setup even more Maven oriented, which eventually will allow us to add an OSGi requirement from the host to the fragment, which ensures a suitable fragment is always present in an OSGi runtime. And with that a few things will change again, but I personally don't plan to change the linking in general at the moment. |
I also really like the current approach and highly appreciate the effort Hannes has already put into improving the SWT setup! I don't have any concerns regarding the current approach. I just wanted to mention that Christoph's proposal in #1031 (comment) of having one .classpath file per fragment sounds reasonable to me. But that was just a comment and nothing that needs to be addressed, in particular if the setup will further change anyway. |
Without that launching standalone Java SWT application from the development workspace fails to load the native binaries of the platform, as it was discovered in #1008 (comment).
Unfortunately it looks like variable resolving does not work (at least it didn't work for me locally), altough this old forum post says it should work to resolve variables in
org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY
's value:https://www.eclipse.org/forums/index.php/t/152868/
Does anybody now if there is something else that needs to be done?