From 3894ab630aa9e4d349c5c7adbf09ecc130052dd2 Mon Sep 17 00:00:00 2001
From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>
Date: Tue, 23 Mar 2021 15:11:05 -0700
Subject: [PATCH] Fix CI Failures (#20065)
Fix CI Failures
---
.../azure-iot-modelsrepository/README.md | 2 ++
.../azure-iot-modelsrepository/pom.xml | 23 +++++++-----
.../iot/modelsrepository/DtmiConventions.java | 36 ++++++++++---------
.../ModelsRepositoryClientBuilder.java | 6 ++--
.../ModelsRepositoryAPIImpl.java | 5 ---
.../ModelsRepositoryAPIImplBuilder.java | 6 ++--
.../iot/core/ModelResolutionSamples.java | 4 +--
.../modelsrepository/DtmiConventionTests.java | 31 +++++++++++-----
.../ModelRepositoryIntegrationTests.java | 7 +++-
.../ModelsRepositoryTestBase.java | 1 -
.../iot/modelsrepository/TestHelper.java | 1 -
sdk/modelsrepository/pom.xml | 4 +--
12 files changed, 72 insertions(+), 54 deletions(-)
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/README.md b/sdk/modelsrepository/azure-iot-modelsrepository/README.md
index 2c4eade56793b..29e1728cf2afa 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/README.md
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/README.md
@@ -14,6 +14,8 @@ For the best development experience, developers should use the official Microsof
## Key concepts
+## Examples
+
## Troubleshooting
## Next steps
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml b/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml
index 6ff89c141b735..0ab67dbdd70b8 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/pom.xml
@@ -32,59 +32,64 @@
HEAD
+
+ 0.20
+ 0.20
+
+
com.azure
azure-core
- 1.13.0
+ 1.14.1
com.azure
azure-core-http-netty
- 1.8.0
+ 1.9.0
com.azure
azure-core-test
- 1.5.3
+ 1.6.0
test
com.azure
azure-identity
- 1.2.3
+ 1.2.4
test
com.azure
azure-core-http-okhttp
- 1.5.0
+ 1.6.0
test
org.junit.jupiter
junit-jupiter-api
- 5.6.3
+ 5.7.1
test
org.junit.jupiter
junit-jupiter-engine
- 5.6.3
+ 5.7.1
test
org.junit.jupiter
junit-jupiter-params
- 5.6.3
+ 5.7.1
test
org.assertj
assertj-core
- 3.16.1
+ 3.18.1
test
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/DtmiConventions.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/DtmiConventions.java
index ae8dd903cea45..a6b6113d53d48 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/DtmiConventions.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/DtmiConventions.java
@@ -16,23 +16,25 @@
import java.util.regex.Pattern;
/**
- * DtmiConventions implements the core aspects of the IoT model repo conventions
- * which includes DTMI validation and calculating a URI path from a DTMI.
+ * DtmiConventions implements the core aspects of the IoT model repo conventions which includes DTMI validation and
+ * calculating a URI path from a DTMI.
*/
public final class DtmiConventions {
- private DtmiConventions() { }
+ private DtmiConventions() {
+ }
/**
- * A DTMI has three components: scheme, path, and version.
- * Scheme and path are separated by a colon. Path and version are separated by a semicolon i.e. scheme : path ; version.
- * The scheme is the string literal "dtmi" in lowercase. The path is a sequence of one or more segments, separated by colons.
- * The version is a sequence of one or more digits. Each path segment is a non-empty string containing only letters, digits, and undersc
- * The first character may not be a digit, and the last character may not be an underscore.
- * The version length is limited to nine digits, because the number 999,999,999 fits in a 32-bit signed integer value.
- * The first digit may not be zero, so there is no ambiguity regarding whether version 1 matches version 01 since the latter is invalid.
+ * A DTMI has three components: scheme, path, and version. Scheme and path are separated by a colon. Path and
+ * version are separated by a semicolon i.e. scheme : path ; version. The scheme is the string literal "dtmi" in
+ * lowercase. The path is a sequence of one or more segments, separated by colons. The version is a sequence of one
+ * or more digits. Each path segment is a non-empty string containing only letters, digits, and undersc The first
+ * character may not be a digit, and the last character may not be an underscore. The version length is limited to
+ * nine digits, because the number 999,999,999 fits in a 32-bit signed integer value. The first digit may not be
+ * zero, so there is no ambiguity regarding whether version 1 matches version 01 since the latter is invalid.
*/
- private static final Pattern VALID_DTMI_PATTERN = Pattern.compile("^dtmi:[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?(?::[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?)*;[1-9][0-9]{0,8}$");
+ private static final Pattern VALID_DTMI_PATTERN = Pattern.compile(
+ "^dtmi:[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?(?::[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?)*;[1-9][0-9]{0,8}$");
/**
* Indicates whether a given string DTMI value is well-formed.
@@ -54,14 +56,14 @@ public static boolean isValidDtmi(String dtmi) {
* @param dtmi DigitalTwin Model Id.
* @param repositoryUri The repository uri
* @param expanded Is model from precomputed values
- * @return The model uri
- * Will throw an {@link IllegalArgumentException} if the provided dtmi is not valid.
+ * @return The model uri Will throw an {@link IllegalArgumentException} if the provided dtmi is not valid.
*/
public static URI getModelUri(String dtmi, URI repositoryUri, boolean expanded) {
String dtmiPath = dtmiToPath(dtmi);
if (expanded) {
- dtmiPath = dtmiPath.replace(ModelsRepositoryConstants.JSON_EXTENSION, ModelsRepositoryConstants.JSON_EXPANDED_EXTENSION);
+ dtmiPath = dtmiPath.replace(ModelsRepositoryConstants.JSON_EXTENSION,
+ ModelsRepositoryConstants.JSON_EXPANDED_EXTENSION);
}
UrlBuilder urlBuilder = new UrlBuilder();
@@ -98,7 +100,8 @@ public static URI getModelUri(String dtmi, URI repositoryUri, boolean expanded)
* Converts a string to {@link URI}
*
* @param uri String format of the path
- * @return {@link URI} representation of the path/uri .
+ * @return {@link URI} representation of the path/uri.
+ * @throws IllegalArgumentException If the {@code uri} is invalid.
*/
public static URI convertToUri(String uri) {
try {
@@ -107,8 +110,7 @@ public static URI convertToUri(String uri) {
try {
Path path = Paths.get(uri).normalize();
return new File(path.toAbsolutePath().toString()).toURI();
- }
- catch (Exception e) {
+ } catch (Exception e) {
throw new IllegalArgumentException("Invalid uri format", e);
}
}
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/ModelsRepositoryClientBuilder.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/ModelsRepositoryClientBuilder.java
index d67de68b0a9f8..8e1a2de76e1a4 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/ModelsRepositoryClientBuilder.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/ModelsRepositoryClientBuilder.java
@@ -43,11 +43,11 @@ public final class ModelsRepositoryClientBuilder {
// These are the keys to the above properties file that define the client library's name and version for use in the user agent string
private static final String SDK_NAME = "name";
private static final String SDK_VERSION = "version";
- private static URI GLOBAL_REPOSITORY_URI;
+ private static URI globalRepositoryUri;
static {
try {
- GLOBAL_REPOSITORY_URI = new URI(ModelsRepositoryConstants.DEFAULT_MODELS_REPOSITORY_ENDPOINT);
+ globalRepositoryUri = new URI(ModelsRepositoryConstants.DEFAULT_MODELS_REPOSITORY_ENDPOINT);
} catch (URISyntaxException e) {
// We know it won't throw since it's a known endpoint and has been validated.
}
@@ -86,7 +86,7 @@ public ModelsRepositoryClientBuilder() {
additionalPolicies = new ArrayList<>();
properties = CoreUtils.getProperties(MODELS_REPOSITORY_PROPERTIES);
httpLogOptions = new HttpLogOptions();
- this.repositoryEndpoint = GLOBAL_REPOSITORY_URI;
+ this.repositoryEndpoint = globalRepositoryUri;
}
private static HttpPipeline constructPipeline(
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImpl.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImpl.java
index 053b98a45ec7a..a54ff40aa75bb 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImpl.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImpl.java
@@ -4,11 +4,6 @@
package com.azure.iot.modelsrepository.implementation;
import com.azure.core.http.HttpPipeline;
-import com.azure.core.http.HttpPipelineBuilder;
-import com.azure.core.http.policy.CookiePolicy;
-import com.azure.core.http.policy.RetryPolicy;
-import com.azure.core.http.policy.UserAgentPolicy;
-import com.azure.core.util.serializer.JacksonAdapter;
import com.azure.core.util.serializer.SerializerAdapter;
/** Initializes a new instance of the ModelsRepositoryAPIImpl type. */
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImplBuilder.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImplBuilder.java
index a1b0b501a5c14..d01ac4e88158a 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImplBuilder.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/main/java/com/azure/iot/modelsrepository/implementation/ModelsRepositoryAPIImplBuilder.java
@@ -7,13 +7,13 @@
import com.azure.core.http.HttpClient;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
import com.azure.core.http.policy.HttpPolicyProviders;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
-import com.azure.core.http.policy.HttpLoggingPolicy;
-import com.azure.core.http.policy.CookiePolicy;
import com.azure.core.util.Configuration;
import com.azure.core.util.serializer.JacksonAdapter;
import com.azure.core.util.serializer.SerializerAdapter;
@@ -190,7 +190,7 @@ public ModelsRepositoryAPIImplBuilder addPolicy(HttpPipelinePolicy customPolicy)
* @return an instance of ModelsRepositoryAPIImpl.
*/
public ModelsRepositoryAPIImpl buildClient() {
- if(apiVersion == null){
+ if (apiVersion == null) {
this.apiVersion = "2021-03-18";
}
if (host == null) {
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/samples/java/com/azure/iot/core/ModelResolutionSamples.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/samples/java/com/azure/iot/core/ModelResolutionSamples.java
index 14ab8c11f8eef..5ca5492c40b58 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/samples/java/com/azure/iot/core/ModelResolutionSamples.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/samples/java/com/azure/iot/core/ModelResolutionSamples.java
@@ -3,13 +3,11 @@
package com.azure.iot.core;
-import com.azure.iot.modelsrepository.DtmiConventions;
+import com.azure.iot.modelsrepository.ModelDependencyResolution;
import com.azure.iot.modelsrepository.ModelsRepositoryAsyncClient;
import com.azure.iot.modelsrepository.ModelsRepositoryClient;
import com.azure.iot.modelsrepository.ModelsRepositoryClientBuilder;
-import com.azure.iot.modelsrepository.ModelDependencyResolution;
-import java.net.URI;
import java.util.Arrays;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/DtmiConventionTests.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/DtmiConventionTests.java
index ea97823e89be0..2eb00a3b85b9d 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/DtmiConventionTests.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/DtmiConventionTests.java
@@ -5,10 +5,13 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.CsvSource;
+import org.junit.jupiter.params.provider.MethodSource;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.stream.Stream;
class DtmiConventionTests {
@@ -32,14 +35,7 @@ public void dtmiToPathTest(String input, String expected) {
}
@ParameterizedTest
- @CsvSource({
- "https://localhost/repository/, https://localhost/repository/dtmi/com/example/thermostat-1.json",
- "https://localhost/REPOSITORY, https://localhost/REPOSITORY/dtmi/com/example/thermostat-1.json",
- "file:///path/to/repository/, file:///path/to/repository/dtmi/com/example/thermostat-1.json",
- "file://path/to/RepoSitory, file://path/to/RepoSitory/dtmi/com/example/thermostat-1.json",
- "C:\\path\\to\\repository\\, file:///C:/path/to/repository/dtmi/com/example/thermostat-1.json",
- "\\\\server\\repository, file:////server/repository/dtmi/com/example/thermostat-1.json"
- })
+ @MethodSource("getModelUriTestsSupplier")
public void getModelUriTests(String repository, String expectedUri) throws URISyntaxException {
final String dtmi = "dtmi:com:example:Thermostat;1";
@@ -53,7 +49,24 @@ public void getModelUriTests(String repository, String expectedUri) throws URISy
URI modelUri = DtmiConventions.getModelUri(dtmi, repositoryUri, false);
Assertions.assertEquals(expectedUri, modelUri.toString());
}
-
+
+ private static Stream getModelUriTestsSupplier() {
+ return Stream.of(
+ Arguments.of("https://localhost/repository/",
+ "https://localhost/repository/dtmi/com/example/thermostat-1.json"),
+ Arguments.of("https://localhost/REPOSITORY",
+ "https://localhost/REPOSITORY/dtmi/com/example/thermostat-1.json"),
+ Arguments.of("file:///path/to/repository/",
+ "file:///path/to/repository/dtmi/com/example/thermostat-1.json"),
+ Arguments.of("file://path/to/RepoSitory", "file://path/to/RepoSitory/dtmi/com/example/thermostat-1.json")
+
+ // TODO: These were disabled as they fail in Linux and macOS, likely due to '\' in the URI.
+// Arguments.of("C:\\path\\to\\repository\\",
+// "file:///C:/path/to/repository/dtmi/com/example/thermostat-1.json"),
+// Arguments.of("\\\\server\\repository", "file:////server/repository/dtmi/com/example/thermostat-1.json")
+ );
+ }
+
@ParameterizedTest
@CsvSource({
"dtmi:com:example:Thermostat;1, true",
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelRepositoryIntegrationTests.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelRepositoryIntegrationTests.java
index d61c81e3fd8fa..b30ba59ecac3f 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelRepositoryIntegrationTests.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelRepositoryIntegrationTests.java
@@ -5,12 +5,12 @@
import com.azure.core.exception.AzureException;
import com.azure.core.http.HttpClient;
+import com.azure.core.test.annotation.DoNotRecord;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import reactor.test.StepVerifier;
-import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -22,6 +22,7 @@ class ModelRepositoryIntegrationTests extends ModelsRepositoryTestBase {
@ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS)
@MethodSource("com.azure.iot.modelsrepository.TestHelper#getTestParameters")
+ @DoNotRecord(skipInPlayback = true) // TODO: Remove this once playback recordings are added.
public void getModelsSingleDtmiNoDependencies(HttpClient httpClient, ModelsRepositoryServiceVersion serviceVersion, String repositoryUri) throws URISyntaxException {
final String dtmi = "dtmi:com:example:Thermostat;1";
@@ -35,6 +36,7 @@ public void getModelsSingleDtmiNoDependencies(HttpClient httpClient, ModelsRepos
@ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS)
@MethodSource("com.azure.iot.modelsrepository.TestHelper#getTestParameters")
+ @DoNotRecord(skipInPlayback = true) // TODO: Remove this once playback recordings are added.
public void getModelsSingleDtmiDoesNotExist(HttpClient httpClient, ModelsRepositoryServiceVersion serviceVersion, String repositoryUri) throws URISyntaxException {
final String dtmi = "dtmi:com:example:Thermostatddd;1";
@@ -47,6 +49,7 @@ public void getModelsSingleDtmiDoesNotExist(HttpClient httpClient, ModelsReposit
@ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS)
@MethodSource("com.azure.iot.modelsrepository.TestHelper#getTestParameters")
+ @DoNotRecord(skipInPlayback = true) // TODO: Remove this once playback recordings are added.
public void getModelsSingleDtmiWithDependencies(HttpClient httpClient, ModelsRepositoryServiceVersion serviceVersion, String repositoryUri) throws URISyntaxException {
final String dtmi = "dtmi:com:example:TemperatureController;1";
List expectedDependencies = Arrays.asList("dtmi:com:example:Thermostat;1", "dtmi:azure:DeviceManagement:DeviceInformation;1");
@@ -63,6 +66,7 @@ public void getModelsSingleDtmiWithDependencies(HttpClient httpClient, ModelsRep
@ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS)
@MethodSource("com.azure.iot.modelsrepository.TestHelper#getTestParameters")
+ @DoNotRecord(skipInPlayback = true) // TODO: Remove this once playback recordings are added.
public void getModelsEnsureNoDuplicates(HttpClient httpClient, ModelsRepositoryServiceVersion serviceVersion, String repositoryUri) throws URISyntaxException {
List inputDtmis = Arrays.asList(
"dtmi:azure:DeviceManagement:DeviceInformation;1",
@@ -79,6 +83,7 @@ public void getModelsEnsureNoDuplicates(HttpClient httpClient, ModelsRepositoryS
@ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS)
@MethodSource("com.azure.iot.modelsrepository.TestHelper#getTestParameters")
+ @DoNotRecord(skipInPlayback = true) // TODO: Remove this once playback recordings are added.
public void getModelsSingleDtmiWithDepsDisableDependencyResolution(HttpClient httpClient, ModelsRepositoryServiceVersion serviceVersion, String repositoryUri) throws URISyntaxException {
final String dtmi = "dtmi:com:example:Thermostat;1";
ModelsRepositoryAsyncClient client = getAsyncClient(httpClient, serviceVersion, repositoryUri);
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelsRepositoryTestBase.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelsRepositoryTestBase.java
index dc7836f8c8870..f8257683a5cd5 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelsRepositoryTestBase.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/ModelsRepositoryTestBase.java
@@ -8,7 +8,6 @@
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.test.TestBase;
-import java.net.URI;
import java.net.URISyntaxException;
class ModelsRepositoryTestBase extends TestBase {
diff --git a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/TestHelper.java b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/TestHelper.java
index 89a59ff4d2c55..826ca38b54d0d 100644
--- a/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/TestHelper.java
+++ b/sdk/modelsrepository/azure-iot-modelsrepository/src/test/java/com/azure/iot/modelsrepository/TestHelper.java
@@ -9,7 +9,6 @@
import com.azure.iot.modelsrepository.implementation.ModelsRepositoryConstants;
import org.junit.jupiter.params.provider.Arguments;
-import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
diff --git a/sdk/modelsrepository/pom.xml b/sdk/modelsrepository/pom.xml
index 2aba74dc9eee9..07b9bf33a0c18 100644
--- a/sdk/modelsrepository/pom.xml
+++ b/sdk/modelsrepository/pom.xml
@@ -5,7 +5,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.azure
- azure-iot-modelsrepository
+ azure-iot-modelsrepository-service
pom
1.0.0
@@ -23,7 +23,7 @@
com.azure
azure-iot-modelsrepository
- 1.1.0-beta.1
+ 1.0.0-beta.1