[ https://issues.apache.org/jira/browse/SLING-10655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Radu Cotescu updated SLING-10655: --------------------------------- Description: The [GraphQL Schema Aggregator|https://github.com/apache/sling-org-apache-sling-graphql-schema-aggregator] allows assembling and serving GraphQL Schemas to which multiple provider bundles can contribute. Currently, this still relies on the presence of the {{Sling-GraphQL-Schema}} bundle header in the provider bundles, but this should be replaced by OSGi capabilities and requirements. The GraphQL Schema Aggregator already provides the following capability, based on the {{osgi.extender}} Namespace [0]: {code} osgi.extender;osgi.extender="sling.graphql-schema-aggregator";version:Version="0.1" {code} where the version indicates which syntax version of the partial files is supported. Provider bundles should require this capability: {code} Require-Capability: osgi.extender;filter:="(&(osgi.extender=sling.graphql-schema-aggregator)(version>=0.1)((version>=1.0)))" {code} and provide in turn a capability indicating the partials they contribute. If they also require other partials provided by other bundles, these should be translated as well into other {{Require-Capability}} entries. [0] - https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.namespaces.html#service.namespaces-osgi.extender.namespace was: The [GraphQL Schema Aggregator|https://github.com/apache/sling-org-apache-sling-graphql-schema-aggregator] allows assembling and serving GraphQL Schemas to which multiple provider bundles can contribute. Currently, this still relies on the presence of the {{Sling-GraphQL-Schema}} bundle header in the provider bundles, but this should be replaced by OSGi capabilities and requirements. The GraphQL Schema Aggregator already provides the following capability, based on the {{osgi.extender}} Namespace [0]: {code} osgi.extender;osgi.extender="sling.graphql-schema-aggregator";version:Version="0.1" {code} where the version indicates which syntax version of the partial files is supported. Provider bundles should in turn require this capability: {code} Require-Capability: osgi.extender;filter:="(&(osgi.extender=sling.graphql-schema-aggregator)(version>=0.1)((version>=1.0)))" {code} and provide in turn a capability indicating the partials they contribute. If they also require other partials provided by other bundles, these should be translated as well into other {{Require-Capability}} entries. [0] - https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.namespaces.html#service.namespaces-osgi.extender.namespace > Provide a good developer experience for GraphQL Schemas assembled by the > Schema Aggregator > ------------------------------------------------------------------------------------------ > > Key: SLING-10655 > URL: https://issues.apache.org/jira/browse/SLING-10655 > Project: Sling > Issue Type: Task > Components: GraphQL > Reporter: Radu Cotescu > Assignee: Radu Cotescu > Priority: Major > Fix For: GraphQL Schema Aggregator 0.0.2 > > > The [GraphQL Schema > Aggregator|https://github.com/apache/sling-org-apache-sling-graphql-schema-aggregator] > allows assembling and serving GraphQL Schemas to which multiple provider > bundles can contribute. > Currently, this still relies on the presence of the {{Sling-GraphQL-Schema}} > bundle header in the provider bundles, but this should be replaced by OSGi > capabilities and requirements. > The GraphQL Schema Aggregator already provides the following capability, > based on the {{osgi.extender}} Namespace [0]: > {code} > osgi.extender;osgi.extender="sling.graphql-schema-aggregator";version:Version="0.1" > {code} > where the version indicates which syntax version of the partial files is > supported. > Provider bundles should require this capability: > {code} > Require-Capability: > osgi.extender;filter:="(&(osgi.extender=sling.graphql-schema-aggregator)(version>=0.1)((version>=1.0)))" > {code} > and provide in turn a capability indicating the partials they contribute. If > they also require other partials provided by other bundles, these should be > translated as well into other {{Require-Capability}} entries. > [0] - > https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.namespaces.html#service.namespaces-osgi.extender.namespace -- This message was sent by Atlassian Jira (v8.3.4#803005)