Comments (5)
I investigated a bit here, one problem is that the maven cli uses a magic maven.multiModuleProjectDirectory property to guess the root/location of a multi module build. In the context of m2e no such thing exists as far as I can tell (we only have a global IMaven
instance).
There is org.apache.maven.execution.MavenExecutionRequest.setMultiModuleProjectDirectory(File)
but I can't find it is used somewhere in m2e nor maven.
What I can think of is that we enhance the org.eclipse.m2e.core.MavenPlugin.getMaven()
to accept a project/path/resource/... and we bubble up the hierarchy to find a .mvn folder for it and create a separate IMaven for those where an .mvn folder is present.
Otherwise we might need to consider adding/removing extension components on execution but I'm not sure if this works well. Is there a document describing how m2e works internally? Do we only execute one execution request at a time or could the run concurrently per project?
from m2e-core.
Another approach I could think of is that we can handle this at creation time of the execution request. But there are also some (deprecated) things that might not fit there especially in the area of lookups that actually would require to know the extensions so maybe that won't fit much.
Whatever we choose here, I really wonder how "costly" in the sense of memory and time to have several PlexuContainer. Should we avoid creating new containers a much as possible as it take considerable time? Are they take a considerable amount of memory? Can we maybe balance this a bit by keeping at least a (configurable?) number of containers?
from m2e-core.
Requires
from m2e-core.
I think we can close this as basic support for extensions is there, and we would now need more specific tickets like
to further improve this.
from m2e-core.
Yes, that's a good way forward, and it's great that we can say m2e now has (some) support for .mvn; it's a major achievement!
from m2e-core.
Related Issues (20)
- Issue with using exec.args with exec:java HOT 1
- Maven error when trying to clean
- ClassCastException because of property page shown when it should not be shown
- Never return path to `pom.xml` for artifact files except for type = "pom"
- Missing tag 2.4.1 in this repo HOT 2
- NPE in AbstractJavaProjectConfigurator HOT 4
- Artifacts with snapshot version are still downloaded from Maver repository even when they are imported into the Eclipse workspace
- java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.m2e.jdt.internal.AbstractJavaProjectConfigurator HOT 1
- Endless build loop (again) HOT 5
- Deadlock during startup
- org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.m2e.jdt" was unable to instantiate class "org.eclipse.m2e.jdt.internal.JavaProjectConfigurator". HOT 2
- Please don't transitively reference a p2 repository with abitrary JustJ JRE versions HOT 21
- PDE integration: resolving of maven dependency doesn't use configured proxy (+ can't force update refresh) HOT 4
- Support for version 22 HOT 8
- Failed to import Maven project if its 'build.project.directory' property points to an external folder
- Multi-Release JAR is not recognized as such HOT 3
- M2E's Mac build fails when executing m2e.rcptt.tests HOT 5
- Support for locking plugin versions
- m2e removes junit and test classpath entries on eclipise-plugin project (regression)
- M2E version 2.6.1 fail to process <classifier> tag HOT 19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from m2e-core.