[AutoPR azure-iot-deviceregistry-softwareupdate]-generated-from-SDK Generation - Java-6715900 - #50179
Conversation
…ry/tspconfig.yaml', SDK Release Type: beta, and CommitSHA: 'be4f14d4492f9f60eb6cabf3a93cce8a7cef803c' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6715900 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
|
Azure Pipelines: Successfully started running 1 pipeline(s). 35 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.
Adds a new Java SDK module for Device Registry Software Update and wires it into the deviceregistry aggregate build, CI, and versioning.
Changes:
- Added new Maven module
azure-iot-deviceregistry-softwareupdatewith generated clients, models, and supporting resources. - Updated deviceregistry parent
pom.xmland pipelineci.ymlto include and release the new module. - Registered the new artifact in
eng/versioning/version_client.txtfor versioning automation.
Reviewed changes
Copilot reviewed 42 out of 43 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/deviceregistry/pom.xml | Adds the new module to the deviceregistry multi-module build. |
| sdk/deviceregistry/ci.yml | Adds a pipeline release toggle and release metadata for the new artifact. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/tsp-location.yaml | Introduces TypeSpec/spec location metadata for codegen provenance. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/samples/java/com/azure/iot/deviceregistry/softwareupdate/ReadmeSamples.java | Adds a placeholder snippet class for README samples. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/resources/azure-iot-deviceregistry-softwareupdate.properties | Adds build-time properties needed for SDK name/version lookup. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/resources/META-INF/azure-iot-deviceregistry-softwareupdate_metadata.json | Adds generator metadata used by tooling for API mapping. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/module-info.java | Declares JPMS module exports/opens for the new library. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/package-info.java | Adds package-level Javadoc for the public client package. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/package-info.java | Adds package-level Javadoc for the models package. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateOperation.java | Adds generated model and JSON (de)serialization for operations. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateInfo.java | Adds generated model and JSON (de)serialization for update info. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateId.java | Adds generated model and JSON (de)serialization for update identifiers. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFileDownloadHandler.java | Adds generated model and JSON (de)serialization for download handler metadata. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFileBase.java | Adds generated base model and JSON (de)serialization for file metadata. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateFile.java | Adds generated model and JSON (de)serialization for update files. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Update.java | Adds generated model and JSON (de)serialization for update metadata. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/StepType.java | Adds generated expandable enum for instruction step types. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Step.java | Adds generated model and JSON (de)serialization for install steps. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/OperationState.java | Adds generated expandable enum for operation status values. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Instructions.java | Adds generated model and JSON (de)serialization for instructions container. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportUpdateRequest.java | Adds generated model and JSON (de)serialization for import requests. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportUpdateInputItem.java | Adds generated model and JSON (de)serialization for import input items. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/ImportManifestMetadata.java | Adds generated model and JSON (de)serialization for manifest metadata. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/FileImportMetadata.java | Adds generated model and JSON (de)serialization for file import metadata. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/DeviceClassProperties.java | Adds generated model and JSON (de)serialization for device class properties. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/DeviceClass.java | Adds generated model and JSON (de)serialization stub for device classes. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/Compatibility.java | Adds generated “additionalProperties” compatibility model handling. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/BestCompatibleUpdate.java | Adds generated model and JSON (de)serialization for best compatible update. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/package-info.java | Adds package-level Javadoc for generated implementation package. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/DeviceRegistrySoftwareUpdateClientImpl.java | Adds generated inner service client wiring for operation groups. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/implementation/DeviceClassesImpl.java | Adds generated REST proxy implementation for DeviceClasses operations. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/SoftwareUpdateClient.java | Adds generated synchronous client surface and convenience methods. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/SoftwareUpdateAsyncClient.java | Adds generated async client surface and convenience methods. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceRegistrySoftwareUpdateServiceVersion.java | Adds generated service API version enum used by clients. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceRegistrySoftwareUpdateClientBuilder.java | Adds generated builder with pipeline/auth configuration and client factories. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceClassesClient.java | Adds generated synchronous client for DeviceClasses. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/DeviceClassesAsyncClient.java | Adds generated async client for DeviceClasses. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/pom.xml | Introduces Maven project for the new artifact and dependencies. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/assets.json | Adds assets repository tagging config for release automation. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/README.md | Adds initial README with dependency snippet and placeholders. |
| sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/CHANGELOG.md | Adds initial changelog for the new module. |
| eng/versioning/version_client.txt | Registers the new artifact for centralized version management. |
Suppressed comments (3)
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/src/main/java/com/azure/iot/deviceregistry/softwareupdate/models/UpdateInfo.java:1
UpdateInfo.fromJsonreadsdescriptionandfriendlyName, buttoJsononly writesupdateId. This makes JSON round-tripping lossy and inconsistent with the rest of the models. IncludedescriptionandfriendlyNamefields intoJson.
sdk/deviceregistry/ci.yml:1- This new release toggle defaults to
true, while the existing deviceregistry release toggle defaults tofalse. If this pipeline is used broadly, this increases the risk of unintentionally including the new module in batch releases. Consider defaulting tofalsefor consistency, unless there is a specific reason to always release this artifact.
sdk/deviceregistry/azure-iot-deviceregistry-softwareupdate/tsp-location.yaml:1 additionalDirectoriesis declared but has no value, which parses asnullin YAML and can break tooling that expects a list (even if empty). Set it to an explicit empty list (e.g.,additionalDirectories: []) or remove the key entirely if unused.
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
| @Generated | ||
| @Override | ||
| public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { | ||
| jsonWriter.writeStartObject(); |
| private List<BinaryData> getValues(BinaryData binaryData, String... path) { | ||
| try { | ||
| Object value = binaryData.toObject(Map.class); | ||
| for (String segment : path) { | ||
| value = ((Map<?, ?>) value).get(segment); | ||
| } | ||
| List<?> values = (List<?>) value; | ||
| return values.stream().map(BinaryData::fromObject).collect(Collectors.toList()); | ||
| } catch (RuntimeException e) { | ||
| return null; | ||
| } | ||
| } |
| ### Breaking Changes | ||
|
|
||
| ### Bugs Fixed | ||
|
|
||
| ### Other Changes | ||
| ### Features Added | ||
|
|
||
| - Initial release for the azure-iot-deviceregistry-softwareupdate Java SDK. |
| * @param importUpdateRequest The update to be imported (see schema | ||
| * https://json.schemastore.org/azure-deviceupdate-import-manifest-5.0.json for | ||
| * details). |
| public SyncPoller<BinaryData, BinaryData> beginImportUpdate(BinaryData importUpdateRequest, | ||
| RequestOptions requestOptions) { |
Configurations: 'specification/deviceupdate/data-plane/sudeviceregistry/tspconfig.yaml', SDK Release Type: beta, and CommitSHA: 'be4f14d4492f9f60eb6cabf3a93cce8a7cef803c' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6715900 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release. Release plan link: https://azsdk-releaseplan-dashboard-hveph5aqhhcfhtgu.westus-01.azurewebsites.net/?releaseplan=36134 Submitted by: wuaustin@microsoft.com