Open laeubi opened 1 year ago
This only let the user find a connector or disable execution, but actually the user probably want to configure it in a way to execute the mapping using
<?m2e execute onConfiguration?>
(or incremental) as described here #1013 (comment))
Yes that would be good. ππ½ I especially like the processing-instruction based mappings because they are far less verbose and more focused.
And there is actually even a third option: <?m2e execute ?>
, which executes only on full builds. For completeness we could consider to add a corresponding argument onFullBuild
, to have onConfiguration
, onFullBuild
onIncremental
. Then onIncremental should be replaced/aliased by onIncrementalBuild
to only have onConfiguration
, onFullBuild
onIncrementalBuild
?
I think "incremental" is even the same as "full" this is a bit confusing and eclipse itself actually has a clean build option so actually it would be good to have:
configure
build
clean
By the way is there any configuration / code reference on this part of m2e? I haven't found one just the usual lifecyclemapping references, so maybe we can have at least a small wiki page describing this.
It is indeed not very clear.
There is a release note from long ago: https://www.eclipse.org/m2e/documentation/release-notes-17.html#new-syntax-for-specifying-lifecycle-mapping-metadata Nevertheless describing this in some documentation (not only release notes) would be better to find. But I think we should not start a wiki when we have a web-site. This could happen as part of https://github.com/eclipse-m2e/m2e-core/issues/831
That doc tells something different than I thought would happen if one only has execute
.
However, the clean option is a good idea. But couldn't M2E just be smart and run mojos marked to execute that are bound to the clean-lifecycle/phase in the clean build instead of the full/incremental build? Then there is no need for an extra option.
Nevertheless I think it can be good to have an execution only on full builds for things that are too heavy weight to execute on incremental, but should happen more often than only on configuration/initialization. E.g. build some documentation.
If possible we could add some details in the view, which pops up when you hover over elements in the pom-editor, that describes the processing-instruction.
I'd like to second using the processing-instructions. Is this issue sufficient to tackle it, or does it need a separate issue to request changing the pom.xml
-modifications by the existing quick fix to processing-instructions?
@dstango yes this issue can / should be used for this and using processing instructions seems most "lightweight" if added to the pom.
@laeubi sounds good. It also prevents the warning maven usually prints because of the non-existent lifecyle-mapping plugin, which has never been fixed: https://bugs.eclipse.org/bugs/show_bug.cgi?id=367870
Actually I think it would be great to have an additional quick-fix in the pom-editor to transform existing lifecycle-mapping-entries into the appropriate processing-instructions. And if I'd dream on I'd even wish for a deprecation warning when the lifecycle-mapping is used n the pom ... (unless it could perform other functions that I'm not aware of.)
@dstango dreams can come true with just opening a PR :-D
hehe ... ;-) @laeubi Any hint/link how to easily setup an environment to be able to test and contribute to this project/module?
I contributed last year a little something to the eclipse platform, but when everything moved from gerrit to github I got lost on the way... so I guess I'd need to start all over with a current setup.
@laeubi thanks, I'll check it out
@laeubi so I set it up (yet skipped RCPTT for the moment, hope that's okay), and tried m2e-core--build, resulting in:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-baseline-plugin:4.0.0-SNAPSHOT:verify (baseline-check) on project org.eclipse.m2e.archetype.common: Baseline problems found! Project version: 3.2.103.20230102-2253, baseline version: 3.2.103.20230102-2253, suggested version: 3.2.104
Where can I go from here?
PS: I tried to change the version of org.eclipse.m2e.archetype.common/pom.xml to 3.2.104-SNAPSHOT, which resulted in my build running longer, but ending up in a similar error message for some other pom ... so this seems to be like rabbit hole to me ... ;-)
@dstango in the log there should be a table mentioning why a version change is suggested, can you take a look here and maybe provide the file in question as a zipped item here?
If you change the version in org.eclipse.m2e.archetype.common
make sure you adjust it as well in the pom.xml
as well where it is referenced as a dependency.
@laeubi thatnks, here's the message table:
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ
βDelta βType βName βProject Version βBaseline Version βSuggested Version β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββ€
βMICRO βRESOURCES βorg.eclipse.m2e.archetype.β3.2.103 β3.2.103 β3.2.104 β
β β βcommon_3.2.103.20230102-22β β β β
β β β53.jar β β β β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ€
β..CHANGED βRESOURCE βabout.html β
ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
βdifferent β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.archetype.common [0:0]: Baseline problems found! Project version: 3.2.103.20230102-2253, baseline version: 3.2.103.20230102-2253, suggested version: 3.2.104
here's the zipped jar file: org.eclipse.m2e.archetype.common_3.2.103.20230102-2253.zip
If there were a change in the about.html
file it should show up in the git log, shouldn't it? I can only find a last change in 2020.
A little above the table there are some warnings - don't know if they are of interest:
[INFO] --- bnd-maven-plugin:6.4.0:bnd-process (prepare-jar-with-manifest) @ org.eclipse.m2e.archetype.common ---
[WARNING] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.archetype.common\pom.xml [0:0]: Host org.eclipse.m2e.maven.runtime=bundle-version="[3.0.0,4.0.0)" for this fragment/require bundle cannot be found on the classpath
[WARNING] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.archetype.common\pom.xml [0:0]: Host com.ibm.icu= for this fragment/require bundle cannot be found on the classpath
[WARNING] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.archetype.common\pom.xml [0:0]: Export org.apache.maven.archetype.common, has 1, private references [org.jdom2]
[WARNING] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.archetype.common\pom.xml [0:0]: Export org.apache.maven.archetype.common.util, has 2, private references [org.jdom2, org.jdom2.output]
[WARNING] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\ANONYMOUS [0:0]: Invalid package name: 'META-INF.plexus' in Export-Package
Regarding:
If you change the version in org.eclipse.m2e.archetype.common make sure you adjust it as well in the pom.xml as well where it is referenced as a dependency.
I only tried to change the version in the pom.xml - can't find it anywhere else. Where exactly else should I look? I only found MANIFEST.MF-entries with version ranges, that seemed to match.
I found one reference to org.eclipse.m2e.archetype.common, though and changed that to 3.2.104-SNAPSHOT. The I run into the next issue with a new table:
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ
[ERROR] βDelta βType βName βProject Version βBaseline Version βSuggested Version β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββ€
[ERROR] βMICRO βRESOURCES βorg.eclipse.m2e.maven.runtβ3.8.701 β3.8.701 β3.8.702 β
[ERROR] β β βime_3.8.701.20230209-1606.β β β β
[ERROR] β β βjar β β β β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βMETA-INF/sisu/javax.inject.Named β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βabout.html β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ERROR] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\m2e-maven-runtime\org.eclipse.m2e.maven.runtime [0:0]: Baseline problems found! Project version: 3.8.701.20230209-1606, baseline version: 3.8.701.20230209-1606, suggested version: 3.8.702
Of course I could try to manually tweak with these versions ad infinitum, but I wonder if I'm doing something basic wrong here, as I somehow expected cloning the master branch should result in a compilable build ... ;-)
Next thing I'm gonna try is simply going back in git to some released version like 2.2.1 and see if that's buildable.
We have some issues in the baseline checks regarding windows line endings recently, I'll check that!
@laeubi thank you! And sorry for hijacking this issue with my build issues ...
@dstango no problem, but I would need your local files (about.html & META-INF/sisu/javax.inject.Named) as a zip to better understand the issue not the jar file :-)
I reverted to the original versions and this is the whole folder of org.eclipse.m2e.archetype.common:
org.eclipse.m2e.archetype.common.zip
Can't find the META-INF/sisu/javax.inject.Named though (probably will only show up if I fiddle with the versions first and do another build?!?)
Yes it should be generated during the build.
As you mentioned line endings I tried to re-clone the repository with autocrlf=false:
git clone -c core.autocrlf=false https://github.com/eclipse-m2e/m2e-core.git
... but that didn't help :-(.
So I went back to a manual change of that version 3.8.701-SNAPSHOT -> 3.8.702-SNAPSHOT in *.archetype.common, to get to sisu's name ;-). So here's the zipped target-directory (I removed some jars, as github complained the file being too big) to give you some context around:
BTW: Wikipedia has something to tell about sisu -- https://en.wikipedia.org/wiki/Sisu:
Sisu is extraordinary determination in the face of extreme adversity, and courage that is presented typically in situations where success is unlikely. It expresses itself in taking action against the odds, and displaying courage and resoluteness in the face of adversity; in other words, deciding on a course of action, and then adhering to it even if repeated failures ensue. It is in some ways similar to equanimity, though sisu entails an element of grim stress management.
I don't know why this somehow seems to fit quite well :-P ...
This should hopefully be fixed by this PR:
So we just need to be patient until it is merged and a new snapshot is there (usually about 3 hrs ...)
Actually I think it would be great to have an additional quick-fix in the pom-editor to transform existing lifecycle-mapping-entries into the appropriate processing-instructions.
That would be great. It would allow to make changes like https://github.com/apache/mina-sshd/pull/337 automatically. The conversion could also take the workspace setting into account about the default behavior for not mapped life-cycles.
Thinking about that. Maybe we should add another m2e-processing instruction that can be placed at top level of a project pom that specifies the default execution behavior in that case? This would simplify the case were non default behavior is wanted.
And if I'd dream on I'd even wish for a deprecation warning when the lifecycle-mapping is used n the pom ... (unless it could perform other functions that I'm not aware of.)
AFAICT there is not much more relevant possible, but it would be good to verify this when working on that feature. If you indeed fine something, we could also consider to enhance the processing-instructions. Here is some documentation about the mappings: https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html But you probably have to check the code to find out how it is working exactly now.
This should hopefully be fixed by this PR:
So we just need to be patient until it is merged and a new snapshot is there (usually about 3 hrs ...)
thank you! I'll try again later! :-)
@laeubi looks like the fix might be blocked: https://github.com/eclipse-tycho/tycho/pull/2258/checks?check_run_id=12100750131
I tried a rebuild with update of dependencies, and run into the same issue
It is now merged, but will take some time unless a new snapshot build is available:
ah, cool. Thanks! BTW: On what timezone does Mr Jenkins Tycho live? Looks like US eastern time or something?
the new snapshot build seems to be available, and the build progressed some more.
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ
[ERROR] βDelta βType βName βProject Version βBaseline Version βSuggested Version β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββ€
[ERROR] βMICRO βRESOURCES βorg.eclipse.m2e.model.editβ2.0.200 β2.0.200 β2.0.201 β
[ERROR] β β β-2.0.200-SNAPSHOT.jar β β β β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βHeader.javajetinc β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βmodel/Class.javajet β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/ListAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/SSESyncResource$DocumentAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/SSESyncResource.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.class β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/pom/pom.ecore β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/pom/pom.genmodel β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βorg/eclipse/m2e/model/pom/pom.xsd2ecore β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βsrc-xsd/org/eclipse/m2e/model/pom/pom.genmodel β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] βdifferent β
[ERROR] ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ERROR] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\org.eclipse.m2e.model.edit [0:0]: Baseline problems found! Project version: 2.0.200.20230130-0743, baseline version: 2.0.200.20230130-0743, suggested version: 2.0.201
Do you need any more zipped files? Or are the samples sufficient to probably add some more filenames/extensions to TextComparator
?
I guess we might run into some more surprises, considering the number of bundles left:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] M2E - Maven runtime bundles 2.1.0-SNAPSHOT ......... SUCCESS [ 1.949 s]
[INFO] M2E Maven Archetype Common 3.2.103-SNAPSHOT ........ SUCCESS [ 6.956 s]
[INFO] M2E Embedded Maven Runtime (includes Incubating components) 3.8.701-SNAPSHOT SUCCESS [ 15.155 s]
[INFO] Maven Integration for Eclipse (root) 2.1.0-SNAPSHOT SUCCESS [ 0.034 s]
[INFO] [target] m2e-target-platform 2.1.0-SNAPSHOT ........ SUCCESS [ 0.007 s]
[INFO] [bundle] M2E Maven Project Model Edit 2.0.200-SNAPSHOT FAILURE [ 17.376 s]
[INFO] Maven Integration for Eclipse Core Plug-in 2.0.7-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Maven Integration for Eclipse UI 2.0.4-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Launching 2.0.400-SNAPSHOT ............ SKIPPED
[INFO] [bundle] M2E JDT Integration 2.0.5-SNAPSHOT ........ SKIPPED
[INFO] [bundle] M2E JDT Integration UI 2.0.200-SNAPSHOT ... SKIPPED
[INFO] [bundle] M2E Refactoring 2.0.300-SNAPSHOT .......... SKIPPED
[INFO] [bundle] M2E Marketplace Discovery 2.0.200-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Maven POM File Editor 2.0.300-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Source Code Management 2.0.200-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Maven Profiles Management 2.1.1-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Maven Profiles Management UI 2.0.200-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Source Lookup Core 2.0.2-SNAPSHOT ..... SKIPPED
[INFO] [bundle] M2E Binary Project Core 2.1.100-SNAPSHOT .. SKIPPED
[INFO] [bundle] M2E Binary Project UI 2.0.0-SNAPSHOT ...... SKIPPED
[INFO] [bundle] M2E Source Lookup UI 2.0.200-SNAPSHOT ..... SKIPPED
[INFO] M2E Maven POM File Editor (Wild Web Developer, LemMinX, LS) 2.0.2-SNAPSHOT SKIPPED
[INFO] [bundle] M2E PDE Integration 2.0.300-SNAPSHOT ...... SKIPPED
[INFO] [bundle] M2E PDE Integration UI 2.0.200-SNAPSHOT ... SKIPPED
[INFO] [bundle] M2E PDE Connector 2.1.2-SNAPSHOT .......... SKIPPED
[INFO] [bundle] M2E JDT Annotation Processing Configurator Core 2.2.0-SNAPSHOT SKIPPED
[INFO] [bundle] M2E JDT Annotation Processing Configurator UI 2.0.300-SNAPSHOT SKIPPED
[INFO] [bundle] m2e connector for the mavenarchiver and pom properties 2.0.300-SNAPSHOT SKIPPED
[INFO] [bundle] M2E Testing Helpers 2.0.3-SNAPSHOT ........ SKIPPED
[INFO] [bundle] M2E Logback Appender and Configuration 2.1.100-SNAPSHOT SKIPPED
[INFO] [feature] M2E - POM Editor using LemMinX language server (includes Incubating components) 2.0.3-SNAPSHOT SKIPPED
[INFO] [feature] M2E - Maven Integration for Eclipse 2.2.1-SNAPSHOT SKIPPED
[INFO] [feature] M2E - SLF4J over Logback Logging 2.1.1-SNAPSHOT SKIPPED
[INFO] [feature] M2E - PDE Integration 2.2.0-SNAPSHOT ..... SKIPPED
[INFO] [feature] M2E - Complete Development Kit 2.2.2-SNAPSHOT SKIPPED
[INFO] Maven Integration for Eclipse Repository 2.1.0-SNAPSHOT SKIPPED
[INFO] [test-bundle] M2E Maven Integration for Eclipse Core Tests 2.0.0-SNAPSHOT SKIPPED
[INFO] M2E Maven Integration for Eclipse UI Tests 2.0.1-SNAPSHOT SKIPPED
[INFO] [test-bundle] M2E Binary Project Core Tests 2.0.1-SNAPSHOT SKIPPED
[INFO] [test-bundle] Tests for m2e multi-page editor 2.0.0-SNAPSHOT SKIPPED
[INFO] [test-bundle] M2E Maven POM File Editor using Wild Web Developer, Lemminx and Maven LS extension Tests 2.0.0-SNAPSHOT SKIPPED
[INFO] [test-bundle] M2E JDT Integration Tests 2.0.0-SNAPSHOT SKIPPED
[INFO] [test-bundle] M2E Maven Integration for Eclipse Profiles Core Tests 2.0.0-SNAPSHOT SKIPPED
[INFO] [test-bundle] m2e-apt Tests Plug-in 2.0.0-SNAPSHOT . SKIPPED
[INFO] M2E PDE Connector Tests 1.0.0-SNAPSHOT ............. SKIPPED
[INFO] [aggregator] products 2.1.0-SNAPSHOT ............... SKIPPED
[INFO] [product] M2Eclipse IDE 2.0.0 ...................... SKIPPED
[INFO] M2E - RCPTT Integration tests 2.1.0-SNAPSHOT ....... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:11 min
[INFO] Finished at: 2023-03-18T17:14:08+01:00
[INFO] ------------------------------------------------------------------------
Please let me know if I can support in decrease the number of roundtrips necessary to catch the variations, if I can do that easily.
I'll try to look into those as well, for the class file changes, can you tell what java version+vendor you used for compilation?
Usually its better to start "from the top" even though its a bit slower it prevents from getting some false positives that are a result of the previous failure.
thanks. I think this should give you all information:
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29)[m
Maven home: C:\Java\eclipse-contribution\m2e-master\git\m2e-core\EMBEDDED
Java version: 17.0.4.1, vendor: Azul Systems, Inc., runtime: C:\Program Files\Zulu\zulu-17
Default locale: de_DE, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
I can try some other version, if you want me to. Just tell me which.
Thanks I'll try to investigate on this and let you know when you can retry the build.
This reminds me that @HannesWell also wanted to enable a windows build, if it becomes to complicated to get win/linux equal we can even think about disabling the baseline check for windows all together ... but first let us see how far we can get.
@HannesWell can you tell what these *.javajetinc
are about? I also wonder about the *.ecore
and *.genmodel
do they really meant to be part of the binary distribution?
@laeubi thank you!!!
his reminds me that @HannesWell also wanted to enable a windows build, if it becomes to complicated to get win/linux equal we can even think about disabling the baseline check for windows all together ... but first let us see how far we can get.
That's right. I started this in https://github.com/eclipse-m2e/m2e-core/pull/1163, where you can also see the issues with building on windows (not only the baseline but also the GH runners themself).
@HannesWell can you tell what these
*.javajetinc
are about? I also wonder about the*.ecore
and*.genmodel
do they really meant to be part of the binary distribution?
I believe that the entire templates
in the m2e.model.edit Plugin can actually be removed. I started a while ago, but it staled. But I can prioritize this in the next days.
Regarding the ecore and genmodel files, that depends. If they are registered in an extension so that downstream consumers can use that to generate models based on that model, then yes they have to be in the binary artifact. And least for the genmodel in m2e.model.edit I see such registration. And according to the build.properties only the genmodel is binary included.
If it is inside a source folder it gets included regardless of bin includes.
Next round of optimization / aliasing:
for the class-changes I have no good explanation yet, but just in case its the only change left then I think we can just increase the minor version here ....
I just checked and get the same baseline problem under Linux and with the current source of m2e, so something seem to have changed in the compilation that results in different bytecode here :-\
@HannesWell I now have locally disabled the baseline-mojo, but the p2-plugin complains as well:
[INFO] --- tycho-p2-plugin:4.0.0-SNAPSHOT:p2-metadata (p2-metadata) @ org.eclipse.m2e.model.edit ---
[INFO] Adding repository https://download.eclipse.org/technology/m2e/snapshots/latest
[INFO] Adding repository https://download.eclipse.org/technology/m2e/snapshots/latest
[INFO] Artifact comparison detailed log directory /home/christoph/git/laeubi/m2e-core/org.eclipse.m2e.model.edit/target/artifactcomparison
[WARNING] MavenProject: org.eclipse.m2e:org.eclipse.m2e.model.edit:2.0.200-SNAPSHOT @ /home/christoph/git/laeubi/m2e-core/org.eclipse.m2e.model.edit/.tycho-consumer-pom.xml: baseline and build artifacts have same version but different contents
no-classifier: different
org/eclipse/m2e/model/edit/pom/translators/ListAdapter.class: different
org/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.class: different
org/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.class: different
org/eclipse/m2e/model/edit/pom/translators/SSESyncResource$DocumentAdapter.class: different
org/eclipse/m2e/model/edit/pom/translators/SSESyncResource.class: different
org/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.class: different
org/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.class: different
[INFO] MavenProject: org.eclipse.m2e:org.eclipse.m2e.model.edit:2.0.200-SNAPSHOT @ /home/christoph/git/laeubi/m2e-core/org.eclipse.m2e.model.edit/.tycho-consumer-pom.xml
The main artifact has been replaced with the baseline version.
The following attached artifacts have been replaced with the baseline version: [sources]
[INFO]
[INFO] --- tycho-p2-extras-plugin:4.0.0-SNAPSHOT:compare-version-with-baselines (check-no-version-regression) @ org.eclipse.m2e.model.edit ---
[INFO] Adding repository https://download.eclipse.org/technology/m2e/releases/latest
@dstango unless we have sorted this out I would suggest to edit m2e-core/m2e-parent/pom.xml
and remove the
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-baseline-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>baseline-check</id>
<goals>
<goal>verify</goal>
</goals>
<phase>package</phase>
<configuration>
<baselines>
<repository>
<id>baseline-repo</id>
<url>https://download.eclipse.org/technology/m2e/releases/latest/</url>
</repository>
</baselines>
<ignores>
<ignore>META-INF/maven/*/pom.xml</ignore>
<ignore>META-INF/maven/*/pom.properties</ignore>
<ignore>OSGI-INF/*</ignore>
<ignore>META-INF/ECLIPSE_.RSA</ignore>
<ignore>META-INF/ECLIPSE_.SF</ignore>
<ignore>jars/*.jar</ignore>
<ignore>Eclipse-SourceReferences</ignore>
</ignores>
<extensions>true</extensions>
</configuration>
</execution>
</executions>
</plugin>
part from it.
@laeubi Thank you! After your additional tycho-changes for me only the class files are left.
So I set the baseline-check to skip=true, and now the build works.
I ran into some issue as maven wanted to spawn a subprocess with java 11 that failed, but that was due to my JAVA_HOME setting. (I guess it would be nice to have a variable to reference the JAVA_HOME of the currently used Runtime JRE in a launcher btw ... this way the launcher could be configured more self-contained, independent from the user's environment variables. Or did I miss that variable?)
I also noticed that the launcher m2e-core--build
started lots of eclipse instances for some tests, that produced quite some exceptions, yet I haven't installed RCPTT yet, so I disabled the test for now. Guess I have to install RCPTT soon ;-).
Though I would have thought these tests would only be run when using the launcher m2e-core--build-with-integration-tests
.
For dev-time you usually can skip the tests first and if you are quite happy with your change and at best want to enhance the existing ones run them individually. The CI will then run all tests.
The classes issue should now be fixed!
@laeubi thanks! :-) I guess it takes the usual 3 hours to be available?!?
Regarding "if you are quite happy with your change" I'm a little lost, how I can do some first manual exploratory tests ... I tried "Run As -> Eclipse Application" on some of the many projects, but I never seem to be able to pick the right one. When I try to import some existing maven project I end up in an error message.
I guess it takes the usual 3 hours to be available?!?
It should already be in place if you rebase your code with the master.
how I can do some first manual exploratory tests
The best is to have a little reproducer project that shows your specific issue. This can later then be transformed into an test for example here:
https://github.com/eclipse-m2e/m2e-core/tree/master/org.eclipse.m2e.core.tests
I guess it takes the usual 3 hours to be available?!?
It should already be in place if you rebase your code with the master.
ah, this time it's not a change in tycho ... thanks!
The build continues and has something new to offer:
[ERROR] ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ
[ERROR] βDelta βType βName βProject Version βBaseline Version βSuggested Version β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββΌββββββββββββββββββββββββββ€
[ERROR] βMICRO βRESOURCES βorg.eclipse.m2e.core.ui-2.β2.0.4 β2.0.4 β2.0.5 β
[ERROR] β β β0.4-SNAPSHOT.jar β β β β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βintro/css/overview.css β
[ERROR] ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
[ERROR] β..CHANGED βRESOURCE βintro/css/whatsnew.css β
[ERROR] ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[ERROR] C:\Java\eclipse-contribution\m2e-master\git\m2e-core\org.eclipse.m2e.core.ui [0:0]: Baseline problems found! Project version: 2.0.4.20230305-1928, baseline version: 2.0.4.20230305-1928, suggested version: 2.0.5
how I can do some first manual exploratory tests
The best is to have a little reproducer project that shows your specific issue. This can later then be transformed into an test for example here:
https://github.com/eclipse-m2e/m2e-core/tree/master/org.eclipse.m2e.core.tests
Maybe my question wasn't clear: Yes, I want to do something with a reproducer project -- that was my intention.
My problem is: I'd like to start Eclipse and then import my reproducer-project, but I fail with that:
When trying to import an existing Maven-Project I get this:
Or do I have to use another Eclipse-Installation and update the m2e-Installation from my own build? I guess I can figure out how to do that, but it feels like there must be an easier way ... ;-)
Currently if a mapping is missing, the user is presented with the following options:
This only let the user find a connector or disable execution, but actually the user probably want to configure it in a way to execute the mapping using
<?m2e execute onConfiguration?>
(or incremental) as described here https://github.com/eclipse-m2e/m2e-core/issues/1013#issuecomment-1297606908)