On Thu, Apr 7, 2022 at 3:09 PM Christian Dietrich <
christian.dietr...@itemis.de> wrote:

> i cannot even reproduce this using java18
>
> mvn ebr:create-recipe -DgroupId=org.antlr -DartifactId=antlr-runtime
> -Dversion=3.5.2 -DbundleSymbolicName=org.antlr.runtime
> -Dmaven.repo.local=.m2
>

I see it building orbit-recipes clone.
Java version: openjdk version "18" 2022-03-22
OpenJDK Runtime Environment 22.3 (build 18+37)
OpenJDK 64-Bit Server VM 22.3 (build 18+37, mixed mode, sharing)
Maven version: Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)


> Am 07.04.22 um 14:02 schrieb Aleksandar Kurtakov:
>
>
>
> On Thu, Apr 7, 2022 at 2:12 PM Joakim Erdfelt <joakim.erdf...@gmail.com>
> wrote:
>
>> Regarding your JDK 17/18 support and your aQute issue.
>>
>> [INFO] --- ebr-maven-plugin:1.4.0-SNAPSHOT:bundle (default-bundle) @
>> org.antlr.runtime ---
>> [INFO] Gathering dependencies
>> [INFO] Configured Artifact: org.antlr:antlr-runtime:3.5.2:jar
>> [INFO] Unpacking
>> /home/akurtakov/.m2/repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar
>> to
>> /home/akurtakov/git/orbit-recipes/antlr/org.antlr.runtime_3.5.2/target/dependency-bin
>> with includes "**/*" and excludes "META-INF/maven/**/*.*"
>> [INFO] Merging collected dependencies
>> [INFO] Using 'UTF-8' encoding to copy filtered resources.
>> [INFO] Copying 118 resources
>> [INFO] Generating OSGi MANIFEST.MF
>> [ERROR] An internal error occurred
>> java.util.ConcurrentModificationException
>>     at java.util.TreeMap.callMappingFunctionWithCheck (TreeMap.java:750)
>>     at java.util.TreeMap.computeIfAbsent (TreeMap.java:604)
>>     at aQute.bnd.osgi.Jar.putResource (Jar.java:288)
>>     at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:202)
>>     at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:177)
>>     at java.nio.file.Files.walkFileTree (Files.java:2811)
>>     at aQute.bnd.osgi.Jar.buildFromDirectory (Jar.java:176)
>>     at aQute.bnd.osgi.Jar.<init> (Jar.java:119)
>>     at aQute.bnd.osgi.Jar.<init> (Jar.java:172)
>>     at org.apache.felix.bundleplugin.BundlePlugin.getOSGiBuilder
>> (BundlePlugin.java:604)
>>     at org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer
>> (ManifestPlugin.java:285)
>>     at org.apache.felix.bundleplugin.ManifestPlugin.execute
>> (ManifestPlugin.java:111)
>>     at org.eclipse.ebr.maven.BundleMojo.buildBundle (BundleMojo.java:358)
>>     at org.eclipse.ebr.maven.BundleMojo.execute (BundleMojo.java:462)
>>
>> This is because of an old biz.aQute.bnd lib.
>> Eclipse Jetty hit this same issue early, during the Java-17 Early Access
>> builds.
>> We build all the way up to Java-19 EA now.
>>
>> Update your biz.aQute.bndlib to version 5.3.0
>>
>>       <dependency>
>>         <groupId>biz.aQute.bnd</groupId>
>>         <artifactId>biz.aQute.bndlib</artifactId>
>>         <version>5.3.0</version>
>>       </dependency>
>>
>> If you manage the ebr-maven-plugin, then update it there.
>> Otherwise, if you are a simple project using the ebr-maven-plugin, the
>> above dependency in a <dependencyManagement> should be sufficient.
>>
>
> I just don't have the energy to try saving things anymore, if it's
> important enough for many people - it will get saved! Thanks for your hints
> though!
>
>
>>
>> Btw, we LOVE the new Tycho maven P2 repo featureset.
>> It's eliminated a big headache on our releases.
>> We were spending on a good day about 6+ man hours to get an old school P2
>> repo out per release.
>> On a problematic release it could easily top 40 man hours per release
>> (ugh!).
>>
>> Now it's brain dead simple and just works, with an occasional bump in the
>> Tycho version being used, which is automatically reported to us via the
>> github tooling.
>>
>
> Exactly my experience and I hear/see the same comments everywhere people
> did the change. The more people showing their success stories the better to
> show the real gains.
>
>
>>
>> - Joakim
>>
>>
>> On Thu, Apr 7, 2022 at 1:46 AM Aleksandar Kurtakov <akurt...@redhat.com>
>> wrote:
>>
>>>
>>>
>>> On Thu, Apr 7, 2022 at 9:30 AM Aleksandar Kurtakov <akurt...@redhat.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Thu, Apr 7, 2022 at 8:34 AM Ed Merks <ed.me...@gmail.com> wrote:
>>>>
>>>>> Christian,
>>>>>
>>>>> I share your frustrations.  Yes, much is being done to make life
>>>>> easier
>>>>> and/or better (direct Maven consumption and Github with github issues)
>>>>> but somehow every change is also disruptive and very often time
>>>>> consuming such that you much spend time on what feels like a gigantic
>>>>> no-op...
>>>>>
>>>>> More comments below.
>>>>>
>>>>> On 07.04.2022 04:54, Christian Dietrich wrote:
>>>>> > Hi all, my frustration of the current state has cost me another
>>>>> > sleepless night and thus i need to start this discussion again.
>>>>> >
>>>>> > All of the following statements are subjective and describe my
>>>>> > personal view and option and feelings.
>>>>> >
>>>>> > Trigger was
>>>>> > https://www.eclipse.org/lists/cross-project-issues-dev/msg19066.html
>>>>> > but is just another big drop to barrel to overflow.
>>>>> >
>>>>> > What is it about:
>>>>> >
>>>>> > - PlatformRel: Release of the basic eclipse platform and jdt on a
>>>>> > regular basis
>>>>> > - SimRel: All project release together with PlatformRel in versions
>>>>> > that work together. This requires the projects to "paying attention"
>>>>> > to ensure this holds true.
>>>>> > - Orbit: Central place to pull 3rd dependencies from. This avoid
>>>>> each
>>>>> > and every project packaging their own stuff and makes it possible
>>>>> for
>>>>> > projects with the same dependency to work together seemlessly.
>>>>> >
>>>>> > Projects: Eclipse has projects with
>>>>> > - some budget
>>>>> > - a limited budget (i would categeorize Xtext with 4-6 days a month
>>>>> here)
>>>>> > - basically no buget
>>>>> EMF, XSD, JustJ and Oomph have been budget free for close to 2 years.
>>>>> >
>>>>> > Projects and values:
>>>>> > - Some projects value support for older platform and java versions,
>>>>> > others dont
>>>>> > - Some projects "pay attention", others dont
>>>>> >
>>>>> EMF tests against Helios.  I had been trying to keep Oomph running on
>>>>> Juno, but that was no longer possible with all the nice though
>>>>> disruptive p2 changes for PGP.   JustJ keeps up with new Adoptium
>>>>> releases; I'm currently testing Java 18.
>>>>>
>>>>> > Xtext: what do i do for Xtext
>>>>> > - work with community
>>>>> > - fix bug
>>>>> > - develop some smaller features
>>>>> > - pay attention
>>>>> >   - fix broken Jenkins files cause infrastructure changes
>>>>> >   - test against upstream platform and jdt
>>>>> >   - bump versions of 3rd party dependencies
>>>>> >   - contribute to upstream project
>>>>> >   - ....
>>>>> >
>>>>> Working with the community and as a community is key.  So I'm not so
>>>>> happy to see comments like "That's more the problem of SimRel" as if
>>>>> we
>>>>> aren't all part of the same community.   I know it's not fair to
>>>>> expect
>>>>> the Platform to solve world hunger, but treating world hunger as
>>>>> someone
>>>>> else's problem is questionable.
>>>>>
>>>>> I know Xtext in particular is used in a vast downstream ecosystem and
>>>>> I
>>>>> know that this consumption makes all the projects upstream from Xtext,
>>>>> including EMF and the Platform more relevant to a broader community.
>>>>> So
>>>>> we should all be concerned about Xtext's welfare.  In addition to
>>>>> that,
>>>>> somehow Xtext's downstream ecosystem needs to be leveraged to sponsor
>>>>> these activities, and therein lies a major point of failure.
>>>>>
>>>>> > What makes me frustrated:
>>>>> >
>>>>> > I have the feeling that i spend 95% of my buget to accommodate for
>>>>> > upstream infrastructure changes so that there is basically no time
>>>>> > left for bugfixes or features. The 3 month simrel also adds time
>>>>> > pressure to that "paying attention" if you take it serious.
>>>>> Yes, welcome to my world.  It's almost impossible to find time to work
>>>>> on new things in my own technologies.
>>>>> >
>>>>> > The trigger(s):
>>>>> > - https://bugs.eclipse.org/bugs/show_bug.cgi?id=568936 with a
>>>>> cleanup
>>>>> > process in orbit we have to deal with stuff disappearing from orbit.
>>>>> > it is clear that this is a debt in orbit and i am ok with spending a
>>>>> > 2/3 month worth of budget to accomodate for it.
>>>>> > -
>>>>> https://www.eclipse.org/lists/cross-project-issues-dev/msg19066.html
>>>>> > / https://bugs.eclipse.org/bugs/show_bug.cgi?id=579574
>>>>> >
>>>>> > the 2nd one is the defacto abolishment of orbit.
>>>>> Yes, this doesn't feel like a community decision, does it?  And in the
>>>>> end, Orbit can't be abolished because not all things are available as
>>>>> OSGi bundles in Orbit.
>>>>> >
>>>>> > So if Xtext uses ASM and Platform/JDT uses ASM and they should work
>>>>> > together we need to uses the same ASM.
>>>>>
>>>>> The topic here:
>>>>>
>>>>> https://github.com/eclipse-pde/eclipse.pde.ui/issues/11
>>>>>
>>>>> And here the issue is perhaps also the renaming of the bundle to use
>>>>> the
>>>>> direct Maven name.  Does PDE's decision also make the decision for
>>>>> JDT?
>>>>> I don't know...
>>>>>
>>>>> > What does this mean for Xtext
>>>>> >
>>>>> > - We need to be able to support older platforms and java versions
>>>>> with
>>>>> > newer tycho versions + the work for Jenkins file to make this
>>>>> possible
>>>>> > (8 different builds)
>>>>> > - We need to find out how to use the p2 maven feature from oomph (at
>>>>> a
>>>>> > first glance i could not find an option) or replace oomph with
>>>>> target
>>>>> > files.
>>>>>
>>>>> I hope someone will step forward to sponsor this feature; it looks
>>>>> some
>>>>> promising that this will be the case...
>>>>>
>>>>> I think the issue here is mostly that you need bundles in a p2 repo,
>>>>> right?
>>>>>
>>>>> > - Alternatively we can stop supporting more than 1 platform or Java
>>>>> > versions.
>>>>> >
>>>>> That would provide less value to your consumers and make new versions
>>>>> less consumable and less relevant.   I very often see very old
>>>>> Platform
>>>>> versions being used because with all the great changes and evolutions
>>>>> in
>>>>> the Platform, also come regressions and breaking changes that hinder
>>>>> adoption and potentially lead to dropping adoption altogether...
>>>>> > I cannot tell how much work this will be because i am neither a
>>>>> tycho
>>>>> > nor a Jenkinsfile nor an Oomph expert. I also have no pointers where
>>>>> > to copy & paste from to make my life easier with that.
>>>>> Perhaps there are some things I can do to help?
>>>>> >
>>>>> > So i dont know if i can make this possible with the budget i have
>>>>> > (even less i can imagine projects with much less budget can do)
>>>>> >
>>>>> > So what can i do:
>>>>> > - support only latest greated and pass the ball downstream
>>>>> What specifically is leading to this inability to support older
>>>>> versions
>>>>> in this specific case?  What can be done to mitigate that?
>>>>> > - pull Xtext out of simrel and with it all of its dependencies (that
>>>>> > would also include lsp4e for example)
>>>>> No please.
>>>>> > - stay in simrel but stop "paying attention" and if stuff works
>>>>> together
>>>>> >
>>>>> Would Xtext still work on the latest if you did nothing?
>>>>> > Alternatives:
>>>>> > - why no keep orbit as place for 3rd party dependencies. I dont know
>>>>> > what would need to be done to  make use of the p2 maven feature
>>>>> there
>>>>> > instead in the projects on their own.
>>>>>
>>>>> Perhaps a middle ground would be to build/provide an Orbit-like repo
>>>>> that pulls things from Maven and publishes them in the p2 repository.
>>>>> Apparently this is so easy to do, each project should do it itself.
>>>>> But
>>>>> if it's so easy to do, "we" could also do that in a central place as a
>>>>> service to SimRel and to the broader community.  If the Platform
>>>>> doesn't
>>>>> want to do that, help with that, nor consume from that, that doesn't
>>>>> prevent providing the same 3rd party Maven bundles being
>>>>> provided/consumed/used by the Platform...
>>>>>
>>>>
>>>> As someone who did a fair part of that work on Platform behalf, down to
>>>> maintaining Orbit bundles, even keeping Orbit and EBR releng working at
>>>> times and etc. - to me Orbit just proved to be extra step for no benefit
>>>> with very few people stepping up to share the burden so the choice had to
>>>> be made - do the work directly and skip the time consuming extra steps or
>>>> let Platform suffer (we are already far behind on many dependencies which
>>>> has the issue that we ship deps with CVEs(e.g. commons-fileupload), no
>>>> support from upstream and etc.). Now that I've seen the faster and easier
>>>> path I don't see much point in doing this extra work as once this happens I
>>>> would be left to deal with it on my own again as history has shown to me.
>>>>
>>>
>>> Let me add to the reasons why Orbit/EBR is no longer a go from my side.
>>> Last week I tried working on adding Lucene 9 to it but local build failed
>>> with:
>>> [INFO] --- ebr-maven-plugin:1.4.0-SNAPSHOT:bundle (default-bundle) @
>>> org.antlr.runtime ---
>>> [INFO] Gathering dependencies
>>> [INFO] Configured Artifact: org.antlr:antlr-runtime:3.5.2:jar
>>> [INFO] Unpacking
>>> /home/akurtakov/.m2/repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar
>>> to
>>> /home/akurtakov/git/orbit-recipes/antlr/org.antlr.runtime_3.5.2/target/dependency-bin
>>> with includes "**/*" and excludes "META-INF/maven/**/*.*"
>>> [INFO] Merging collected dependencies
>>> [INFO] Using 'UTF-8' encoding to copy filtered resources.
>>> [INFO] Copying 118 resources
>>> [INFO] Generating OSGi MANIFEST.MF
>>> [ERROR] An internal error occurred
>>> java.util.ConcurrentModificationException
>>>     at java.util.TreeMap.callMappingFunctionWithCheck (TreeMap.java:750)
>>>     at java.util.TreeMap.computeIfAbsent (TreeMap.java:604)
>>>     at aQute.bnd.osgi.Jar.putResource (Jar.java:288)
>>>     at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:202)
>>>     at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:177)
>>>     at java.nio.file.Files.walkFileTree (Files.java:2811)
>>>     at aQute.bnd.osgi.Jar.buildFromDirectory (Jar.java:176)
>>>     at aQute.bnd.osgi.Jar.<init> (Jar.java:119)
>>>     at aQute.bnd.osgi.Jar.<init> (Jar.java:172)
>>>     at org.apache.felix.bundleplugin.BundlePlugin.getOSGiBuilder
>>> (BundlePlugin.java:604)
>>>     at org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer
>>> (ManifestPlugin.java:285)
>>>     at org.apache.felix.bundleplugin.ManifestPlugin.execute
>>> (ManifestPlugin.java:111)
>>>     at org.eclipse.ebr.maven.BundleMojo.buildBundle (BundleMojo.java:358)
>>>     at org.eclipse.ebr.maven.BundleMojo.execute (BundleMojo.java:462)
>>>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
>>> (DefaultBuildPluginManager.java:137)
>>>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
>>> (MojoExecutor.java:301)
>>>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:211)
>>>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:165)
>>>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute
>>> (MojoExecutor.java:157)
>>>     at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:121)
>>>     at
>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
>>> (LifecycleModuleBuilder.java:81)
>>>     at
>>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>>> (SingleThreadedBuilder.java:56)
>>>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
>>> (LifecycleStarter.java:127)
>>>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
>>>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>>>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>>>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
>>>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
>>>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
>>>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
>>> Method)
>>>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>> (NativeMethodAccessorImpl.java:77)
>>>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>> (DelegatingMethodAccessorImpl.java:43)
>>>     at java.lang.reflect.Method.invoke (Method.java:568)
>>>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
>>> (Launcher.java:282)
>>>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch
>>> (Launcher.java:225)
>>>     at
>>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
>>> (Launcher.java:406)
>>>     at org.codehaus.plexus.classworlds.launcher.Launcher.main
>>> (Launcher.java:347)
>>>
>>> So if I want to use Orbit am I on my own to make EBR work with Java
>>> 17/18? Or should I be the one flipping configs/paths/etc. for every
>>> different task I have to do? That way it's plain impossible to do any work.
>>> And yes, I do make sure that Eclipse works just fine on latest JVM so it's
>>> my top priority so can't afford to stick to old JVM as default.
>>>  If one wants Orbit to still be considered seriously someone should step
>>> up and make it actually work for all of us (if possible at all with fast
>>> moving Java versions!) and I can assure you that I tried (
>>> https://github.com/eclipse/ebr/commits?author=akurtakov)  but there are
>>> just that many hours in the day and this happened to be lost cause from the
>>> interest I've seem from the community.
>>>
>>>
>>>>
>>>>
>>>>>
>>>>> Would that help at least partially address your current concerns?   Or
>>>>> is there something that's broken even with that approach?
>>>>>
>>>>> > Thanks and regards
>>>>> > Christian
>>>>> >
>>>>> _______________________________________________
>>>>> cross-project-issues-dev mailing list
>>>>> cross-project-issues-dev@eclipse.org
>>>>> To unsubscribe from this list, visit
>>>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>>>
>>>>
>>>>
>>>> --
>>>> Aleksandar Kurtakov
>>>> Red Hat Eclipse Team
>>>>
>>>
>>>
>>> --
>>> Aleksandar Kurtakov
>>> Red Hat Eclipse Team
>>> _______________________________________________
>>> cross-project-issues-dev mailing list
>>> cross-project-issues-dev@eclipse.org
>>> To unsubscribe from this list, visit
>>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>>
>> _______________________________________________
>> cross-project-issues-dev mailing list
>> cross-project-issues-dev@eclipse.org
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>>
>
>
> --
> Aleksandar Kurtakov
> Red Hat Eclipse Team
>
> _______________________________________________
> cross-project-issues-dev mailing listcross-project-issues-...@eclipse.org
> To unsubscribe from this list, visit 
> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>
> --
> Christian Dietrich (Diplom-Informatiker (BA))
> Softwareentwickler / -Architekt
> Committer and Co-Lead for Eclipse Xtext
>
> Tel.: +49 (0) 711 / 34 21 91-0
> Fax.: +49 (0) 711 / 34 21 91-29
> Mobil: +49 (0) 151 / 173969 17
> Mail: christian.dietr...@itemis.de
> XING: https://www.xing.com/profile/Christian_Dietrich8
> Web: http://www.itemis.de
> Skype: christiandietrich1982
>
> itemis AG
> Niederlassung Süd
> Industriestraße 6
> 70565 Stuttgart
>
>
> Vorstand/Board: Jens Wagener (Vors./chairman), Dr. Stephan Eberle,
> Abdelghani El-Kacimi, Wolfgang Neuhaus, Franz-Josef Schuermann
> Aufsichtsrat/Supervisory Board: Michael Neuhaus (Vors./chairman), Harald
> Goertz, Eric Swehla
> Sitz der Gesellschaft/Registered Office: Am Brambusch 15-24, 44536 Lünen
> (Germany)
> Registergericht/Registry Court: Amtsgericht Dortmund | HRB 20621
> _______________________________________________
> cross-project-issues-dev mailing list
> cross-project-issues-dev@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
>


-- 
Aleksandar Kurtakov
Red Hat Eclipse Team
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to