-
Notifications
You must be signed in to change notification settings - Fork 116
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
Embedd org.eclipse.m2e.workspace.cli into a m2e.maven.ext core-extension #551
Comments
@HannesWell what do you think, should we simply include this plugin (maybe under a new name) to further proceed here? |
Good question. I have not thought about this further and cannot tell. But IIRC m2e is using it only internally anyway so we could include it now and again replace it later in case the project evolves in the future. |
I think we effectively would "adopt" the project then, so we ca change/evolve the code and others probably then use this if they want to. |
Yes. And I think it is not worth it to add another plug-in just because a dependency is not actively developed anymore if it is working as we need it to work. As far as I can tell the workspace.cli is only used to enabled If I searched correctly it is the following Option for a Maven launch: I wonder if we need this, but if one can really 'override' a dependency to use the one from the workspace that sounds really useful for testing. On the other hand this would likely only work for the build time, not when you install the projects being build in the local maven cache. |
Last time there where some "deprecated" / "don't use anymore" methods
In a normal mvn command-line build (and that's what we are doing here!) everything is only resolved from the current reactor build, then from the repository and then fails. To prevent this, maven allows to register a so called "Workspace Reader", that allows to inject additional "workspace" artifacts (e.g. projects in an eclipse workspace) so the order is |
Thanks for the elaboration. That is indeed usefull. |
I think @akurtakov can better tell here as he is a contributor of that project :-) |
That surprised me a lot (looks like I never really contributed anything but a releng fix) :) . I'm not sure I understand what the question is exactly but workspace reader is a general concept that applies to Maven builds in general and we relied on it in XMvn to override version with system one in RPM builds. |
@HannesWell as the story about upgrade to latest archetype might require additional extensions to be loaded for maven runs: How is the status here? Are we "safe" to adopt this class or do we need a CQ here? My plan is that we just have a |
Sorry I didn't have the time/got distracted to continue here.
Is there a dedicated ext-classpath in Maven? Or is it just the regular classpath to which MavenEmbeddedRuntime.initClasspath() adds all fragments of
Also some cool features like the maven-build view from https://github.com/ifedorenko/com.ifedorenko.m2e.mavendev (which I would like to import into m2e in the future, will open a dedicated issue for that in the future) use such a maven-side project. With that there is the question if we should only have one such maven-side project or if we should have one per subject? By the way, where do I get 48h days? 😅 |
I just wondering if you have opened one or I should do so.
In maven CLI, yes there is a special folder, for m2e might compute the classpath different.
One for all, we can simply enable/disable them if required by passing a system option.
Don't understand this, what do you mean by connection? if we need IPC then it will of course depend, e.g. one might simply write out relevant state to a file and simply pass that file as an argument and then the extension can read it.
You mean we can drop windows support? |
No I have not. If you can/want to do it, please go ahead.
Yes I was referring to IPC. That would work in some cases but in some cases would at least be not ideal. But yes it depends. :)
That would be bad, because then I couldn't use m2e anymore. But I was told that contrary to the name, Unix domain sockets also work on Windows. Maybe only Windows 10 and later but I assume that earlier versions are still relevant. |
Stupid me didn't noticed that we already have this imported :-D So it would just be a mater of merging it here.... and then archive the former one... |
The project
org.eclipse.m2e.workspace.cli
, which is published via m2e-core's repository is currently located in a separate repository:https://github.com/eclipse-m2e/org.eclipse.m2e.workspace
At the moment the small project is inactive for years. On Maven-Central only for Takari artifacts use it:
https://mvnrepository.com/artifact/io.takari.m2e.workspace/org.eclipse.m2e.workspace.cli
It is licensed under EPLv1.0
As discussed in PR #533 we should consider to include respectively embedded its classes (as an internal) into the m2e-core code base, unless it provides some API functionality used by other in order to 'connect' to m2e.
We could then immediately discard deprecated code.
The text was updated successfully, but these errors were encountered: