Hi Christian I have worked on OAK-6741 before and there were some concerns regarding my changes.
To address these concerns, I started work on a tool that allows diffing the OSGi DS and MetaType metadata of two bundles. It uses Felix' SCR and MetaType implementations to parse the metadata and should thus be able to compare on a semantic level rather than on a purely syntactic level (i.e. diff all XML files, which comes with its own challenges)[0]. Note, that the tool is yet unfinished, as I don't currently have time to complete it. Basically, what's left to do is implementing some comparisons and possibly more rendering (see TODOs in MetaDataDiff[1]). Fell free to fork, or I'm also happy grant you write access on my repository. I hope you find this helpful! Regards Julian [0] https://github.com/jsedding/osgi-ds-metatype-diff [1] https://github.com/jsedding/osgi-ds-metatype-diff/blob/master/src/main/java/net/distilledcode/tools/osgi/MetadataDiff.java On Mon, Oct 30, 2017 at 10:28 AM, Alex Deparvu <stilla...@apache.org> wrote: > Hi Christian, > > Thanks for your interest in helping out in this area! > You can look at OAK-6741 [0] to see what the status of this effort is, > there's a few tasks created already waiting for some attention :) > > best, > alex > > [0] https://issues.apache.org/jira/browse/OAK-6741 > > > > On Mon, Oct 30, 2017 at 9:57 AM, Christian Schneider < > ch...@die-schneider.net> wrote: > >> Hi all, >> >> as I am just starting to work on OAK I am looking for a small task. >> I found that there are still some components that use the old felix scr >> annotations. >> Does it make sense that I look into converting these to the DS ones so we >> can remove support for felix scr in the build? >> >> I have listed the classes below. >> The main issue I see with the migration is that OAK uses the meta type >> support of felix scr which is quite different to what DS 1.3 provides. So I >> would need to migrate from the property based meta type descriptions to the >> type safe ones of the DS 1.3 metatype support. >> >> Anyway I would provide one module per PR so the reviewer does not have to >> review one big commit at once. >> >> Best >> Christian >> >> -- >> -- >> Christian Schneider >> http://www.liquid-reality.de >> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e >> 46&URL=http%3a%2f%2fwww.liquid-reality.de> >> >> Computer Scientist >> http://www.adobe.com >> >> >> --- >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/DefaultSyncConfigImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/DefaultSyncHandler.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/ExternalIDPManagerImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/ExternalLoginModuleFactory.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/principal/ExternalPrincipalConfiguration >> .java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/ >> authentication/external/impl/SyncManagerImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/ >> security/authentication/ldap/impl/LdapIdentityProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/ >> security/authentication/ldap/impl/LdapProviderConfig.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-authorization-cug/src/main/java/org/apache/ >> jackrabbit/oak/spi/security/authorization/cug/impl/ >> CugConfiguration.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-authorization-cug/src/main/java/org/apache/ >> jackrabbit/oak/spi/security/authorization/cug/impl/ >> CugExcludeImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/osgi/ >> FileBlobStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob/src/main/java/org/apache/jackrabbit/oak/spi/blob/osgi/ >> SplitBlobStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/ >> AbstractS3DataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/ >> S3DataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/ >> SharedS3DataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/ >> oak/blob/cloud/azure/blobstorage/AzureDataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ >> ConsolidatedDataStoreCacheStats.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-plugins/src/main/java/org/apache/jackrabbit/ >> oak/plugins/blob/datastore/AbstractDataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-plugins/src/main/java/org/apache/jackrabbit/ >> oak/plugins/blob/datastore/DbDataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-plugins/src/main/java/org/apache/jackrabbit/ >> oak/plugins/blob/datastore/FileDataStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-blob-plugins/src/main/java/org/apache/jackrabbit/ >> oak/plugins/blob/migration/BlobMigration.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/ >> authentication/CustomLoginModuleFactory.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/ >> authentication/external/CustomExternalIdentityProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/ >> authorization/restriction/CustomRestrictionProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-exercise/src/main/java/org/apache/jackrabbit/oak/ >> exercise/security/principal/CustomPrincipalConfiguration.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ >> ConsolidatedListenerMBeanImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ >> osgi/RepositoryManager.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ >> IndexAugmentorFactory.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ >> LuceneIndexProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/ >> index/lucene/score/impl/ScorerProviderFactoryImpl.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-remote/src/main/java/org/apache/jackrabbit/oak/remote/osgi/ >> RemoteServletRegistration.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-search-mt/src/main/java/org/apache/jackrabbit/oak/plugins/index/mt/ >> MTFulltextQueryTermsProviderFactory.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/osgi/ >> SegmentNodeStoreServiceDeprecationError.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/osgi/ >> StandbyStoreServiceDeprecationError.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ >> SegmentNodeStoreFactory.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/ >> SegmentNodeStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/ >> segment/standby/store/StandbyStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/EmbeddedSolrServerConfiguratio >> nProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/NodeStateSolrServersObserverService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/OakSolrConfigurationProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/RemoteSolrServerConfigurationProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/SolrIndexEditorProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/SolrQueryIndexProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-solr-core/src/main/java/org/apache/jackrabbit/oak/ >> plugins/index/solr/osgi/SolrServerProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/ >> oak/composite/checks/NamespacePrefixNodestoreChecker.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/ >> oak/composite/checks/NodeStoreChecksService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/ >> oak/composite/checks/NodeTypeDefinitionNodeStoreChecker.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/ >> oak/composite/checks/NodeTypeMountedNodeStoreChecker.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/ >> oak/composite/checks/UniqueIndexNodeStoreChecker.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/ >> CompositeNodeStoreService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/ >> CrossMountReferenceValidatorProvider.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/ >> MountInfoProviderService.java:import >> org.apache.felix.scr.annotations.Component; >> >> oak-store-composite/src/test/java/org/apache/jackrabbit/ >> oak/composite/checks/NodeTypeDefinitionNodeStoreCheckerTest.java:import >> org.apache.felix.scr.annotations.Component; >>