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 2015/11/12 23:26:32 UTC

svn commit: r1714132 [1/5] - in /felix/sandbox/pderop/dependencymanager.builder.java: ./ cnf/ cnf/bin/ cnf/buildrepo/ cnf/buildrepo/biz.aQute.junit/ cnf/buildrepo/biz.aQute.launcher/ cnf/buildrepo/ee.foundation/ cnf/buildrepo/ee.minimum/ cnf/buildrepo/...

Author: pderop
Date: Thu Nov 12 22:26:29 2015
New Revision: 1714132

URL: http://svn.apache.org/viewvc?rev=1714132&view=rev
Log:
Committed an experimental version of a DependencManager builder API, based on FELIX-4689 with the support of java8.

Added:
    felix/sandbox/pderop/dependencymanager.builder.java/
    felix/sandbox/pderop/dependencymanager.builder.java/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/README
    felix/sandbox/pderop/dependencymanager.builder.java/TODO
    felix/sandbox/pderop/dependencymanager.builder.java/build.gradle
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/.classpath   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/.project   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/bin/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/bin/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/build.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/README.txt
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.junit/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.launcher/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.foundation/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.foundation/ee.foundation-1.1.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/hamcrest-core/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/hamcrest-core/hamcrest-core-1.3.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit.osgi/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit.osgi/junit.osgi-3.8.2.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit/junit-4.11.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.3.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.0.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.1.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.2.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-5.0.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/biz.aQute.bnd.embedded-repo/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/biz.aQute.bnd.embedded-repo/pom.xml   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.junit/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.junit/biz.aQute.junit-latest.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.launcher/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.launcher/biz.aQute.launcher-latest.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/junit.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/pluginpaths.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/repositories.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/gradle/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/gradle/biz.aQute.bnd.gradle.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml.sha
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/net.jodah.typetools/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/net.jodah.typetools/net.jodah.typetools-0.4.5.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.configadmin/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.configadmin/org.apache.felix.configadmin-1.8.4.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.1.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.3.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.2.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.eventadmin/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.eventadmin/org.apache.felix.eventadmin-1.4.3.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.api/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.api/org.apache.felix.http.api-2.3.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.servlet-api/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.servlet-api/org.apache.felix.http.servlet-api-1.0.0.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/biz.aQute.repository/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml.sha
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/src/
    felix/sandbox/pderop/dependencymanager.builder.java/cnf/src/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/gradle.properties
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.classpath   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.project   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.settings/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bin/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bnd.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/generated/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/AbstractServiceDependencyTest.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ComponentTest.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/Ensure.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ResourceProvider.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ServiceDependencyTest.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ServiceDependencyThroughCallbackInstanceTest.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ServiceUpdateTest.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/ServiceUtil.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/TestBase.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/.classpath   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/.project   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/.settings/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/bin/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/bin_test/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/bnd.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/compositefactory.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/device.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/dictionary.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/factory.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/generated/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/hello.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/Activator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/CompositionManager.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/Configurator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/Provider.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/ProviderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/ProviderParticipant1.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/ProviderParticipant2.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/README
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/Activator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/Device.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceAccess.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceAccessConsumer.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceAccessImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceParameter.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/DeviceParameterImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/README
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/Activator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/DictionaryAspect.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/DictionaryAspectConfiguration.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/DictionaryConfiguration.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/DictionaryImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/DictionaryService.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/README
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/SpellChecker.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/Activator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/Provider.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/ProviderFactory.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/ProviderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/README
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/Activator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/Configurator.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/README
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/ServiceConsumer.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/ServiceProvider.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/ServiceProviderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/test/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.samples/test/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/.classpath   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/.project   (with props)
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/.settings/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/bin/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/bin_test/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/bnd.bnd
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/generated/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/AdapterBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/AspectBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/Callbacks.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/ComponentBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/ConfigurationDependencyBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/DependencyActivatorBase.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/DependencyBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/FactoryPidAdapterBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/ServiceCallbacksBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/ServiceDependencyBuilder.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/AdapterBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/AspectBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/ComponentBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/ConfigurationDependencyBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/ExtendedComponentBase.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/FactoryPidAdapterBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/SRefAsDictionary.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/SRefAsMap.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/ServiceCallbacksBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/impl/ServiceDependencyBuilderImpl.java
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/src/org/apache/felix/dm/builder/java/packageinfo
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/.gitignore
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/apache/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/apache/felix/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/apache/felix/dependencymanager/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/apache/felix/dependencymanager/builder/
    felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java/test/org/apache/felix/dependencymanager/builder/java/
    felix/sandbox/pderop/dependencymanager.builder.java/settings.gradle

Added: felix/sandbox/pderop/dependencymanager.builder.java/.gitignore
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/.gitignore?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/.gitignore (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/.gitignore Thu Nov 12 22:26:29 2015
@@ -0,0 +1,3 @@
+/.gradle/
+/reports/
+/generated/

Added: felix/sandbox/pderop/dependencymanager.builder.java/README
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/README?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/README (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/README Thu Nov 12 22:26:29 2015
@@ -0,0 +1,372 @@
+Presentation
+============
+
+This is a bndtools experimental prototype for a new DependencyManager builder based on the original
+idea proposed by Christian Schneider in FELIX-4689 ("Create a more fluent syntax for the dependency
+manager builder").
+
+The prototype is mostly based on lambdas expressions, type-safe method references and other java8-isms.
+
+The implementation is made outside of the DemendencyManager code, in the
+org.apache.felix.dependencymanager.builder.java bundle. There is also a corresponding
+org.apache.felix.dependencymanager.builder.java.itest integration test bundle, as well as a
+org.apache.felix.dependencymanager.builder.java.samples bundle.
+
+To import the project into eclipse, you need latest Eclipse Mars (Luna is not supported because it
+suffers from many java8 bugs):
+
+1- install latest Eclispe Mars, as well as a Java8 JDK, and choose this directory as the workspace.
+2- install BndTools 3.0.0
+3- switch to BndTools perspective
+4- import existing project into the workspace
+
+To test:
+
+under eclispe:
+
+click on org.apache.felix.dependencymanager.builder.java.itest/ and "Run as" -> "Bnd OSGi Test Launcher (JUnit)". 
+
+You can also run the org.apache.felix.dependencymanager.builder.java.samples bundle under Eclipse:
+just click on org.apache.felix.dependencymanager.builder.java.samples/bnd.bnd, and click on "Run OSGi".
+
+Then on the shell, type "log debug" to see samples output.
+
+You can also refer to individual sample README files:
+
+./org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/README
+./org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/README
+./org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/README
+./org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/README
+./org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/dictionary/README
+
+The work is not finished (see TODO file).
+
+Technical solutions used to manage method reference callbacks:
+=============================================================
+
+Before describing the new API, here are some simple use cases which will help to understand the
+implementation of the prototype regarding how method references are managed:
+
+- use case 1: Define a dependency callback on an already instantiated object, with a reference to a
+  bind method on that object:
+
+class MyServiceImpl {
+   void bind(LogService log) {}
+}
+
+MyServiceImpl impl = new MyServicImpl();
+
+So, to define a method reference on the bind method, this is simply done using a
+java.util.function.Consumer<LogService> method reference:
+
+Consumer<LogService> callback = impl::bind;
+
+The code above is similar to
+
+Consumer<LogService> callback = (logService -> impl.bind(logService))
+
+and later, when we want to inject the service, we simply call the consumer like this:
+
+callback.accept(logService);
+
+so far so good.
+
+Now something a bit more tricky:
+
+- use case 2: Define a method reference on a class method without the instance.
+
+This is a more complex use case. Here we want to define a method reference on a class method, but we
+don"t have yet the instance. We'll instantiate the implementation class later, once all dependencies
+are available, and at this point, we'll then inject the dependencies using the instance we have just
+created.
+
+So, to define such a method reference on an object instance that we don't have yet, we need to use
+something like a BiConsumer functional interface.
+
+Example:
+
+class MyComponent {
+   void bind(LogService log) {}
+}
+
+Now, to define a method reference on the bind method (but without a MyComponent instance), we can do
+this:
+
+BiConsumer<MyComponent, LogService> callback = MyComponent::bind;
+
+This declaration is similar to:
+
+BiConsumer<Test, LogService> callback = (myComponent, param) -> myComponent.bind(param);
+
+So, when we'll instantiate later MyComponent class, we'll then simply call the BiConsumer.accept
+method with the MyComponent instance, as well as the logService that we want to inject to the
+myComponent.bind method:
+
+...
+MyComponent comp = new MyComponent();
+// now inject the logService in the comp.bind method:
+callback.accept(comp, logService);
+
+
+One last remark about the implementation; it concerns the ConfigurationDependencyBuilder:
+
+When you specify a method reference on a component instance "updated" callback, a proxy callback
+object is used by the ConfigurationDependencyBuilder; and when the proxy object is called in its
+"updated" callback, then the proxy calls "component.getInstances()" method in order to call the
+method reference on the component instances.
+
+But with the current DM API, we have a problem here, because when you add a callback
+instance on a configuration dependency, then the Configurationependency.needsInstance() method
+returns false, and the component instances won't be available at the time the proxy.updated method
+is invoked. The component instances is not instantiated when using instance callbacks, mainly for
+the support of factories that need to get the configuration before being able to instantiate the
+component implementation from the factory.create method (see the compositefactory in the sample
+code, in order to fully understand all this). 
+
+So, in order to work around, I used a simple solution: I exposed the "instantiateComponent" method
+in the ComponentContext interface, in order to let the ConfigurationBuilder force the instantiation
+of the component instances before invoking the component.getInstances() method.
+
+Prototype presentation
+======================
+
+Mainly, the builder design pattern is reused, and is inspired from FELIX-4689.
+
+The new things concerns java8. Essentially, you can now define method references for dependency
+injections, as well as lambdas when initializing components and dependencies.
+
+The prototype contains three bundles:
+
+org.apache.felix.dependencymanager.builder.java: this bundle contains the builder API + the implementation.
+org.apache.felix.dependencymanager.builder.java.itest: integration tests. (to be finished)
+org.apache.felix.dependencymanager.builder.java.samples: some of the original samples available from
+DependencyManager, but adapted to the new builder API.
+
+When using the builder API, you have to write an activator, as before, but this time you extend the
+"org.apache.felix.dm.builder.java.DependencyActivatorBase" class. This class provides an init()
+method that you have to extend, and also some functions that allows to create Components, and
+Adapters, as well as some static functions that allows to create or modify components outside of the
+Activator (typically from test cases).
+
+The components are auto-added to the DependencyManager object that is created in the
+DependencyActivatorBase class, however you can create components and use the "autoAdd(false)" method
+in the ComponentBuilder. This will make sure the component is not automatically added to the dm
+object (sometimes, this is useful). 
+
+let's take a look at a simple example: here we have one component that depends on a log service
+injected by reflexion (autoconfig):
+
+ public class Activator extends DependencyActivatorBase {
+    @Override
+    public void init() throws Exception {
+       component(comp -> comp
+            .impl(ServiceImpl.class)
+            .withService(LogService.class));
+    }
+ }
+
+The ServiceImpl class will be injected with the LogService on any field having a LogService type.
+Notice that the component function takes as parameter a lambda expression. The corresponding
+functional interface is a a Consumer<ComponentBuilder> function that accepts a ComponentBuilder
+(comp -> comp). Now, using that builder, you can call the builder methods
+(comp.impl(..).withService(..) 
+
+If you want to configure a service depedency with more informations (like callbacks), you can also
+use another version of the "withService" method which also takes a lambda that accepts a
+ServiceDependencyBuilder object: 
+
+ public class Activator extends DependencyActivatorBase {
+     @Override
+    public void init() throws Exception {
+        component(comp -> comp
+            .impl(ServiceImpl.class)
+            .withService(LogService.class, srv -> srv.filter("(foo=bar)").onAdd(this::bind).required(false)));
+    }
+ }
+
+The withService you see above takes the service dependency type (LogService.class), as well as a
+lambda that is a Consumer<ServiceDependencyBuilder>. And the lambda can then use the "srv" builder
+and call proper ServiceDependencyBuilder methods: 
+
+    withService(LogService.class, srv -> srv.filter("(foo=bar)").onAdd(this::bind).required(false)
+
+Notice that, unlike in the original DependencyManager API, dependencies are required by default.
+
+Currently, the prototype supports the following components:
+
+Component
+Aspects
+Adapters
+Factory Configuration Adapters
+
+and the following dependencies are supported:
+
+ServiceDependency
+ConfigurationDependency
+
+So, the following things still need to be done:
+
+- add support for ResourceDependency
+- add support for BundleDependency
+- add support for ResourceAdapter
+- add support for BundleAdapter
+
+All the remaining things to be done are described in the TODO file.
+
+Use cases ranging from simple scenarios to more advances use cases (adapters, aspects)
+======================================================================================
+
+1) simple component with a service consumer and a service provider:
+
+In the samples, you will find a simple example with a ServiceConsumer, a ServiceProvider, and
+Configurator service:
+
+org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/hello/
+
+->
+
+public class Activator extends DependencyActivatorBase {
+    void bind(ServiceProvider provider) {
+	System.out.println("Activator.bind(" + provider + ")");
+    }
+	
+    @Override
+    public void init() throws Exception {
+        component(comp -> comp
+            .provides(ServiceProvider.class)
+            .onStart(ServiceProviderImpl::activate)
+            .properties("foo", "bar", "gabu", "zo") // foo=bar, gabu=zo
+            .impl(ServiceProviderImpl.class)
+            .withService(LogService.class, srv -> srv.onAdd(ServiceProviderImpl::bind)));
+
+        component(comp -> comp
+            .impl(ServiceConsumer.class)
+            .withService(LogService.class)
+            .withService(ServiceProvider.class, srv -> srv.filter("(foo=bar)").onAdd(this::bind))  
+            .withConfiguration(conf -> conf.pid(ServiceConsumer.class).onUpdate(ServiceConsumer::updated)));  
+        
+        component(comp -> comp.impl(Configurator.class).withService(ConfigurationAdmin.class));
+    }
+}
+
+The first component "ServiceProvider" has a special start method (activate), so we are using the
+onStart(ServiceProviderImpl::activate) method. The properties can now be provided using the one
+liner properties(...) method, which takes an even number of parameters, each pair of parameters
+consisting of a key-value params: 
+
+   properties("foo", "bar", "gabu", "zo") // foo=bar, gabu=zo
+
+the provider depends on a LogService (required), which will be injected in the ServiceProviderImpl::bind method.
+The second component is the ServiceConsumer that depends on the ServiceProvider, and also on a
+configuration that is injected in the Activator.bind method (this::bind).
+
+The last component is a Configurator component that populates the configuration into ConfigAdmin for the ServiceConsumer component.
+
+2) A component which is created using a factory object.
+
+(org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/factory/)
+
+public class Activator extends DependencyActivatorBase {    
+    @Override
+    public void init() throws Exception {
+        component(comp -> comp
+            .provides(Provider.class)
+            .factory(ProviderFactory::new, ProviderFactory::create)       
+            .withService(LogService.class, srv -> srv.required().onAdd(ProviderImpl::set))
+            .onStart(ProviderImpl::start));                      
+    }
+}
+
+Here, the Provider class is instantiated using the ProviderFactory that is instantiated using
+"ProviderFactory::new" constructor reference, and the ProviderFactory::create method. 
+
+3) Object composition:
+
+The example from
+org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/compositefactory/
+contains a ProviderImpl component that is intantiated from a CompositionManager object, and the
+configuration is injected in the CompositionManager.
+
+/**
+ * Defines a factory that also returns a composition.
+ * The LogService in only injected to the ProviderImpl and the ProviderParticipant1.
+ * 
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
+public class Activator extends DependencyActivatorBase {
+    @Override
+    public void init() throws Exception {
+        CompositionManager compositionMngr = new CompositionManager();
+        
+        component(comp -> comp
+            .factory(compositionMngr::create, compositionMngr::getComposition)
+            .withService(LogService.class, srv -> srv.onAdd(ProviderImpl::bind).onAdd(ProviderParticipant1::bind))
+            .withConfiguration(conf -> conf.pid(CompositionManager.class).onUpdate(compositionMngr::updated)));
+                
+        component(comp -> comp
+            .impl(Configurator.class).withService(ConfigurationAdmin.class));
+    }
+}
+
+4) Adapter example
+
+org.apache.felix.dependencymanager.builder.java.samples/src/org/apache/felix/dependencymanager/samples/device/
+
+This is an example showing an "Adapter" in action. Two kinds of services are
+registered in the registry: some Device, and some DeviceParameter services. For each Device (having
+a given id), there is also a corresponding "DeviceParameter" service, having the same id.
+
+Then a "DeviceAccessImpl" adapter service is defined: it is used to "adapt" the "Device" service to
+a "DeviceAccess" service, which provides the union of each pair of Device/DeviceParameter having the
+same device.id . The adapter also dynamically propagate the service properties of the adapted Device
+service.
+
+Here is the activator 
+
+public class Activator extends DependencyActivatorBase {
+    @Override
+    public void init() throws Exception { 
+        createDeviceAndParameter(1);
+        createDeviceAndParameter(2);
+
+        // Adapts a Device service to a DeviceAccess service
+        adapter(Device.class, comp -> comp.provides(DeviceAccess.class).impl(DeviceAccessImpl.class));
+            
+        component(comp -> comp
+            .impl(DeviceAccessConsumer.class)
+            .withService(LogService.class)
+            .withService(DeviceAccess.class, srv -> srv.onAdd(DeviceAccessConsumer::add)));       
+    }
+    
+    private void createDeviceAndParameter(int id) {
+        component(buicomplder -> buicomplder
+            .provides(Device.class).properties("device.id", id)
+            .factory(() -> new DeviceImpl(id))); // lazily create DeviceImpl
+                       
+        component(comp -> comp
+            .provides(DeviceParameter.class).properties("device.id", id)
+            .factory(() -> new DeviceParameterImpl(id))); // lazily create DeviceParameterImpl
+    }
+}
+
+This example is interesting because it uses an adapter and also a factory that takes a lazy Supplier
+lambda that is used when instantiating components.
+
+Also, the example shows how to add dynamic dependencies from component's init method. For example,
+when the DeviceAccessImpl component is initialized, it is passed the (real) DependencyManager
+Component that is then modified in order to add a dynamic dependency:
+
+public class DeviceAccessImpl implements DeviceAccess {
+    volatile Device device; // injected
+    volatile DeviceParameter deviceParameter; // injected
+
+    void init(Component c) {
+        // Dynamically add an extra dependency on a DeviceParameter (using the builder API).
+    	// Notice that we also add a "device.access.id" service property dynamically.
+        component(c, builder -> builder
+        	.properties("device.access.id", device.getDeviceId())
+        	.withService(DeviceParameter.class, srv -> srv.filter("(device.id=" + device.getDeviceId() + ")")));
+    }
+}
+
+

Added: felix/sandbox/pderop/dependencymanager.builder.java/TODO
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/TODO?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/TODO (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/TODO Thu Nov 12 22:26:29 2015
@@ -0,0 +1,33 @@
+- embed typetools in the org.apache.felix.dependencymanager.builder.java jar.
+
+- depend on typetools and DependencyManager from maven central.
+
+- In ComponentBuilder: add support for component lifecycle callbaks declared with method names (like it is the case with regular Dependency Manager API):
+
+componentBuilder.onInit(String init);
+componentBuilder.onStart(String start);
+componentBuilder.onStop(String stop);
+componentBuilder.onDestroy(String destroy);
+
+- In ConfigurationDependencyBuilder: add support for updated callback defined with a method name (like it is the case with regular DM API)
+  
+- add more javadocs
+
+- in ServiceDependencyBuilder: add support for method references in the "propagateTo" method
+
+- in ServiceDependencyBuilder: add a withService method that takes a string (class name), instead of a Class object.
+
+- finish to adapt all DependencyManager integration tests
+
+- add support for ResourceDependency
+
+- add support for BundleDependency
+
+- add support for ResourceAdapter
+
+- add support for BundleAdapter
+
+- "gradle check" is not currently working. The integration tests are only working under eclipse/bndtools.
+
+
+  

Added: felix/sandbox/pderop/dependencymanager.builder.java/build.gradle
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/build.gradle?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/build.gradle (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/build.gradle Thu Nov 12 22:26:29 2015
@@ -0,0 +1,20 @@
+/*
+ * Master Gradle build script
+ *
+ * Depends on bndWorkspace and bndURI properties set by settings.gradle.
+ */
+
+/* Add bnd as a script dependency */
+buildscript {
+  dependencies {
+    classpath files(bndURI)
+  }
+}
+
+/* Configure the subprojects */
+subprojects {
+  def bndProject = bndWorkspace.getProject(name)
+  if (bndProject != null) {
+    plugins.apply 'biz.aQute.bnd'
+  }
+}

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/.classpath
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/.classpath?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/.classpath
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/.gitignore
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/.gitignore?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/.gitignore (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/.gitignore Thu Nov 12 22:26:29 2015
@@ -0,0 +1,3 @@
+/bin/
+/generated/
+/cache/

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/.project
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/.project?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/.project
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/bin/.gitignore
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/bin/.gitignore?rev=1714132&view=auto
==============================================================================
    (empty)

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/build.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/build.bnd?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/build.bnd (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/build.bnd Thu Nov 12 22:26:29 2015
@@ -0,0 +1,57 @@
+########################
+## 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
+#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.debug:           on
+
+## Bnd Options
+-sources:              false
+#-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
+
+
+## To enable baselining, uncomment the following lines:
+# -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
\ No newline at end of file

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/README.txt
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/README.txt?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/README.txt (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/README.txt Thu Nov 12 22:26:29 2015
@@ -0,0 +1,6 @@
+WARNING
+=======
+
+This directory contains JAR file dependencies that are intended ONLY FOR BUILT-TIME usage.
+None are intended to be deployed as bundles into a running OSGi Framework, and indeed they may cause
+unexpected errors if they are used at runtime.

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.junit/biz.aQute.junit-latest.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/biz.aQute.launcher/biz.aQute.launcher-latest.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.foundation/ee.foundation-1.1.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.foundation/ee.foundation-1.1.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.foundation/ee.foundation-1.1.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/ee.minimum/ee.minimum-1.2.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/hamcrest-core/hamcrest-core-1.3.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/hamcrest-core/hamcrest-core-1.3.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/hamcrest-core/hamcrest-core-1.3.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit.osgi/junit.osgi-3.8.2.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit.osgi/junit.osgi-3.8.2.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit.osgi/junit.osgi-3.8.2.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit/junit-4.11.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit/junit-4.11.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/junit/junit-4.11.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.foundation/org.osgi.ee.foundation-1.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.3.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.3.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/org.osgi.ee.minimum/org.osgi.ee.minimum-1.1.3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.0.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.0.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.1.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.1.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.1.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.2.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.2.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.2.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-4.3.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-5.0.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-5.0.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/buildrepo/osgi.core/osgi.core-5.0.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/zip

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/biz.aQute.bnd.embedded-repo/pom.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/biz.aQute.bnd.embedded-repo/pom.xml?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/META-INF/maven/biz.aQute.bnd/biz.aQute.bnd.embedded-repo/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.junit/biz.aQute.junit-latest.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.junit/biz.aQute.junit-latest.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.junit/biz.aQute.junit-latest.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.launcher/biz.aQute.launcher-latest.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.launcher/biz.aQute.launcher-latest.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/cache/biz.aQute.launcher/biz.aQute.launcher-latest.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/junit.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/junit.bnd?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/junit.bnd (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/junit.bnd Thu Nov 12 22:26:29 2015
@@ -0,0 +1,3 @@
+junit:\
+	junit;version=latest,\
+	hamcrest-core;version=latest

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/pluginpaths.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/pluginpaths.bnd?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/pluginpaths.bnd (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/pluginpaths.bnd Thu Nov 12 22:26:29 2015
@@ -0,0 +1,2 @@
+-pluginpath:\
+	${plugin-dir}/biz.aQute.repository/biz.aQute.repository.jar
\ No newline at end of file

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/repositories.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/repositories.bnd?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/repositories.bnd (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/ext/repositories.bnd Thu Nov 12 22:26:29 2015
@@ -0,0 +1,7 @@
+-plugin:\
+	aQute.bnd.deployer.repository.LocalIndexedRepo; name=Release;      local=${workspace}/cnf/releaserepo;pretty=true,\
+	aQute.bnd.deployer.repository.LocalIndexedRepo; name=Local;        local=${workspace}/cnf/localrepo;pretty=true,\
+	aQute.bnd.deployer.repository.FixedIndexedRepo; name=Bndtools Hub; locations=https://raw.githubusercontent.com/bndtools/bundle-hub/master/index.xml.gz,\
+	aQute.lib.deployer.FileRepo;                    name=Build;        location=${workspace}/cnf/buildrepo;latest=false
+
+-releaserepo: Release

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/gradle/biz.aQute.bnd.gradle.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/gradle/biz.aQute.bnd.gradle.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/gradle/biz.aQute.bnd.gradle.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml.sha?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml.sha (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/index.xml.sha Thu Nov 12 22:26:29 2015
@@ -0,0 +1 @@
+2dcca1ae80b42ec39813635ffa4259b44ddd5f47b8d2094a2ed9b07795ccb605
\ No newline at end of file

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/net.jodah.typetools/net.jodah.typetools-0.4.5.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/net.jodah.typetools/net.jodah.typetools-0.4.5.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/net.jodah.typetools/net.jodah.typetools-0.4.5.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.configadmin/org.apache.felix.configadmin-1.8.4.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.configadmin/org.apache.felix.configadmin-1.8.4.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.configadmin/org.apache.felix.configadmin-1.8.4.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.1.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.1.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.3.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.3.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.2.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.2.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.2.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.eventadmin/org.apache.felix.eventadmin-1.4.3.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.eventadmin/org.apache.felix.eventadmin-1.4.3.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.eventadmin/org.apache.felix.eventadmin-1.4.3.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.api/org.apache.felix.http.api-2.3.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.api/org.apache.felix.http.api-2.3.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.api/org.apache.felix.http.api-2.3.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.servlet-api/org.apache.felix.http.servlet-api-1.0.0.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.servlet-api/org.apache.felix.http.servlet-api-1.0.0.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/localrepo/org.apache.felix.http.servlet-api/org.apache.felix.http.servlet-api-1.0.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/plugins/biz.aQute.repository/biz.aQute.repository.jar
------------------------------------------------------------------------------
    svn:mime-type = application/java-archive

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml.sha?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml.sha (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/cnf/releaserepo/index.xml.sha Thu Nov 12 22:26:29 2015
@@ -0,0 +1 @@
+262a924c4164db96f2409bfbe8d20793eb0c91a51c3dcd7c2160cde2bac8a492
\ No newline at end of file

Added: felix/sandbox/pderop/dependencymanager.builder.java/cnf/src/.gitignore
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/cnf/src/.gitignore?rev=1714132&view=auto
==============================================================================
    (empty)

Added: felix/sandbox/pderop/dependencymanager.builder.java/gradle.properties
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/gradle.properties?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/gradle.properties (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/gradle.properties Thu Nov 12 22:26:29 2015
@@ -0,0 +1,14 @@
+# cnf project name
+bnd_cnf=cnf
+
+# bnd_jar can also be a URL.
+bnd_jar=cnf/gradle/biz.aQute.bnd.gradle.jar
+
+# bnd_build can be set to the name of a "master" project whose dependencies will seed the set of projects to build.
+bnd_build=
+
+# Default gradle task to build
+bnd_defaultTask=build
+
+# This should be false. It only needs to be true in rare cases.
+bnd_preCompileRefresh=false

Added: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.classpath
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.classpath?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.classpath
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.gitignore
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.gitignore?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.gitignore (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.gitignore Thu Nov 12 22:26:29 2015
@@ -0,0 +1,2 @@
+/bin/
+/generated/

Added: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.project
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.project?rev=1714132&view=auto
==============================================================================
Binary file - no diff available.

Propchange: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/.project
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bnd.bnd?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bnd.bnd (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/bnd.bnd Thu Nov 12 22:26:29 2015
@@ -0,0 +1,31 @@
+-buildpath: \
+	${junit},\
+	org.apache.felix.dependencymanager;version=4.1,\
+	org.apache.felix.dependencymanager.shell;version=4.0,\
+	org.apache.felix.gogo.runtime;version=0.12,\
+	org.apache.felix.dependencymanager.builder.java;version=latest,\
+	osgi.core;version=6.0,\
+	osgi.cmpn;version=6.0
+-runbundles: \
+	org.apache.felix.metatype;version=1.0.10,\
+	org.apache.felix.gogo.runtime;version=0.12.1,\
+	org.apache.felix.log;version=1.0.1,\
+	org.apache.felix.dependencymanager;version=4.2.0,\
+	org.apache.felix.dependencymanager.shell;version=4.0.1,\
+	org.apache.felix.configadmin;version=1.8.4,\
+	org.apache.felix.dependencymanager.builder.java;version=latest,\
+	net.jodah.typetools;version=0.4.5,\
+	biz.aQute.junit;version=1.3.0
+
+-runee: JavaSE-1.8
+-runfw: org.apache.felix.framework;version='[5.2.0,5.2.0]'
+-runsystempackages:  \
+	sun.reflect
+-runvm: -ea
+Bundle-Version: 0.0.0.${tstamp}
+Private-Package:  \
+	org.apache.felix.dm.builder.java.itest
+Test-Cases:  \
+	${classes;CONCRETE;EXTENDS;junit.framework.TestCase}
+javac.source:          1.8
+javac.target:          1.8

Added: felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/AbstractServiceDependencyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/AbstractServiceDependencyTest.java?rev=1714132&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/AbstractServiceDependencyTest.java (added)
+++ felix/sandbox/pderop/dependencymanager.builder.java/org.apache.felix.dependencymanager.builder.java.itest/src/org/apache/felix/dm/builder/java/itest/AbstractServiceDependencyTest.java Thu Nov 12 22:26:29 2015
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+package org.apache.felix.dm.builder.java.itest;
+
+import static org.apache.felix.dm.builder.java.DependencyActivatorBase.component;
+
+import org.apache.felix.dm.Component;
+import org.apache.felix.dm.DependencyManager;
+import org.junit.Assert;
+
+/**
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
+public class AbstractServiceDependencyTest extends TestBase {
+   public void testAbstractClassDependency() {
+       DependencyManager m = getDM();
+       // helper class that ensures certain steps get executed in sequence
+       Ensure e = new Ensure();
+       // create a service provider and consumer
+       Component sp = component(m, comp -> comp
+    		   .autoAdd(false).provides(ServiceAbstract.class).impl(new ServiceProvider(e)));
+       
+       Component sc = component(m, comp -> comp
+    		   .autoAdd(false).impl(new ServiceConsumer(e))
+    		   .withService(ServiceAbstract.class, srv -> srv.onAdd(ServiceConsumer::bind).onRemove(ServiceConsumer::unbind)));
+       m.add(sp);
+       m.add(sc);
+       m.remove(sp);
+       // ensure we executed all steps inside the component instance
+       e.step(8);
+       m.clear();
+   }
+
+   static abstract class ServiceAbstract {
+       public abstract void invoke();
+   }
+
+   static class ServiceProvider extends ServiceAbstract {
+       private final Ensure m_ensure;
+       public ServiceProvider(Ensure e) {
+           m_ensure = e;
+       }
+
+       public void start() {
+           m_ensure.step(1);
+       }
+
+       public void invoke() {
+           m_ensure.step(4);
+       }
+
+       public void stop() {
+           m_ensure.step(7);
+       }
+   }
+
+   static class ServiceConsumer {
+       private volatile ServiceAbstract m_service;
+       private final Ensure m_ensure;
+
+       public ServiceConsumer(Ensure e) {
+           m_ensure = e;
+       }
+
+       public void bind(ServiceAbstract service) {
+           m_ensure.step(2);
+           m_service = service;
+       }
+
+       public void start() {
+           m_ensure.step(3);
+           m_service.invoke();
+       }
+
+       public void stop() {
+           m_ensure.step(5);
+       }
+
+       public void unbind(ServiceAbstract service) {
+           System.out.println("UNBINDDDDDDDDDDDDDDDDDDDDDDDDDDD");
+           Assert.assertEquals(m_service, service);
+           m_ensure.step(6);
+       }
+   }
+}
\ No newline at end of file