You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2018/09/26 16:45:39 UTC

svn commit: r1842034 [1/11] - in /felix/trunk/dependencymanager: ./ .gradle-wrapper/ cnf/ cnf/buildrepo/ cnf/ext/ cnf/localrepo/ cnf/localrepo/org.apache.felix.gogo.command/ cnf/localrepo/org.apache.felix.gogo.jline/ cnf/localrepo/org.apache.felix.gogo...

Author: pderop
Date: Wed Sep 26 16:45:35 2018
New Revision: 1842034

URL: http://svn.apache.org/viewvc?rev=1842034&view=rev
Log:
FELIX-5941: DM APi enhancements, FELIX-5938: DM not working with latest Felix Framework, FELIX-5937: Refactor DM bndtools/gradle project, FELIX-5683: getServiceProperties returns null instead of empty dictionary, FELIX-5336: Add support for prototype scope services in DM4, FELIX-5939: DM annotations enhancements

Added:
    felix/trunk/dependencymanager/.gradle-wrapper/
    felix/trunk/dependencymanager/.gradle-wrapper/gradle-wrapper.properties
    felix/trunk/dependencymanager/cnf/repository.mvn
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/PropertyType.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceScope.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/FieldTypeGetter.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/DynamicScopedServiceTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FactoryComponentWithMetaTypeTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ScopedAspectAdaptersServiceTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ScopedServiceReferenceAndServiceObjectsTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ScopedServiceTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ScopedServiceReferenceAndServiceObjectsTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/ScopedServiceTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbServiceObjects.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/CbServiceObjectsServiceObjects.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/InstanceCbServiceObjects.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/InstanceCbServiceObjectsServiceObjects.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/CollectionFieldDependencyAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentDMPropertyTypeAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentDMPropertyTypeArrayAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentDMSingleValuedPropertyTypeAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentJaxrsResourceAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentPropertyTypeWithDictionaryPassedInUpdateCallback.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FactoryPidWithPropertyTypeAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/JaxrsComponentPropertyTypeAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/MultipleReconfigurableComponentPropertyType.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ReconfigurableComponentPropertyTypeWithOptionalConfigAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ScopedServiceAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/CollectionFieldDependencyAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ComponentPropertyTypeAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ScopedServiceAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/component/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/component/annotations/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/component/annotations/ComponentPropertyType.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/JaxRSWhiteboardConstants.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/annotations/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/annotations/RequireJaxRSWhiteboard.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/propertytypes/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/propertytypes/JaxrsName.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/osgi/service/jaxrs/whiteboard/propertytypes/JaxrsResource.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/.settings/org.eclipse.jdt.core.prefs
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/.settings/org.eclipse.jdt.ui.prefs
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dictionary.metatype.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dictionary.metatype.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/Activator.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/DictionaryAspect.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/DictionaryAspectConfiguration.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/DictionaryConfiguration.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/DictionaryImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/DictionaryService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/README
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/metatype/SpellChecker.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/AbstractComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/AdapterComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/AspectComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/BundleComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/FactoryComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ResourceComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/compat/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/compat/DependencyActivatorBaseCompat.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/compat/DependencyManagerCompat.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/compat/packageinfo
Removed:
    felix/trunk/dependencymanager/cnf/buildrepo/
    felix/trunk/dependencymanager/cnf/ext/pluginpaths.bnd
    felix/trunk/dependencymanager/cnf/ext/repositories.bnd
    felix/trunk/dependencymanager/cnf/localrepo/org.apache.felix.gogo.command/
    felix/trunk/dependencymanager/cnf/localrepo/org.apache.felix.gogo.jline/
    felix/trunk/dependencymanager/cnf/localrepo/org.apache.felix.gogo.runtime/
    felix/trunk/dependencymanager/cnf/localrepo/org.apache.felix.http.api/
    felix/trunk/dependencymanager/cnf/localrepo/org.apache.felix.http.servlet-api/
    felix/trunk/dependencymanager/cnf/localrepo/org.jline/
    felix/trunk/dependencymanager/cnf/nonosgi-repo/
    felix/trunk/dependencymanager/cnf/plugins/
    felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/
    felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/
    felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.lambda/
    felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/
    felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/
    felix/trunk/dependencymanager/cnf/src/
    felix/trunk/dependencymanager/gradle/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/FactoryConfigurationAdapterService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/PropertyMetaData.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceAdapterService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/MetaType.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.index.itest/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentFactoryAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ComponentFactoryServiceTestWthPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ExtraComponentFactoryServiceProperties.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ExtraFactoryServiceProperties.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FactoryServiceTestWthPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ResourceAdapterServiceTestWithPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ResourceAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ServiceFactoryAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ComponentFactoryAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ResourceAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ServiceFactoryAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/.settings/
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/.settings/
    felix/trunk/dependencymanager/release/resources/deps/
Modified:
    felix/trunk/dependencymanager/.gitignore
    felix/trunk/dependencymanager/build.gradle
    felix/trunk/dependencymanager/cnf/.project
    felix/trunk/dependencymanager/cnf/build.bnd
    felix/trunk/dependencymanager/cnf/ext/junit.bnd
    felix/trunk/dependencymanager/cnf/ext/libraries.bnd
    felix/trunk/dependencymanager/cnf/localrepo/index.xml
    felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha
    felix/trunk/dependencymanager/cnf/releaserepo/index.xml
    felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha
    felix/trunk/dependencymanager/gradle.properties
    felix/trunk/dependencymanager/gradlew
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AdapterService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AspectService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleAdapterService.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Component.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Composition.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ConfigurationDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Property.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/packageinfo
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationCollector.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/DescriptorGenerator.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/EntryParam.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/EntryWriter.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/Patterns.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/index.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/noindex.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.index.itest/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.index.itest/src/org/apache/felix/dm/index/itest/tests/ResourceProvider.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELI5155_AdapterCallbackInstanceCalledTwice.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FactoryConfigurationAdapterTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.itest/src/org/apache/felix/dm/lambda/itest/FactoryConfigurationAdapterTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/compositefactory.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/device.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/dictionary.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/factory.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/future.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/hello.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/dictionary/README
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda.samples/src/org/apache/felix/dm/lambda/samples/hello/HelloClient.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/resources/changelog.txt
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/ComponentBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/ServiceCallbacksBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/callbacks/packageinfo
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/AdapterBase.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ComponentBuilderImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ConfigurationDependencyBuilderImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/FactoryPidAdapterBuilderImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/impl/ServiceCallbacksBuilderImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.lambda/src/org/apache/felix/dm/lambda/packageinfo
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/AdapterAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/AdapterServiceTestWithPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleAdapterServiceTestWithPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/BundleDependencyAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/CompositeAnnotations.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ExtraAdapterServiceProperties.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ExtraServiceProperties.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FELIX5337.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FELIX5337_MatchAllServicesWithFilter.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FactoryConfigurationAdapterAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/FactoryConfigurationAdapterServiceTestWithPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/Felix4050.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/MethodSignatures.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/MultipleAnnotations.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/PropagateAnnotation.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/ServiceTestWthPublisher.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/components/SimpleAnnotations.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/ExtraServicePropertiesTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime.itest/src/org/apache/felix/dm/runtime/itest/tests/PublisherAnnotationTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/resources/changelog.txt
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/AbstractBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/AspectServiceBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/DependencyBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/FactoryConfigurationAdapterServiceBuilder.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/Params.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/composite.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/compositefactory.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/customdep.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/device.annot.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/device.annot.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/device.api.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dictionary.annot.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dictionary.annot.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dictionary.api.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dynamicdep.annot.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dynamicdep.annot.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/dynamicdep.api.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/hello.annot.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/hello.annot.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/hello.api.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/annot/DeviceAccessConsumer.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/annot/DeviceAndParameterFactory.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/annot/DeviceImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/annot/DeviceParameterImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/api/Activator.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/device/api/DeviceAccessConsumer.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/DictionaryAspect.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/DictionaryAspectConfiguration.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/DictionaryConfiguration.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/DictionaryImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/README
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/annot/SpellChecker.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/Activator.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dictionary/api/README
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dynamicdep/annot/FileStorage.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/src/org/apache/felix/dependencymanager/samples/dynamicdep/annot/MapDBStorage.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.samples/tpool.bndrun
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/resources/changelog.txt
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Component.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ComponentExecutorFactory.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ConfigurationDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Dependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/PropertyMetaData.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ResourceDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/ServiceDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/AbstractDependency.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/ComponentContext.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/context/packageinfo
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AdapterServiceImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/AspectServiceImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleAdapterImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/Configurable.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/InvocationUtil.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ResourceAdapterImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/packageinfo
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/impl/ConfigurableTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/tracker/TrackedTest.java
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/test/ComponentTest.java
    felix/trunk/dependencymanager/release/README.release
    felix/trunk/dependencymanager/release/build.gradle
    felix/trunk/dependencymanager/release/check_staged_release.sh
    felix/trunk/dependencymanager/release/resources/src/README.src
    felix/trunk/dependencymanager/settings.gradle

Modified: felix/trunk/dependencymanager/.gitignore
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/.gitignore?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/.gitignore (original)
+++ felix/trunk/dependencymanager/.gitignore Wed Sep 26 16:45:35 2018
@@ -1,3 +1,8 @@
 /.gradle/
 /reports/
 /generated/
+/.metadata/
+/.recommenders/
+/RemoteSystemsTempFiles/
+/rat-report.xml
+

Added: felix/trunk/dependencymanager/.gradle-wrapper/gradle-wrapper.properties
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/.gradle-wrapper/gradle-wrapper.properties?rev=1842034&view=auto
==============================================================================
--- felix/trunk/dependencymanager/.gradle-wrapper/gradle-wrapper.properties (added)
+++ felix/trunk/dependencymanager/.gradle-wrapper/gradle-wrapper.properties Wed Sep 26 16:45:35 2018
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip

Modified: felix/trunk/dependencymanager/build.gradle
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/build.gradle?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/build.gradle (original)
+++ felix/trunk/dependencymanager/build.gradle Wed Sep 26 16:45:35 2018
@@ -17,37 +17,6 @@
  * under the License.
  */
 
-/*
- * Master Gradle build script
- *
- * Depends on bndPlugin property set by settings.gradle.
- * and bnd_* values from gradle.properties.
- */
-
-import aQute.bnd.build.Workspace
-import aQute.bnd.osgi.Constants
-
-/* Add bnd gradle plugin as a script dependency */
-buildscript {
-  dependencies {
-    classpath bndPlugin
-  }
-}
-
-/* Initialize the bnd workspace */
-Workspace.setDriver(Constants.BNDDRIVER_GRADLE)
-Workspace.addGestalt(Constants.GESTALT_BATCH, null)
-ext.bndWorkspace = new Workspace(rootDir, bnd_cnf)
-if (bndWorkspace == null) {
-  throw new GradleException("Unable to load workspace ${rootDir}/${bnd_cnf}")
-}
-
-ext.cnf = rootProject.project(bnd_cnf)
-
-/* Configure the subprojects */
-subprojects {
-  def bndProject = bndWorkspace.getProject(name)
-  if (bndProject != null) {
-    plugins.apply 'biz.aQute.bnd'
-  }
+task wrapper(type: Wrapper) {
+  jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
 }

Modified: felix/trunk/dependencymanager/cnf/.project
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/.project?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
Binary files - no diff available.

Modified: felix/trunk/dependencymanager/cnf/build.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/build.bnd?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/build.bnd (original)
+++ felix/trunk/dependencymanager/cnf/build.bnd Wed Sep 26 16:45:35 2018
@@ -1,4 +1,3 @@
-#
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -15,78 +14,49 @@
 # limitations under the License.
 #
 
-########################
-## BND BUILD SETTINGS ##
-########################
-
-
-## Global defaults are loaded from the bnd library (as shown below), place your
-## specific settings here. Additional settings are inherited from ext/*.bnd and
-## they will be overridden by anything you specify in this file.
-
-## General Options
-#project.dependson:     ${p-dependson;:}
-#project.bootclasspath: ${p-bootclasspath;:}
-#project.buildpath:     ${p-buildpath;:}
-#project.sourcepath:    ${p-sourcepath;:}
-#project.allsourcepath: ${p-allsourcepath;:}
-#project.output:        ${p-output}
-#project.testpath:      ${p-testpath;:}
-
-#-verbose:              false
-#project:               ${basedir}
-#src:                   src
-#bin:                   bin
-#testsrc:               test
-#testbin:               bin_test
-#test-reports:          test-reports
-#target-dir:            generated
-#target:                ${project}/${target-dir}
-#build:                 ${workspace}/cnf
-#p:                     ${basename;${project}}
-#project.name:          ${p}
-#plugin-dir:            ${build}/plugins
-
-## Java Compiler Options
-#java:                  java
-#javac:                 javac
-javac.source:          1.8
-javac.target:          1.8
-#javac.profile:
-#javac.debug:           on
-
-## Bnd Options
--sources:               true
-#-sourcepath:           ${project}/src
-
-
-## Properties from ext/*.bnd can be referenced in order to extend them. For
-## example, to add one additional plugin to the list defined in
-## ext/repositories.bnd:
-# -plugin: ${ext.repositories.-plugin}, org.example.MyPlugin
-
+#
+# Set here bnd repositories
+#
+-plugin.1.Release: aQute.bnd.deployer.repository.LocalIndexedRepo; \
+    name=Release; \
+    local=${workspace}/cnf/releaserepo; \
+    pretty=true
+
+-plugin.2.Local: aQute.bnd.deployer.repository.LocalIndexedRepo; \
+    name=Local; \
+    local=${workspace}/cnf/localrepo; \
+    pretty=true
+		
+-plugin.3.Repository: aQute.bnd.repository.maven.provider.MavenBndRepository; \
+    releaseUrl = 'https://repo1.maven.org/maven2'; \
+    name = Repository; \
+    index = ${.}/repository.mvn; \
+    noupdateOnRelease=true
 
-## To enable baselining, uncomment the following lines:
+#
+# configure release and baseline repos
+#
+-releaserepo: Release
+-baselinerepo: Repository
 -baseline: *
 
-## If you use git, you might want to uncomment the following lines:
-# Git-Descriptor:       ${system-allow-fail;git describe --dirty --always}
-# Git-SHA:              ${system-allow-fail;git rev-list -1 HEAD}
-# -diffignore:          Git-Descriptor,Git-SHA
-
-##
-# Removes some headers in order to reduce binary diff between same bundles that are not changed between subsequent releases.
-# see FELIX-4915
 #
--removeheaders: Bnd-LastModified,Tool,Created-By,Include-Resource
+# Set here the maven group id for the workspace bundles
+#
+-pom: groupid = org.apache.felix
 
-# Make baselining issues a warning instead of error when using Eclipse
-fixuptype: ${if;${is;${gestalt;batch};batch};error;warning}
+#
+# Don't include sources in generated bundles
+#
+-sources: true
 
--fixupmessages: \
-  "Baseline ...";is:=${fixuptype},\
-  "The bundle version ...";is:=${fixuptype},\
-  "The baseline version ...";is:=${fixuptype}
+#
+# Java parameters
+#
+javac.source: 1.8
+javac.target: 1.8
 
-# Generates poms in artifacts.
--pom: groupid = org.apache.felix
+#
+# Removes some headers in order to reduce binary diff between same bundles that are not changed between subsequent releases.
+#
+-removeheaders: Bnd-LastModified,Tool,Created-By,Include-Resource

Modified: felix/trunk/dependencymanager/cnf/ext/junit.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/ext/junit.bnd?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/ext/junit.bnd (original)
+++ felix/trunk/dependencymanager/cnf/ext/junit.bnd Wed Sep 26 16:45:35 2018
@@ -14,8 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-junit:\
-	junit;version=latest,\
-	hamcrest-core;version=latest
 
+junit: org.apache.servicemix.bundles.junit; version=4.12
 test-reports: test-results

Modified: felix/trunk/dependencymanager/cnf/ext/libraries.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/ext/libraries.bnd?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/ext/libraries.bnd (original)
+++ felix/trunk/dependencymanager/cnf/ext/libraries.bnd Wed Sep 26 16:45:35 2018
@@ -27,9 +27,11 @@ log=org.apache.felix.log;version=1.0.1
 # Gogo bundles
 gogo=\
 	org.apache.felix.gogo.command;version=1.0.2,\
-	org.apache.felix.gogo.runtime;version=1.0.6,\
-	org.apache.felix.gogo.jline;version=1.0.5,\
-	org.jline;version=3.3.0	
+	org.apache.felix.gogo.runtime;version=1.0.10,\
+	org.apache.felix.gogo.shell;version=1.0.0,\
+	org.jline;version=3.0.4,\
+	org.fusesource.jansi;version=1.16.0
+
  
 ##
 # Configuration Admin
@@ -42,14 +44,34 @@ eventadmin=org.apache.felix.eventadmin;v
 ##
 # Web Console
 webconsole=\
-	org.apache.felix.http.api;version=2.3.0,\
-	org.apache.felix.http.servlet-api;version=1.0.0,\
-	org.apache.felix.http.jetty;version="[2.3.0,2.3.0]",\
-	org.apache.felix.webconsole;version=4.2.2
+	org.apache.felix.http.api;version=3.0.0,\
+	org.apache.felix.http.servlet-api;version=1.1.2,\
+	org.apache.felix.http.jetty;version="[3.4.8,3.4.9]",\
+	org.apache.felix.webconsole;version=4.3.4,\
+	org.apache.commons.fileupload;version=1.2.1,\
+	org.apache.commons.io;version=2.4.0
 		
 ##
 # bndlib 
-bndlib=biz.aQute.bndlib;version=3.0.0
+bndlib=biz.aQute.bndlib;version=3.5.0
 
+##
+# mockito
+mockito=org.mockito.mockito-core;version=1.10.19
 
+## 
+# objenesis
+objenesis=org.objenesis;version=2.2
 
+##
+# runtime dependencies used by integration tests
+#
+itest.run=\
+	org.apache.servicemix.bundles.junit;version=4.12,\
+	org.mockito.mockito-core;version='[1.10.19,1.10.20)',\
+	org.objenesis;version='[2.2.0,2.2.1)'	
+
+##
+# Felix Framework
+#
+felix.framework=org.apache.felix.framework;version='[5.6.10,5.6.10]'

Modified: felix/trunk/dependencymanager/cnf/localrepo/index.xml
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/localrepo/index.xml?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
Binary files - no diff available.

Modified: felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha (original)
+++ felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha Wed Sep 26 16:45:35 2018
@@ -1 +1 @@
-de12209a6bcd5df83b3010910cef6ee640a01eecce08469f8dff901da50e0bac
\ No newline at end of file
+8de8e8866152096f0c4ea5ddd6ed1d633b4d1a6edfbd823245cb57f6639732fd
\ No newline at end of file

Modified: felix/trunk/dependencymanager/cnf/releaserepo/index.xml
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/index.xml?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
Binary files - no diff available.

Modified: felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha (original)
+++ felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha Wed Sep 26 16:45:35 2018
@@ -1 +1 @@
-2127e7aad0d5972cd255ba1e56e34abef6e272bebfd292429185c6090c88f842
\ No newline at end of file
+262a924c4164db96f2409bfbe8d20793eb0c91a51c3dcd7c2160cde2bac8a492
\ No newline at end of file

Added: felix/trunk/dependencymanager/cnf/repository.mvn
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/repository.mvn?rev=1842034&view=auto
==============================================================================
--- felix/trunk/dependencymanager/cnf/repository.mvn (added)
+++ felix/trunk/dependencymanager/cnf/repository.mvn Wed Sep 26 16:45:35 2018
@@ -0,0 +1,53 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+ant:ant:1.5
+biz.aQute.bnd:biz.aQute.bnd.gradle:3.5.0
+biz.aQute.bnd:biz.aQute.bndlib:3.5.0
+org.apache.felix:org.apache.felix.framework:5.6.10
+org.apache.felix:org.apache.felix.eventadmin:1.4.4
+org.apache.felix:org.apache.felix.gogo.command:1.0.2
+org.apache.felix:org.apache.felix.gogo.shell:1.0.0
+org.apache.felix:org.apache.felix.gogo.runtime:1.0.10
+org.jline:jline:3.0.4
+org.apache.felix:org.apache.felix.http.api:3.0.0
+org.apache.felix:org.apache.felix.http.servlet-api:1.1.2
+org.apache.felix:org.apache.felix.configadmin:1.8.8
+org.apache.felix:org.apache.felix.log:1.0.1
+org.apache.felix:org.apache.felix.metatype:1.1.2
+org.apache.felix:org.apache.felix.http.jetty:3.4.8
+org.apache.felix:org.apache.felix.webconsole:4.3.4
+org.apache.felix:org.apache.felix.dependencymanager:4.4.1
+org.apache.felix:org.apache.felix.dependencymanager.annotation:4.2.1
+org.apache.felix:org.apache.felix.dependencymanager.lambda:1.1.1
+org.apache.felix:org.apache.felix.dependencymanager.runtime:4.0.5
+org.apache.felix:org.apache.felix.dependencymanager.shell:4.0.6
+org.jline:jline-builtins:3.3.0
+org.apache.servicemix.bundles:org.apache.servicemix.bundles.junit:4.12_1
+org.mockito:mockito-core:1.10.19
+org.objenesis:objenesis:2.2
+org.osgi:osgi.annotation:6.0.1
+org.osgi:osgi.cmpn:6.0.0
+org.osgi:osgi.core:6.0.0
+biz.aQute.bnd:biz.aQute.bnd.annotation:3.5.0
+org.slf4j:slf4j-simple:1.7.7
+org.slf4j:slf4j-api:1.7.7
+commons-fileupload:commons-fileupload:1.2.1
+org.fusesource.jansi:jansi:1.16
+commons-io:commons-io:2.4
+
+

Modified: felix/trunk/dependencymanager/gradle.properties
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/gradle.properties?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/gradle.properties (original)
+++ felix/trunk/dependencymanager/gradle.properties Wed Sep 26 16:45:35 2018
@@ -17,30 +17,9 @@
  * under the License.
  */
 
-# http(s) proxy settings
-
-#systemProp.http.proxyHost=
-#systemProp.http.proxyPort=
-#systemProp.http.proxyUser=
-#systemProp.http.proxyPassword=
-#systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
-#systemProp.https.proxyHost=
-#systemProp.https.proxyPort=
-#systemProp.https.proxyUser=
-#systemProp.https.proxyPassword=
-#systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
-
-# cnf project name
-bnd_cnf=cnf
+bnd_version=3.5.0
 
 # bnd_plugin is the dependency declaration for the bnd gradle plugin
-bnd_plugin=biz.aQute.bnd:biz.aQute.bnd.gradle:3.3.0
-
-# bnd_build can be set to the name of a "master" project whose dependencies will seed the set of projects to build.
-bnd_build=
+bnd_plugin=biz.aQute.bnd:biz.aQute.bnd.gradle:3.5.0
 
-# Default gradle task to build
-bnd_defaultTask=build
 
-# This should be false. It only needs to be true in rare cases.
-bnd_preCompileRefresh=false

Modified: felix/trunk/dependencymanager/gradlew
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/gradlew?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/gradlew (original)
+++ felix/trunk/dependencymanager/gradlew Wed Sep 26 16:45:35 2018
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 ##############################################################################
 ##
@@ -6,20 +6,38 @@
 ##
 ##############################################################################
 
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
 
 APP_NAME="Gradle"
 APP_BASE_NAME=`basename "$0"`
 
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD="maximum"
 
-warn ( ) {
+warn () {
     echo "$*"
 }
 
-die ( ) {
+die () {
     echo
     echo "$*"
     echo
@@ -30,6 +48,7 @@ die ( ) {
 cygwin=false
 msys=false
 darwin=false
+nonstop=false
 case "`uname`" in
   CYGWIN* )
     cygwin=true
@@ -40,32 +59,18 @@ case "`uname`" in
   MINGW* )
     msys=true
     ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
 esac
 
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
-    [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+if [ ! -f $APP_HOME/.gradle-wrapper/gradle-wrapper.jar ]
+then
+    mkdir -p $APP_HOME/.gradle-wrapper
+     curl https://raw.githubusercontent.com/gradle/gradle/master/gradle/wrapper/gradle-wrapper.jar -o $APP_HOME/.gradle-wrapper/gradle-wrapper.jar
 fi
 
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+CLASSPATH=$APP_HOME/.gradle-wrapper/gradle-wrapper.jar
 
 # Determine the Java command to use to start the JVM.
 if [ -n "$JAVA_HOME" ] ; then
@@ -90,7 +95,7 @@ location of your Java installation."
 fi
 
 # Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
     MAX_FD_LIMIT=`ulimit -H -n`
     if [ $? -eq 0 ] ; then
         if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +119,7 @@ fi
 if $cygwin ; then
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
 
     # We build the pattern for arguments to be converted via cygpath
     ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@@ -154,11 +160,19 @@ if $cygwin ; then
     esac
 fi
 
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
 }
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
 
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd Wed Sep 26 16:45:35 2018
@@ -14,15 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-Bundle-Version: 4.2.1
+Bundle-Version: 5.0.0
 -buildpath: \
-	biz.aQute.bndlib;version=2.4,\
 	osgi.core;version=6.0,\
-	osgi.cmpn;version=6.0
-Private-Package: \
-	org.apache.felix.dm.annotation.plugin.bnd
-Export-Package: \
-	org.apache.felix.dm.annotation.api
+	osgi.cmpn;version=6.0,\
+	biz.aQute.bndlib;version=3.5
+Private-Package: org.apache.felix.dm.annotation.plugin.bnd
+Export-Package: org.apache.felix.dm.annotation.api
 Include-Resource: META-INF/=resources/
 Bundle-Name: Apache Felix Dependency Manager Annotations
 Bundle-Description: Annotations for Apache Felix Dependency Manager

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt Wed Sep 26 16:45:35 2018
@@ -1,3 +1,18 @@
+Release Notes - Felix - Version org.apache.felix.dependencymanager-r12
+======================================================================
+
+** List of bundles being part of the release:
+    * org.apache.felix.dependencymanager; version=4.5.0
+    * org.apache.felix.dependencymanager.shell; version=4.0.7
+    * org.apache.felix.dependencymanager.runtime; version=4.0.6
+    * org.apache.felix.dependencymanager.annotation; version=5.0.0
+    * org.apache.felix.dependencymanager.lambda; version=1.2.0
+
+** Improvement
+
+	* [FELIX-5939] - DM annotations enhancements
+	* [FELIX-5336] - Add support for prototype scope services in DM4
+
 Release Notes - Felix - Version org.apache.felix.dependencymanager-r11
 ======================================================================
 

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AdapterService.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AdapterService.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AdapterService.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AdapterService.java Wed Sep 26 16:45:35 2018
@@ -24,7 +24,7 @@ import java.lang.annotation.RetentionPol
 import java.lang.annotation.Target;
 
 /**
- * Annotates an Adapater service. Adapters, like {@link AspectService}, are used to "extend" 
+ * Annotates an Adapater service component. Adapters, like {@link AspectService}, are used to "extend" 
  * existing services, and can publish different services based on the existing one. 
  * An example would be implementing a management interface for an existing service, etc .... 
  * <p>When you annotate an adapter class with the <code>@AdapterService</code> annotation, it will be applied 
@@ -72,19 +72,33 @@ import java.lang.annotation.Target;
  * 
  * <p> Here, the AdapterService is registered into the OSGI registry each time an AdapteeService
  * is found from the registry. The AdapterImpl class adapts the AdapteeService to the AdapterService.
- * The AdapterService will also have a service property (param=value), and will also include eventual
- * service properties found from the AdapteeService:
+ * The AdapterService will also have the following service property: p1=v1, p2=v2 :
  * <blockquote>
  * <pre>
  * 
+ * interface AdapteeService {
+ *     void method1();
+ *     void method2();
+ * }
+ * 
+ * &#64;Component
+ * &#64;Property(name="p1", value="v1")
+ * class Adaptee implements AdapteeService {
+ *     ...
+ * } 
+ * 
+ * interface AdapterService {
+ *     void doWork();
+ * }
+ * 
  * &#64;AdapterService(adapteeService = AdapteeService.class)
- * &#64;Property(name="param", value="value")
+ * &#64;Property(name="p2", value="v2")
  * class AdapterImpl implements AdapterService {
  *     // The service we are adapting (injected by reflection)
- *     protected AdapteeService adaptee;
+ *     volatile AdapteeService adaptee;
  *   
  *     public void doWork() {
- *        adaptee.mehod1();
+ *        adaptee.method1();
  *        adaptee.method2();
  *     }
  * }
@@ -100,6 +114,7 @@ public @interface AdapterService
     /**
      * Sets the adapter service interface(s). By default, the directly implemented interface(s) is (are) used.
      * @return the adapter service interface(s)
+     * @deprecated you can apply {@link Property} annotation directly on the component class.
      */
     Class<?>[] provides() default {};
 
@@ -131,7 +146,7 @@ public @interface AdapterService
     
     /**
      * Sets the field name where to inject the original service. By default, the original service is injected
-     * in any attributes in the aspect implementation that are of the same type as the aspect interface.
+     * in any attributes of the adapter implementation that are of the same type as the adaptee interface.
      * @return the field used to inject the original service
      */
     String field() default "";
@@ -168,4 +183,13 @@ public @interface AdapterService
      * @return the service propagation flag
      */
     boolean propagate() default true;
+    
+	/**
+	 * The service scope for the service of this Component.
+	 * 
+	 * <p>
+	 * If not specified, the {@link ServiceScope#SINGLETON singleton} service
+	 * scope is used. 
+	 */
+	ServiceScope scope() default ServiceScope.SINGLETON;
 }

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AspectService.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AspectService.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AspectService.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/AspectService.java Wed Sep 26 16:45:35 2018
@@ -29,8 +29,7 @@ import java.lang.annotation.Target;
  * the original service, and allows you to execute some code before invoking the original service ...
  * The aspect will be applied to any service that matches the specified interface and filter and 
  * will be registered with the same interface and properties as the original service, plus any 
- * extra properties you supply here. It will also inherit all dependencies, 
- * and if you declare the original service as a member it will be injected.
+ * extra properties you supply here. If you declare the original service as a member it will be injected.
  * 
  * <p> For "add", "change", "remove" callbacks, the following method signatures are supported:
  * 
@@ -79,10 +78,9 @@ import java.lang.annotation.Target;
  * <pre>
  * 
  * &#64;AspectService(ranking=10))
- * &#64;Property(name="param", value="value")
  * class AspectService implements InterceptedService {
  *     // The service we are intercepting (injected by reflection)
- *     protected InterceptedService intercepted;
+ *     volatile InterceptedService intercepted;
  *   
  *     public void doWork() {
  *        intercepted.doWork();
@@ -112,6 +110,7 @@ public @interface AspectService
     /**
      * Sets Additional properties to use with the aspect service registration
      * @return the aspect service properties.
+     * @deprecated you can apply {@link Property} annotation directly on the component class.
      */
     Property[] properties() default {};
     
@@ -124,7 +123,7 @@ public @interface AspectService
     
     /**
      * Sets the field name where to inject the original service. By default, the original service is injected
-     * in any attributes in the aspect implementation that are of the same type as the aspect interface.
+     * in any attributes of the aspect implementation that are of the same type as the aspect interface.
      * @return the field used to inject the original service
      */
     String field() default "";
@@ -163,4 +162,13 @@ public @interface AspectService
      * @return the aspect service factory method
      */
     String factoryMethod() default "";
+    
+	/**
+	 * The service scope for the service of this Component.
+	 * 
+	 * <p>
+	 * If not specified, the {@link ServiceScope#SINGLETON singleton} service
+	 * scope is used. 
+	 */
+	ServiceScope scope() default ServiceScope.SINGLETON;
 }

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleAdapterService.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleAdapterService.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleAdapterService.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleAdapterService.java Wed Sep 26 16:45:35 2018
@@ -45,14 +45,12 @@ import org.osgi.framework.Bundle;
  * <pre>
  * &#64;BundleAdapterService(filter = "(Video-Path=*)", stateMask = Bundle.ACTIVE, propagate=true)
  * public class VideoPlayerImpl implements VideoPlayer {
- *     Bundle bundle; // Injected by reflection
+ *     volatile Bundle bundle; // Injected by reflection
  *     
  *     void play() {
  *         URL mpegFile = bundle.getEntry(bundle.getHeaders().get("Video-Path"));
  *         // play the video provided by the bundle ...
- *     }
- *     
- *     void stop() {}
+ *     }     
  * }
  * </pre>
  * </blockquote>
@@ -73,11 +71,12 @@ public @Retention(RetentionPolicy.CLASS)
     /**
      * Additional properties to use with the service registration
      * @return the bundle adapter properties
+     * @deprecated you can apply {@link Property} annotation directly on the component class.
      */
     Property[] properties() default {};
     
    /**
-     * The filter used to match a given bundle.
+     * The ldap filter used to match some manifest headers of the adapted bundle. 
      * @return the bundle adapter filter
      */
     String filter();
@@ -99,4 +98,13 @@ public @Retention(RetentionPolicy.CLASS)
      * @return the factory method
      */
     String factoryMethod() default "";
+    
+	/**
+	 * The service scope for the service of this Component.
+	 * 
+	 * <p>
+	 * If not specified, the {@link ServiceScope#SINGLETON singleton} service
+	 * scope is used. 
+	 */
+	ServiceScope scope() default ServiceScope.SINGLETON;
 }

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java Wed Sep 26 16:45:35 2018
@@ -42,10 +42,7 @@ import org.osgi.framework.Bundle;
  * <pre>
  * &#64;Component
  * public class SCR {
- *     &#64;BundleDependency(required = false,
- *                       removed = "unloadServiceComponents", 
- *                       filter = "(Service-Component=*)"
- *                       stateMask = Bundle.ACTIVE)
+ *     &#64;BundleDependency(required = false, removed = "unloadServiceComponents", filter = "(Service-Component=*)", stateMask = Bundle.ACTIVE)
  *     void loadServiceComponents(Bundle b) {
  *         String descriptorPaths = (String) b.getHeaders().get("Service-Component");
  *         // load all service component specified in the XML descriptorPaths files ...
@@ -65,13 +62,13 @@ import org.osgi.framework.Bundle;
 public @interface BundleDependency
 {
     /**
-     * Returns the callback method to be invoked when the service have changed.
+     * Returns the callback method to be invoked when the bundle have been updated
      * @return the change callback
      */
     String changed() default "";
 
     /**
-     * Returns the callback method to invoke when the service is lost.
+     * Returns the callback method to invoke when the bundle is lost.
      * @return the remove callback
      */
     String removed() default "";
@@ -83,7 +80,7 @@ public @interface BundleDependency
     boolean required() default true;
     
     /**
-     * Returns the filter dependency
+     * Returns the ldap filter dependency matching some bundle manifest headers 
      * @return the filter
      */
     String filter() default "";

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Component.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Component.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Component.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Component.java Wed Sep 26 16:45:35 2018
@@ -33,15 +33,13 @@ import java.lang.annotation.Target;
  * when the component dependencies are available. If you need to take control of when and how 
  * much component instances must be created, then you can use the <code>factoryName</code> 
  * annotation attribute.<p> 
- * If a <code>factoryName</code> attribute is set, the component is not started automatically 
- * during bundle startup, and a <code>org.apache.felix.dm.runtime.api.ComponentFactory</code> 
- * object is registered into the OSGi registry on behalf of the component. This ComponentFactory
- * can then be used by another component in order to instantiate multiple instances of the component 
- * (DM ComponentFactory are really similar to DS ComponentFactory).
+ * If a <code>factoryPid</code> attribute is set, the component is not started automatically 
+ * during bundle startup, and the component can then be instantiated multiple times using
+ * Configuration Admin "Factory Configurations".
  *
  * <h3>Usage Examples</h3>
  * 
- * Here is a sample showing a X component, which depends on a configuration dependency:
+ * Here is a sample showing a Hello component, which depends on a configuration dependency:
  * <blockquote>
  * 
  * <pre>
@@ -50,8 +48,8 @@ import java.lang.annotation.Target;
  *   * are available.
  *   *&#47;
  * &#64;Component
- * class X implements Z {
- *     &#64;ConfigurationDependency(pid="MyPid")
+ * class Hello implements HelloService {
+ *     &#64;ConfigurationDependency(pid="my.pid")
  *     void configure(Dictionary conf) {
  *          // Configure or reconfigure our component.
  *     }
@@ -59,82 +57,56 @@ import java.lang.annotation.Target;
  *     &#64;Start
  *     void start() {
  *         // Our component is starting and is about to be registered in the OSGi registry as a Z service.
- *     }
- *   
- *     public void doService() {
- *         // ...
  *     }   
  * }
  * </pre>
  * </blockquote>
  * 
- * Here is a sample showing how a Y component may dynamically instantiate several X component instances, 
- * using the {@link #factoryName()} attribute:
+ * Here is a sample showing how a HelloFactory component may dynamically instantiate several Hello component instances, 
+ * using Configuration Admin "Factory Configurations":
  * <blockquote>
  * 
  * <pre>
  *  &#47;**
- *    * All component instances will be created/updated/removed by the "Y" component
+ *    * All component instances will be created/updated/removed by the "HelloFactory" component
  *    *&#47;
- *  &#64;Component(factoryName="MyComponentFactory", factoryConfigure="configure")
- *  class X implements Z {                 
- *      void configure(Dictionary conf) {
+ *  &#64;Component(factoryPid="my.factory.pid")
+ *  class Hello implements HelloService {                 
+ *      void updated(Dictionary conf) {
  *          // Configure or reconfigure our component. The conf is provided by the factory,
- *          // and all public properties (which don't start with a dot) are propagated with the
- *          // service properties specified in the properties annotation attribute.
- *      }
- * 
- *      &#64;ServiceDependency
- *      void bindOtherService(OtherService other) {
- *          // store this require dependency
  *      }
- *      
+ *       
  *      &#64;Start
  *      void start() {
- *          // Our component is starting and is about to be registered in the OSGi registry as a Z service.
- *      } 
- *      
- *      public void doService() {
- *          // ...
- *      }   
- *  }
- * 
- *  import import org.apache.felix.dm.runtime.api.ComponentFactory;
+ *          // Our component is starting and is about to be registered in the OSGi registry as a Hello service.
+ *      }       
+ *  } 
  *
  *  &#47;**
- *    * This class will instantiate some X component instances
+ *    * This class will instantiate some Hello component instances
  *    *&#47;
  *  &#64;Component 
- *  class Y {
- *      &#64;ServiceDependency(filter="(" + Component.FACTORY_NAME + "=MyComponentFactory)")
- *      ComponentFactory _XFactory;
- *    
- *      &#64;Start
- *      void start() {
- *          // Instantiate a X component instance
- *          Dictionary instance1Conf = new Hashtable() {{ put("foo", "bar1"); }};
- *          ComponentInstance instance1 = _XFactory.newInstance(instance1Conf);
- *      
- *          // Instantiate another X component instance
- *          Dictionary instance2Conf = new Hashtable() {{ put("foo2", "bar2"); }};
- *          ComponentInstance instance2 = _XFactory.newInstance(instance2Conf);
- *      
- *          // Update the first X component instance
- *          instance1Conf = new Hashtable() {{ put("foo", "bar1 modified"); }};
- *          instance1.update(instance1Conf);
+ *  class HelloFactory {
+ *     &#64;ServiceDependency
+ *     void bind(ConfigurationAdmin cm) {
+ *          // instantiate a first instance of Hello component
+ *          Configuration c1 = cm.createFactoryConfiguration("my.factory.pid", "?");
+ *          Hashtable props = new Hashtable();
+ *          newprops.put("key", "value1");
+ *          c1.update(props);
  *          
- *          // Instantiate a third X instance, by explicitly providing the implementation object
- *          Dictionary instance3Conf = new Hashtable() {{ put(Component.FACTORY_INSTANCE, new X()); }};
- *          ComponentInstance instance3 = _XFactory.newInstance(instance3Conf);
- *      
- *          // Destroy x1/x2/x3 components
- *          instance1.dispose();
- *          instance2.dispose();
- *          instance3.dispose();
- *      }
+ *          // instantiate another instance of Hello component
+ *          Configuration c2 = cm.createFactoryConfiguration("my.factory.pid", "?");
+ *          props = new Hashtable();
+ *          newprops.put("key", "value2");
+ *          c2.update(props);
+ *          
+ *          // destroy the two instances of X component
+ *          c1.delete();
+ *          c2.delete();
+ *     }
  *  }
  * </pre>
- * 
  * </blockquote>
  * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
@@ -144,86 +116,62 @@ import java.lang.annotation.Target;
 public @interface Component
 {
     /**
-     * Service property name used to match a given Component Factory.
-     * @see #factoryName() for more information about factory sets.
-     */
-    final static String FACTORY_NAME = "dm.factory.name";
-    
-    /**
-     * Key used when providing an implementation when using a Component Factory .
-     * @see #factoryName()
-     */
-    final static String FACTORY_INSTANCE = "dm.factory.instance";
-
-    /**
      * Sets list of provided interfaces. By default, the directly implemented interfaces are provided.
      * @return the provided interfaces
      */
     Class<?>[] provides() default {};
-
+        
     /**
-     * Sets list of provided service properties. Since R7 version, Property annotation is repeatable and you can directly
-     * apply it on top of the component class multiple times, instead of using the Component properties attribute.
-     * @return the component properties.
+     * Sets the static method used to create the components implementation instance.
+     * @return the factory method used to instantiate the component
      */
-    Property[] properties() default {};
-
+    String factoryMethod() default "";        
+    
     /**
-     * Returns the name of the <code>Factory Set</code> used to dynamically instantiate this component.
-     * When you set this attribute, a <code>java.util.Set&lt;java.lang.Dictionary&gt;</code> OSGi Service will 
-     * be provided with a <code>dm.factory.name</code> service property matching your specified <code>factorySet</code> attribute.
-     * This Set will be provided once the component bundle is started, even if required dependencies are not available, and the
-     * Set will be unregistered from the OSGi registry once the component bundle is stopped or being updated.<p>
-     * So, basically, another component may then be injected with this set in order to dynamically instantiate some component instances:
-     * <ul>
-     * <li> Each time a new Dictionary is added into the Set, then a new instance of the annotated component will be instantiated.</li>
-     * <li> Each time an existing Dictionary is re-added into the Set, then the corresponding component instance will be updated.</li>
-     * <li> Each time an existing Dictionary is removed from the Set, then the corresponding component instance will be destroyed.</li>
-     * </ul>
+     * Returns the factory pid whose configurations will instantiate the annotated service class. Leaving this attribute
+     * unset means your component is a singleton. If you specify a factory pid, then this component will be instantiated
+     * each time a corresponding factory configuration is created.
      * 
-     * <p>The dictionary registered in the Set will be provided to the created component instance using a callback method that you can 
-     * optionally specify in the {@link Component#factoryConfigure()} attribute. Each public properties from that dictionary 
-     * (which don't start with a dot) will be propagated along with the annotated component service properties.
-     * 
-     * <p>Optionally, the dictionary registered into the factory set may provide an implementation instance for the component to be created,
-     * using the {@value #FACTORY_INSTANCE} key. 
-     * 
-     * @deprecated use {@link #factoryName()} instead of a factorySet.
-     * @return the factory set name
+     * @return the factory pid
      */
-    String factorySet() default "";
+    String factoryPid() default "";
     
     /**
-     * Returns the name of the <code>ComponentFactory</code> used to dynamically instantiate this component.
-     * When you set this attribute, a <code>org.apache.felix.dm.runtime.api.ComponentFactory</code> OSGi Service will 
-     * be provided with a <code>dm.factory.name</code> service property matching your specified <code>factoryName</code> attribute.
-     * 
-     * The ComponentFactory will be provided once the component bundle is started, even if required dependencies are not available, and the
-     * ComponentFactory will be unregistered from the OSGi registry once the component bundle is stopped or being updated.<p>
-     * So, another component may then be injected with this ComponentFactory in order to dynamically instantiate some component instances:
-     * 
-     * <p>The dictionary passed to the ComponentFactory.newInstance method will be provided to the created component instance using a callback 
-     * method that you can optionally specify in the {@link Component#factoryConfigure()} attribute. Each public properties from that dictionary 
-     * (which don't start with a dot) will be propagated along with the annotated component service properties.
-     * 
-     * <p>Optionally, the dictionary registered into the factory set may provide an implementation instance for the component to be created,
-     * using a "dm.runtime.factory.instance" key.
-     * @return the factory name
+     * The Update method to invoke (defaulting to "updated"), when a factory configuration is created or updated.
+     * Only used if the factoryPid attribute is set.
+     * The updated callback supported signatures are the following:<p>
+     * <ul><li>callback(Dictionary) 
+     * <li>callback(Component, Dictionary) 
+     * <li>callback(Component, Configuration ... configTypes) // type safe configuration interface(s)
+     * <li>callback(Configuration ... configTypes) // type safe configuration interface(s)
+     * <li>callback(Dictionary, Configuration ... configTypes) // type safe configuration interfaces(s)
+     * <li>callback(Component, Dictionary, Configuration ... configTypes) // type safe configuration interfaces(s)
+     * </ul>
+     * @return the updated callback
      */
-    String factoryName() default "";
+    String updated() default "updated";
 
     /**
-     * Sets "configure" callback method name to be called with the factory configuration. This attribute only makes sense if the 
-     * {@link #factoryName()} attribute is used. If specified, then this attribute references a callback method, which is called 
-     * for providing the configuration supplied by the factory that instantiated this component. The current component service properties will be 
-     * also updated with all public properties (which don't start with a dot).
-     * @return the factory configure callback name
+     * Returns true if the factory configuration properties must be published to the service properties. 
+     * Only used if the factoryPid attribute is set.
+     * @return true if configuration must be published along with the service, false if not.
      */
-    String factoryConfigure() default "";
-    
+    boolean propagate() default false;
+
+	/**
+	 * The service scope for the service of this Component.
+	 * 
+	 * <p>
+	 * If not specified, the {@link ServiceScope#SINGLETON singleton} service
+	 * scope is used. 
+	 */
+	ServiceScope scope() default ServiceScope.SINGLETON;
+
     /**
-     * Sets the static method used to create the components implementation instance.
-     * @return the factory method used to instantiate the component
+     * Sets list of provided service properties. Since R7 version, Property annotation is repeatable and you can directly
+     * apply it on top of the component class multiple times, instead of using the Component properties attribute.
+     * @return the component properties.
+     * @deprecated you can apply {@link Property} annotation directly on the component class.
      */
-    String factoryMethod() default "";        
+    Property[] properties() default {};
 }

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Composition.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Composition.java?rev=1842034&r1=1842033&r2=1842034&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Composition.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Composition.java Wed Sep 26 16:45:35 2018
@@ -33,8 +33,7 @@ import java.lang.annotation.Target;
  * of the implementation.
  * <p>
  * This annotation may be applied on a method which is part of class annotated with either a {@link Component},
- * {@link AspectService}, {@link AdapterService}, {@link FactoryConfigurationAdapterService} or 
- * {@link ResourceAdapterService} annotation.
+ * {@link AspectService}, or {@link AdapterService}.
  * 
  * <h3>Usage Examples</h3>
  * 
@@ -45,7 +44,8 @@ import java.lang.annotation.Target;
  * <pre>
  *
  * class Helper {
- *     LogService logService; // Injected
+ *     volatile LogService logService; // Injected
+ *     
  *     void start() {} // lifecycle callback
  *     void bind(OtherService otherService) {} // injected
  * }
@@ -76,6 +76,6 @@ import java.lang.annotation.Target;
  */
 @Retention(RetentionPolicy.CLASS)
 @Target(ElementType.METHOD)
-public @interface Composition
+public @interface Composition 
 {
 }