Bug 568172 - A number of bundles with MANIFEST.MF but not pom.xml
Summary: A number of bundles with MANIFEST.MF but not pom.xml
Status: NEW
Alias: None
Product: ECF
Classification: RT
Component: ecf.core (show other bugs)
Version: 3.14.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: ecf.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-23 09:25 EDT by Alex Blewitt CLA
Modified: 2020-10-27 12:02 EDT (History)
1 user (show)

See Also:


Attachments
Script that can generate pom.xml from MANIFEST.MF (1.32 KB, text/plain)
2020-10-26 18:50 EDT, Alex Blewitt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Blewitt CLA 2020-10-23 09:25:39 EDT
There are a number of bundles in the ECF repository that have a Manifest.MF but no equivalent pom.xml, which suggests they aren't being built or tested by the nightly process.

Is there a reason that they're missing, or simply historic?

framework/bundles/org.eclipse.ecf.remoteservice.ui.dosgi
providers/bundles/org.eclipse.ecf.provider.rss
providers/bundles/org.eclipse.ecf.provider.remoteservice.java8
providers/bundles/org.eclipse.ecf.provider.irc.bot
providers/bundles/org.eclipse.ecf.provider.local
tests/bundles/org.eclipse.ecf.tests.provider.zookeeper
tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi.ws
tests/bundles/org.eclipse.ecf.tests.provider.discovery
tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin
tests/bundles/org.eclipse.ecf.tests.filetransfer.jreprovider
tests/bundles/org.eclipse.ecf.tests.provider.filetransfer.xmpp
tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi.wss
tests/bundles/org.eclipse.ecf.tests.core
tests/bundles/org.eclipse.ecf.tests.provider.jmdns
tests/bundles/org.eclipse.ecf.tests.server.generic
tests/bundles/org.eclipse.ecf.tests.provider.dnssd
tests/bundles/org.eclipse.ecf.tests.provider.filetransfer.scp
tests/bundles/org.eclipse.ecf.tests.remoteserivce.eventadmin
tests/bundles/org.eclipse.ecf.tests.provider.jslp
tests/bundles/org.eclipse.ecf.tests.httpservice
tests/bundles/org.eclipse.ecf.tests.provider.local
tests/bundles/org.eclipse.ecf.tests.remoteservice.rest
tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc
tests/bundles/org.eclipse.ecf.tests.provider.filetransfer.efs
examples/bundles/org.eclipse.ecf.examples.raspberrypi.management
examples/bundles/org.eclipse.ecf.examples.loadbalancing.ds.consumer
examples/bundles/org.eclipse.ecf.examples.loadbalancing
examples/bundles/org.eclipse.ecf.examples.loadbalancing.server
examples/bundles/com.mycorp.examples.githubservice
examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.rs
examples/bundles/org.eclipse.ecf.example.twitter.client
examples/bundles/com.mycorp.examples.timeservice.consumer.ds.generic.auth
examples/bundles/com.mycorp.examples.osgi.async.impl
examples/bundles/org.eclipse.ecf.example.pubsub
examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer2
examples/bundles/com.mycorp.examples.timeservice.consumer.filediscovery.rosgi
examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.host
examples/bundles/org.eclipse.ecf.examples.raspberrypi.management.consumer
examples/bundles/com.mycorp.examples.osgi.async.consumer
examples/bundles/org.eclipse.ecf.examples.provider.trivial
examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host.rs
examples/bundles/org.eclipse.ecf.examples.loadbalancing.servicehost
examples/bundles/com.mycorp.examples.timeservice.consumer.filediscovery.rosgi.ws
examples/bundles/org.eclipse.ecf.examples.provider.remoteservice
examples/bundles/com.mycorp.examples.osgi.async
examples/bundles/org.eclipse.ecf.examples.loadbalancing.consumer
examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host
examples/bundles/com.mycorp.examples.timeservice.consumer.filediscovery.rosgi.ws
examples/bundles/org.eclipse.ecf.examples.provider.remoteservice
examples/bundles/com.mycorp.examples.osgi.async
examples/bundles/org.eclipse.ecf.examples.loadbalancing.consumer
examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host
examples/bundles/org.eclipse.ecf.examples.datashare.app
examples/bundles/com.mycorp.examples.githubservice.impl
examples/bundles/com.mycorp.examples.timeservice.host.generic.auth
applications/kosmos/bundles/org.eclipse.ecf.presence.bot.kosmos
doc/bundles/org.eclipse.ecf.tutorial
server-side/examples/bundles/org.eclipse.ecf.examples.updatesite.client
server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.common
server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.client
server-side/examples/bundles/org.eclipse.ecf.examples.updatesite.server
incubation/projects/org.eclipse.ecf.ipc/bundles/org.eclipse.ecf.ipc/fragments/org.eclipse.ecf.ipc.win32.x86
incubation/projects/org.eclipse.ecf.ipc/bundles/org.eclipse.ecf.ipc
incubation/bundles/org.eclipse.ecf.provider.endpointdescription.localdiscovery
incubation/bundles/org.eclipse.ecf.sync.resources.core
incubation/bundles/org.eclipse.ecf.provider.riena
incubation/bundles/org.eclipse.ecf.bulletinboard
incubation/bundles/org.eclipse.ecf.provider.phpbb
incubation/bundles/org.eclipse.ecf.remoteservice.apt.java6
incubation/bundles/org.eclipse.ecf.sync.resources.ui
incubation/bundles/org.eclipse.ecf.provider.mqtt.paho
incubation/bundles/org.eclipse.ecf.provider.vbulletin
incubation/bundles/org.eclipse.ecf.docshare2.core
incubation/bundles/org.eclipse.ecf.springframework
incubation/bundles/org.eclipse.ecf.bulletinboard.commons
incubation/bundles/org.eclipse.ecf.mylyn.ui

Calculated this by running:

find . -name MANIFEST.MF -o -name pom.xml | awk -F/ -- 'BEGIN {last=""} {if(last!=$4"x") {print "---"}; last = $4"x"; print}'

followed by trimming the elements with the following sed script:

pbpaste | sed -e 's!^./!!g' -e 's!/META-INF/MANIFEST.MF!!g' -e '/---/d' | pbcopy

I would have made an awk script but I did not have time to simplify further.

Would there be any interest in providing pom.xml files for the above, and if so, which is the priority?
Comment 1 Alex Blewitt CLA 2020-10-26 18:48:43 EDT
A bunch of these may be occurring because the 'target' directory, which contains a copy of the MANIFEST.MF, is checked into source control. I suspect if this noise is taken out, then the issue is not present.
Comment 2 Alex Blewitt CLA 2020-10-26 18:50:10 EDT
Created attachment 284574 [details]
Script that can generate pom.xml from MANIFEST.MF

I wrote the attached script so that I could batch process the MANIFEST.MF to generate the according pom.xml file. I leave it with this bug in case it's of use to others. However, running it did not appear to change the number of pom.xml files, which is why I think it's to do with the target directories (and/or incorrect .gitignore) files.
Comment 3 Alex Blewitt CLA 2020-10-26 19:18:19 EDT
Ignore the last; Eclipse was rebuilding them as fast as I was cleaning them ...
Comment 4 Scott Lewis CLA 2020-10-27 02:09:27 EDT
(In reply to Alex Blewitt from comment #3)
> Ignore the last; Eclipse was rebuilding them as fast as I was cleaning them
> ...

Hi Alex.

First, I appreciate your effort on this.  There are different explanations for why the poms are missing for these.  Many are historic/obsolete, some are tests that either are difficult to run in normal test environment (e.g. discovery providers), or are associated with obsolete bundles.

I need to go through these to figure out which could/would use a pom file, but am a bit backed up right now with 3.14.17 + my real work.   So let's keep this open and I'll get to identifying pom-needed projects (and doing deletion/archiving/etc) asap.
Comment 5 Alex Blewitt CLA 2020-10-27 09:26:05 EDT
I've used the script to generate a bunch of pom.xml files; they haven't been built yet or integrated with the upstream pom.xml but think it would be useful if you need to add them to have them ready for use.