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;
>>

Reply via email to