Hi Robert, Am 27.02.2014 18:54, schrieb Robert Scholte:
"But I had to do this because otherwise I would also get the profile triggered dependencies and can not figure out their origin to filter them."Which method were you using?
Initially MavenProject.getDependencies()then MavenProject.getOriginalModel().getDependencies() (recursively via MavenProject.getParent()).
I had all this manually tested. E.g. net.sf.m-m-m:mmm-util-core is one of my use-cases.I'll add an IT for this and see if it is really required.
I could also use a regular Interpolator and configure it manually. However, I would like to reuse as much as original logic of maven as possible. If I start parsing Strings and looking for ${...} I will end up in a maintenance hell. As long as I am waiting for some core Maven coder for hints to my problem, I can try instantiating StringSearchInterpolator as I assume this is the core logic used to do the interpolation. Any hints would help for my enlightenment...It shouldn't be required to use the ModelInterpolator.
Robert
Regards Jörg
Op Thu, 27 Feb 2014 00:51:43 +0100 schreef Jörg Hohwiller <jo...@j-hohwiller.de>:Hi there, I need help from a real maven expert - see below... Am 26.02.2014 23:51, schrieb Jörg Hohwiller:Am 26.02.2014 21:08, schrieb Robert Scholte: [...]The resolve-properties now exposes a small issue: the property is not resolved. I hope you can fix that.Sure. That is coming from the fact that I now take them from the originalModel instead of the MavenProject itself. But I had to do this because otherwise I would also get the profile triggered dependencies and can not figure out their origin to filter them. I will try to fix this. I think it is easier to re-interpolate the properties using the MavenProject than trying to match which of the MavenProject dependencies match to which un-interpolated dependency. If anybody has a hint for some magic function in Maven that already does this job so I can reuse it and get the exact same feature, please let me know...I added this: @Component private ModelInterpolator interpolator; and this: ... try { this.interpolator.interpolate(model, this.project.getBasedir(), this.project.getProjectBuilderConfiguration(), getLog().isDebugEnabled()); } catch (ModelInterpolationException e) { throw new MojoExecutionException("Interpolation failed", e); } return model; } what I get is this: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:consumer-maven-plugin:0.9.0-SNAPSHOT:consumer (default-cli) on project resolve-properties: Execution default-cli of goal org.codehaus.mojo:consumer-maven-plugin:0.9.0-SNAPSHOT:consumer failed: An API incompatibility was encountered while executing org.codehaus.mojo:consumer-maven-plugin:0.9.0-SNAPSHOT:consumer: java.lang.NoSuchMethodError:org.apache.maven.project.MavenProject.getProjectBuilderConfiguration()Lorg/apache/maven/project/ProjectBuilderConfiguration;Seems like to much classloader and shading magic is going on for my poor understanding of maven internals. Any help is very much appreciated. Thanks Jörg--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
smime.p7s
Description: S/MIME Cryptographic Signature