Version Bump To Silicon. 85/93385/6
authorVenkatrangan Govindarajan <gvrangan@gmail.com>
Mon, 26 Oct 2020 09:55:42 +0000 (15:25 +0530)
committerVenkataSatya Jonnadula <ravi.jonnadula@gmail.com>
Mon, 23 Nov 2020 09:07:48 +0000 (09:07 +0000)
Version Bump To Silicon.

JIRA-ID: ODLMICRO-56
Change-Id: Iecb6e2f3e5bea83da40043c6bc8367c7dcf4c14c
Signed-off-by: Venkatrangan Govindarajan <gvrangan@gmail.com>
12 files changed:
micro-core/pom.xml
micro-core/src/main/java/org/opendaylight/controller/micro/ConfigReader.java
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/AbstractBaseDataBrokerTest.java
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/AbstractDataBrokerTestCustomizer.java
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/AbstractNotificationBrokerTest.java
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/AbstractSchemaAwareTest.java
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/MockAdapterContext.java [deleted file]
micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/MockSchemaService.java
micro-netvirt/pom.xml
micro-openflowplugin/pom.xml
micro-ovsdb/pom.xml
pom.xml

index 66e9ed6bf514e0a99fea4e9f4cef28f10f17a591..25f17a11f164bdf37672a1ef5d84eb738aff7c40 100644 (file)
     <dependency>
       <groupId>org.opendaylight.serviceutils</groupId>
       <artifactId>srm-api</artifactId>
-      <version>0.6.0-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
 
     <!--serviceutils-->
     <dependency>
       <groupId>org.opendaylight.serviceutils</groupId>
       <artifactId>srm-impl</artifactId>
-      <version>0.6.0-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
     </dependency>
 
     <!--serviceutils-->
     <dependency>
       <groupId>org.opendaylight.serviceutils</groupId>
       <artifactId>upgrade</artifactId>
-      <version>0.6.0-SNAPSHOT</version>
+      <version>0.7.0-SNAPSHOT</version>
       <scope>compile</scope>
     </dependency>
 
       <groupId>org.codehaus.woodstox</groupId>
       <artifactId>stax2-api</artifactId>
     </dependency>
+
+   <!-- fix build failures -->
+    <dependency>
+      <groupId>org.immutables</groupId>
+      <artifactId>value</artifactId>
+      <version>2.8.8</version>
+      <scope>compile</scope>
+    </dependency>
   </dependencies>
 
   <build>
       </plugin>
     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>
index 399e09e88caf4f9da2ae434b3fa6ab9c7e11b80a..110114755ab7b563c08c8c37f1df64a72c9c52a4 100644 (file)
@@ -19,6 +19,7 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLStreamException;
+import org.gaul.modernizer_maven_annotations.SuppressModernizer;
 import org.opendaylight.controller.blueprint.ext.BindingContext;
 import org.opendaylight.controller.blueprint.ext.ConfigXMLReaderException;
 import org.opendaylight.controller.blueprint.ext.DataStoreAppConfigDefaultXMLReader;
@@ -58,6 +59,7 @@ public class ConfigReader {
         return read(resourcePathWithoutExtension, yangType, null);
     }
 
+    @SuppressModernizer
     public <T extends DataObject> T read(String resourcePathWithoutExtension, Class<T> yangType, String listKeyValue) {
         String xmlResourcePath = resourcePathWithoutExtension + ".xml";
         URL xmlResourceURL = Resources.getResource(ConfigReader.class, xmlResourcePath);
index 317c8bf72d9b1c8fb5e79f3d0f61bc7e92d7a2b7..9dd34c75d6686ce8c2bd84c036988f7d564e07c9 100644 (file)
@@ -12,8 +12,8 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public abstract class AbstractBaseDataBrokerTest extends AbstractSchemaAwareTest {
     private static final int ASSERT_COMMIT_DEFAULT_TIMEOUT = 5000;
@@ -32,11 +32,12 @@ public abstract class AbstractBaseDataBrokerTest extends AbstractSchemaAwareTest
     }
 
     @Override
-    protected void setupWithSchema(final EffectiveModelContext context) {
+    protected void setupWithRuntimeContext(final BindingRuntimeContext runtimeContext) {
         testCustomizer = createDataBrokerTestCustomizer();
         dataBroker = testCustomizer.createDataBroker();
         domBroker = testCustomizer.getDOMDataBroker();
-        testCustomizer.updateSchema(context);
+        testCustomizer.updateSchema(runtimeContext);
+        super.setupWithRuntimeContext(runtimeContext);
     }
 
     public DataBroker getDataBroker() {
index 81408b7ee83da4357565e4590d91c06588db94f5..8a74802a4a291bd16f26503686114f84cdbfc510 100644 (file)
@@ -17,6 +17,8 @@ import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
 import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataBrokerAdapter;
 import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMNotificationPublishServiceAdapter;
 import org.opendaylight.mdsal.binding.dom.adapter.BindingDOMNotificationServiceAdapter;
+import org.opendaylight.mdsal.binding.dom.adapter.test.util.MockSchemaService;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
@@ -24,15 +26,13 @@ import org.opendaylight.mdsal.dom.broker.DOMNotificationRouter;
 import org.opendaylight.mdsal.dom.broker.SerializedDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public abstract class AbstractDataBrokerTestCustomizer {
+    private final DOMNotificationRouter domNotificationRouter = DOMNotificationRouter.create(16);
+    private final MockSchemaService schemaService = new MockSchemaService();
 
     private DOMDataBroker domDataBroker;
-    private final DOMNotificationRouter domNotificationRouter;
-    private final MockSchemaService schemaService;
     private ImmutableMap<LogicalDatastoreType, DOMStore> datastores;
-    private final MockAdapterContext adapterContext;
 
     public ImmutableMap<LogicalDatastoreType, DOMStore> createDatastores() {
         return ImmutableMap.<LogicalDatastoreType, DOMStore>builder()
@@ -41,13 +41,6 @@ public abstract class AbstractDataBrokerTestCustomizer {
                 .build();
     }
 
-    public AbstractDataBrokerTestCustomizer() {
-        schemaService = new MockSchemaService();
-        adapterContext = new MockAdapterContext();
-        schemaService.registerSchemaContextListener(adapterContext);
-        domNotificationRouter = DOMNotificationRouter.create(16);
-    }
-
     public DOMStore createConfigurationDatastore() {
         final InMemoryDOMDataStore store = new InMemoryDOMDataStore("CFG", getDataTreeChangeListenerExecutor());
         schemaService.registerSchemaContextListener(store);
@@ -65,11 +58,11 @@ public abstract class AbstractDataBrokerTestCustomizer {
     }
 
     public NotificationService createNotificationService() {
-        return new BindingDOMNotificationServiceAdapter(adapterContext, domNotificationRouter);
+        return new BindingDOMNotificationServiceAdapter(schemaService, domNotificationRouter);
     }
 
     public NotificationPublishService createNotificationPublishService() {
-        return new BindingDOMNotificationPublishServiceAdapter(adapterContext, domNotificationRouter);
+        return new BindingDOMNotificationPublishServiceAdapter(schemaService, domNotificationRouter);
     }
 
     public abstract ListeningExecutorService getCommitCoordinatorExecutor();
@@ -79,11 +72,11 @@ public abstract class AbstractDataBrokerTestCustomizer {
     }
 
     public DataBroker createDataBroker() {
-        return new BindingDOMDataBrokerAdapter(adapterContext, getDOMDataBroker());
+        return new BindingDOMDataBrokerAdapter(schemaService, getDOMDataBroker());
     }
 
     public AdapterContext getAdapterContext() {
-        return adapterContext;
+        return schemaService;
     }
 
     public DOMSchemaService getSchemaService() {
@@ -104,7 +97,7 @@ public abstract class AbstractDataBrokerTestCustomizer {
         return datastores;
     }
 
-    public void updateSchema(final EffectiveModelContext ctx) {
+    public void updateSchema(final BindingRuntimeContext ctx) {
         schemaService.changeSchema(ctx);
     }
 
index ddcfa005280f6c9ef923c27208c59c367da89463..f1d708b094f5770697f49ff539d49b60aa594cbe 100644 (file)
@@ -10,8 +10,8 @@ package org.opendaylight.mdsal.micro.binding.dom.adapter;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.binding.api.NotificationService;
 import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.dom.broker.DOMNotificationRouter;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public class AbstractNotificationBrokerTest extends AbstractSchemaAwareTest {
     private AdapterContext bindingToNormalizedNodeCodec;
@@ -21,13 +21,14 @@ public class AbstractNotificationBrokerTest extends AbstractSchemaAwareTest {
 
 
     @Override
-    protected void setupWithSchema(final EffectiveModelContext context) {
+    protected void setupWithRuntimeContext(final BindingRuntimeContext runtimeContext) {
         final DataBrokerTestCustomizer testCustomizer = createDataBrokerTestCustomizer();
         domNotificationRouter = testCustomizer.getDomNotificationRouter();
         notificationService = testCustomizer.createNotificationService();
         notificationPublishService = testCustomizer.createNotificationPublishService();
         bindingToNormalizedNodeCodec = testCustomizer.getAdapterContext();
-        testCustomizer.updateSchema(context);
+        testCustomizer.updateSchema(runtimeContext);
+        super.setupWithRuntimeContext(runtimeContext);
     }
 
     protected DataBrokerTestCustomizer createDataBrokerTestCustomizer() {
index c540f8db5417a0e8e5edfb0df85d0931e1a44d7e..d6131e347a7d8f4a6e85cff2311a41a434630f33 100644 (file)
@@ -12,38 +12,49 @@ import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import java.util.Set;
 import org.junit.Before;
-import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
+import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers;
 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public abstract class AbstractSchemaAwareTest {
-    private static final LoadingCache<Set<YangModuleInfo>, EffectiveModelContext> SCHEMA_CONTEXT_CACHE =
+    private static final LoadingCache<Set<YangModuleInfo>, BindingRuntimeContext> RUNTIME_CONTEXT_CACHE =
             CacheBuilder.newBuilder().weakValues().build(
-                new CacheLoader<Set<YangModuleInfo>, EffectiveModelContext>() {
+                new CacheLoader<Set<YangModuleInfo>, BindingRuntimeContext>() {
                     @Override
-                    public EffectiveModelContext load(final Set<YangModuleInfo> key) {
-                        return BindingRuntimeHelpers.createEffectiveModel(key);
+                    public BindingRuntimeContext load(final Set<YangModuleInfo> key) {
+                        return BindingRuntimeHelpers.createRuntimeContext(key);
                     }
                 });
 
     @Before
     public final void setup() throws Exception {
-        setupWithSchema(getSchemaContext());
+        setupWithRuntimeContext(getRuntimeContext());
     }
 
     protected Set<YangModuleInfo> getModuleInfos() throws Exception {
         return BindingReflections.cacheModuleInfos(Thread.currentThread().getContextClassLoader());
     }
 
+    protected BindingRuntimeContext getRuntimeContext() throws Exception {
+        return RUNTIME_CONTEXT_CACHE.getUnchecked(getModuleInfos());
+    }
+
     protected EffectiveModelContext getSchemaContext() throws Exception {
-        return SCHEMA_CONTEXT_CACHE.getUnchecked(getModuleInfos());
+        return getRuntimeContext().getEffectiveModelContext();
+    }
+
+    protected void setupWithRuntimeContext(final BindingRuntimeContext runtimeContext) {
+        setupWithSchema(runtimeContext.getEffectiveModelContext());
     }
 
     /**
-     * Setups test with Schema context.
+     * Setups test with EffectiveModelContext.
      *
      * @param context schema context
      */
-    protected abstract void setupWithSchema(EffectiveModelContext context);
+    protected void setupWithSchema(final EffectiveModelContext context) {
+        // No-op
+    }
 }
diff --git a/micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/MockAdapterContext.java b/micro-core/src/main/java/org/opendaylight/mdsal/micro/binding/dom/adapter/MockAdapterContext.java
deleted file mode 100644 (file)
index 58416e0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.mdsal.micro.binding.dom.adapter;
-
-import static com.google.common.base.Verify.verifyNotNull;
-
-import org.opendaylight.binding.runtime.api.DefaultBindingRuntimeContext;
-import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
-import org.opendaylight.mdsal.binding.dom.adapter.CurrentAdapterSerializer;
-import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
-import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator;
-import org.opendaylight.yangtools.util.ClassLoaderUtils;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
-
-public final class MockAdapterContext implements AdapterContext, EffectiveModelContextListener {
-    private volatile CurrentAdapterSerializer serializer = null;
-
-    @Override
-    public CurrentAdapterSerializer currentSerializer() {
-        return verifyNotNull(serializer);
-    }
-
-    @Override
-    public void onModelContextUpdated(final EffectiveModelContext newModelContext) {
-        serializer = new CurrentAdapterSerializer(new BindingCodecContext(DefaultBindingRuntimeContext.create(
-            new DefaultBindingRuntimeGenerator().generateTypeMapping(newModelContext),
-            ClassLoaderUtils::loadClassWithTCCL)));
-    }
-}
index b2f0b8872fe068dd0956d0775efdc65987f6d1b3..317cefa25e2ebd428b7885658944b09af496cb29 100644 (file)
@@ -7,9 +7,19 @@
  */
 package org.opendaylight.mdsal.micro.binding.dom.adapter;
 
+import static com.google.common.base.Verify.verifyNotNull;
+
+import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.CacheLoader;
+import com.google.common.cache.LoadingCache;
 import com.google.common.collect.ClassToInstanceMap;
 import com.google.common.collect.ImmutableClassToInstanceMap;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import org.opendaylight.mdsal.binding.dom.adapter.AdapterContext;
+import org.opendaylight.mdsal.binding.dom.adapter.CurrentAdapterSerializer;
+import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
+import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaServiceExtension;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
@@ -18,9 +28,20 @@ import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
 
-public final class MockSchemaService implements DOMSchemaService, EffectiveModelContextProvider {
+public final class MockSchemaService implements DOMSchemaService, EffectiveModelContextProvider, AdapterContext {
+    // Codec has some amount of non-trivial state, such as generated classes. Its operation should not be affected by
+    // anything except BindingRuntimeContext, hence we should be able to reuse it.
+    private static final LoadingCache<BindingRuntimeContext, BindingDOMCodecServices> CODEC_CACHE =
+        CacheBuilder.newBuilder().weakKeys().weakValues().build(
+            new CacheLoader<BindingRuntimeContext, BindingDOMCodecServices>() {
+                @Override
+                public BindingDOMCodecServices load(final BindingRuntimeContext key) {
+                    return new BindingCodecContext(key);
+                }
+            });
 
     private EffectiveModelContext schemaContext;
+    private CurrentAdapterSerializer serializer;
 
     final ListenerRegistry<EffectiveModelContextListener> listeners = ListenerRegistry.create();
 
@@ -46,8 +67,15 @@ public final class MockSchemaService implements DOMSchemaService, EffectiveModel
         return ImmutableClassToInstanceMap.of();
     }
 
-    public synchronized void changeSchema(final EffectiveModelContext newContext) {
-        schemaContext = newContext;
+    @SuppressFBWarnings(value = "IS2_INCONSISTENT_SYNC")
+    public synchronized void changeSchema(final BindingRuntimeContext newContext) {
+        serializer = new CurrentAdapterSerializer(CODEC_CACHE.getUnchecked(newContext));
+        schemaContext = newContext.getEffectiveModelContext();
         listeners.streamListeners().forEach(listener -> listener.onModelContextUpdated(schemaContext));
     }
+
+    @Override
+    public synchronized CurrentAdapterSerializer currentSerializer() {
+        return verifyNotNull(serializer);
+    }
 }
index b4b6a581ee57fa8681a5552f8f40629e79482545..b3419e992caef8b62ba70ad9c028a4ded745f1b2 100644 (file)
@@ -25,7 +25,7 @@
       <dependency>
         <groupId>org.opendaylight.netvirt</groupId>
         <artifactId>netvirt-artifacts</artifactId>
-        <version>0.11.0-SNAPSHOT</version>
+        <version>0.12.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 0560f145c0df15697b3cadde1d7819e8af038915..bcc6c0181fb4dc15f284e78de8416e909315ea70 100644 (file)
@@ -23,7 +23,7 @@
       <dependency>
         <groupId>org.opendaylight.openflowplugin</groupId>
         <artifactId>openflowplugin-artifacts</artifactId>
-        <version>0.11.0-SNAPSHOT</version>
+        <version>0.12.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 065858908c0683489f0fa7caba9b1c99ff10d28c..568932e21a606df96f5159617bde40ff2ba6dda6 100644 (file)
       <dependency>
         <groupId>org.opendaylight.ovsdb</groupId>
         <artifactId>hwvtepsouthbound-artifacts</artifactId>
-        <version>1.11.0-SNAPSHOT</version>
+        <version>1.12.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.ovsdb</groupId>
         <artifactId>library-artifacts</artifactId>
-        <version>1.11.0-SNAPSHOT</version>
+        <version>1.12.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.ovsdb</groupId>
         <artifactId>southbound-artifacts</artifactId>
-        <version>1.11.0-SNAPSHOT</version>
+        <version>1.12.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
diff --git a/pom.xml b/pom.xml
index 81b16b47bd533e363acb7d8bd50961f5b7d62e87..159cce7155e656bbf8765beb7a481d77db66a526 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>7.0.5</version>
+    <version>8.0.0</version>
   </parent>
 
   <groupId>org.opendaylight.odlmicro</groupId>
@@ -27,6 +27,7 @@
          notably e.g. https://git.opendaylight.org/gerrit/#/c/67179/ et al. (and we bumped odlparent) -->
     <duplicate-finder.skip>true</duplicate-finder.skip>
     <maven.javadoc.skip>true</maven.javadoc.skip>
+    <odlguice.version>1.0.1-SNAPSHOT</odlguice.version>
   </properties>
 
   <dependencyManagement>
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>1.8.0</version>
+        <version>1.9.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.yangtools</groupId>
         <artifactId>yangtools-artifacts</artifactId>
-        <version>5.0.5</version>
+        <version>7.0.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.aaa</groupId>
         <artifactId>aaa-artifacts</artifactId>
-        <version>0.12.0-SNAPSHOT</version>
+        <version>0.13.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>controller-artifacts</artifactId>
-        <version>2.0.3</version>
+        <version>3.0.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>mdsal-artifacts</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.netconf</groupId>
         <artifactId>netconf-artifacts</artifactId>
-        <version>1.9.0-SNAPSHOT</version>
+        <version>1.10.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -84,7 +85,7 @@
       <dependency>
         <groupId>org.opendaylight.odlguice</groupId>
         <artifactId>odlguice-artifacts</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
+        <version>${odlguice.version}</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>blueprint</artifactId>
-      <version>2.0.3</version>
+      <version>3.0.1</version>
+      <scope>compile</scope>
+    </dependency>
+   <!-- fix build failures -->
+    <dependency>
+      <groupId>org.immutables</groupId>
+      <artifactId>value</artifactId>
+      <version>2.8.8</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>