[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [m2e-dev] m2e-wtp / pomproperties conflict
|
I am not sure I understand if you agree or disagree ;-) so let me
explain the solution I have in mind
1. We move maven-jar-plugin integration to a separate m2e extension.
This extension will generate jar manifest and pom.xml/pom.properties
files under target/classes/META-INF folder.
2. m2e-wtp will be updated to pick generated manifest from
target/classes/META-INF and do whatever needs to be done to make wtp
happy. This can be implemented via secondary configurator or some other
wtp-specific means.
Does this look doable?
--
Regards,
Igor
On 11-06-23 5:42 PM, Fred Bricon wrote:
2011/6/23 Igor Fedorenko <igor@xxxxxxxxxxxxxx <mailto:igor@xxxxxxxxxxxxxx>>
I've opened https://bugs.eclipse.org/bugs/__show_bug.cgi?id=350138
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=350138>
see my comments inline
--
Regards,
Igor
On 11-06-23 4:50 PM, Fred Bricon wrote:
Igor,
I totally agree on principle, Manifest generation should not be
dependent on m2e-wtp and belongs with the pom properties plugin.
But, it's not that simple. JavaEE projects (EAR, WAR, ...) do
not deploy
that manifest in the same place (target/classes/META-INF).
m2e-wtp needs to either control the generation directory, so it
will be
deployed by WTP, or it needs to know were the archiver will
decide to
generate it.
This looks like wtp bug/limitation. Although I am sympathetic to the
difficulties you face working around wtp problems, I would rather not
make m2e design decisions exclusively based on what wtp can and
cannot do.
If you look at
https://github.com/sonatype/m2eclipse-wtp/blob/master/org.maven.ide.eclipse.wtp/src/org/maven/ide/eclipse/wtp/manifest/AbstractManifestConfigurator.java
you will see the coupling with WTP is pretty limited and could mostly be
abstracted behind pre/post processor methods
WTP relies on a component metadata descriptor to know where to pick
resources from.
I'm not very familiar with Webby, but if I recall correctly, it also
places stuff in a specific directory for deployment.
Would you call that a limitation too?
Either way, we need to introduce a dependency between m2e-wtp
and the
archiver plugin upstream. as we saw it today, dependencies between
plugins need to be better addressed.
This is not really a problem. It is quite trivial to tell p2 what
additional repositories it needs to consider when installing wtp.
Great then. Show me what to do and I'll put the dependency to
pomproperties back so we can get both plugins back to the marketplace
Also, for the moment, only jar projects that are utility
projects (i.e.
WTP projects) have the manifest generation enabled. I did this
because I
was experiencing a nasty bug. I need to look back at it.
Anyway, if the current lifecycle mapping mechanism is unchanged, the
only solution I can think of is to add the archiver plugin back
to m2e-core.
That way pom / manifests would be generated by default for jar
projects,
m2e-wtp would provide the manifest configurators implementations
that
would tell the archiver were to generate the files for WAR, EAR,
RAR ...
No. Integration with maven-jar-plugin in general and jar manifest
generation in particular do not belong to m2e core. m2e core is a
framework. It does not have hardcoded support for any maven plugin and I
believe we should keep it like that.
Agreed.
Likewise, manifest generation does not belong to m2e-wtp. It is a
separate feature and should be available independently.
I already said I agreed to that too :-)
WDYT?
Regards,
Fred Bricon
2011/6/23 Igor Fedorenko <igor@xxxxxxxxxxxxxx
<mailto:igor@xxxxxxxxxxxxxx> <mailto:igor@xxxxxxxxxxxxxx
<mailto:igor@xxxxxxxxxxxxxx>>>
Is manfiest customization to m2e-wtp integration and/or JEE
development?
After looking rather quickly at MECLIPSEWTP-45 and maven
archiver
documentation [5], I am tempted to say it is not. I think we
should pull
maven-jar-plugin integration out of m2e-wtp to a separate
m2e extension
and merge it with pom.properties generation logic. What do
you think?
[5] http://maven.apache.org/____shared/maven-archiver/
<http://maven.apache.org/__shared/maven-archiver/>
<http://maven.apache.org/__shared/maven-archiver/
<http://maven.apache.org/shared/maven-archiver/>>
--
Regards,
Igor
On 11-06-23 2:05 PM, Fred Bricon wrote:
Hi,
m2e-wtp 0.13.0 adds support for Manifest generation ([1]
[2]).
In order
to trigger the manifest configurator for jar projects, a
configurator is
mapped to the maven-jar-plugin:jar goal [3].
I only realized yesterday, while trying to release
0.13.0, that it
conflicted with the pomproperties configurator which does
exactly the
same thing [4]
If I Declare the manifest configurator as secondary to the
pomproperties
one, then it won't be called if pomproperties is not
installed.
Which lead me to add a hard dependency from m2e-wtp to
pomproperties.
Problem is, if you tried to install m2e-wtp from the
discovery
mechanism, then it would fail without giving an explicit
reason
to the
user, because the pomproperties update site would not be
contacted, so
the P2 couldn't resolve that dependency.
The decision was taken to remove both the dependency to
pomproperties
and the pomproperties plugin itself from the marketplace, in
order to
provide a better user experience.
Adding a dependency to pomproperties was not necessarily
a bad
decision.
I mean any plugin could depend on another one.
IMHO, the marketplace should contact all the update sites
available from
the connector.xml, and of course, the error message in
cause of a
dependency issue should be clear.
Anyway, I heartily thank Igor for helping me push
m2e-wtp 0.13
out in
the open.
Regards,
Fred Bricon
[1]
https://issues.sonatype.org/____browse/MECLIPSEWTP-45
<https://issues.sonatype.org/__browse/MECLIPSEWTP-45>
<https://issues.sonatype.org/__browse/MECLIPSEWTP-45
<https://issues.sonatype.org/browse/MECLIPSEWTP-45>>
[2]
http://dev.eclipse.org/____mhonarc/lists/m2e-dev/____msg00496.html
<http://dev.eclipse.org/__mhonarc/lists/m2e-dev/__msg00496.html>
<http://dev.eclipse.org/__mhonarc/lists/m2e-dev/__msg00496.html
<http://dev.eclipse.org/mhonarc/lists/m2e-dev/msg00496.html>>
[3]
https://github.com/sonatype/____m2eclipse-wtp/blob/0.13.0.____20110622-1130/org.maven.ide.____eclipse.wtp/lifecycle-mapping-____metadata.xml#L180
<https://github.com/sonatype/__m2eclipse-wtp/blob/0.13.0.__20110622-1130/org.maven.ide.__eclipse.wtp/lifecycle-mapping-__metadata.xml#L180>
<https://github.com/sonatype/__m2eclipse-wtp/blob/0.13.0.__20110622-1130/org.maven.ide.__eclipse.wtp/lifecycle-mapping-__metadata.xml#L180
<https://github.com/sonatype/m2eclipse-wtp/blob/0.13.0.20110622-1130/org.maven.ide.eclipse.wtp/lifecycle-mapping-metadata.xml#L180>>
[4]
https://github.com/sonatype/____m2eclipse-extras/blob/master/____org.sonatype.m2e.____mavenarchiver.pomproperties/____lifecycle-mapping-metadata.xml
<https://github.com/sonatype/__m2eclipse-extras/blob/master/__org.sonatype.m2e.__mavenarchiver.pomproperties/__lifecycle-mapping-metadata.xml>
<https://github.com/sonatype/__m2eclipse-extras/blob/master/__org.sonatype.m2e.__mavenarchiver.pomproperties/__lifecycle-mapping-metadata.xml
<https://github.com/sonatype/m2eclipse-extras/blob/master/org.sonatype.m2e.mavenarchiver.pomproperties/lifecycle-mapping-metadata.xml>__>
--
"Have you tried turning it off and on again" - The IT Crowd
___________________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
<mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
https://dev.eclipse.org/____mailman/listinfo/m2e-dev
<https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
<https://dev.eclipse.org/__mailman/listinfo/m2e-dev
<https://dev.eclipse.org/mailman/listinfo/m2e-dev>>
___________________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
<mailto:m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>>
https://dev.eclipse.org/____mailman/listinfo/m2e-dev
<https://dev.eclipse.org/__mailman/listinfo/m2e-dev>
<https://dev.eclipse.org/__mailman/listinfo/m2e-dev
<https://dev.eclipse.org/mailman/listinfo/m2e-dev>>
--
"Have you tried turning it off and on again" - The IT Crowd
_________________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
https://dev.eclipse.org/__mailman/listinfo/m2e-dev
<https://dev.eclipse.org/mailman/listinfo/m2e-dev>
_________________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx <mailto:m2e-dev@xxxxxxxxxxx>
https://dev.eclipse.org/__mailman/listinfo/m2e-dev
<https://dev.eclipse.org/mailman/listinfo/m2e-dev>
--
"Have you tried turning it off and on again" - The IT Crowd
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-dev