Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Added NuGet Package for .Net Framework target. #103

Closed
wants to merge 3 commits into from
Closed

Added NuGet Package for .Net Framework target. #103

wants to merge 3 commits into from

Conversation

barnstee
Copy link
Member

NuGet package contains everything you need to design & build a .Net-based GW module. Things that still need to be fixed in the SDK:

  1. Build all .pdb files for DLLs in Release configuration
  2. Build nanomsg DLL in Release configuration

@msftclas
Copy link

Hi @barnstee, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!


It looks like you're a Microsoft contributor (Erich Barnstedt). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Using debug version of gateway.dll for now for better diagnosability.
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Azure.IoT.Gateway.SDK.Net</id>
<version>2017.01.13.2</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2017.01.13.2 [](start = 13, length = 12)

Investigate if this is supported by Nuget. I am not sure, and don't recall seeing this in packages I worked with.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I think it's needs to be 2017.01.13-2, checking...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2. Made everything release (heap corruption needs to be fixed for this)
3. Split the GW and ,Net binding up into seperate packages.
4. Fixed versioning string
<files>
<file src="..\bindings\dotnet\dotnet-binding\Microsoft.Azure.IoT.Gateway\bin\x86\Release\Microsoft.Azure.IoT.Gateway.dll" target="lib\net40" />
<file src="..\bindings\dotnet\dotnet-binding\Microsoft.Azure.IoT.Gateway\bin\x86\Release\Microsoft.Azure.IoT.Gateway.pdb" target="lib\net40" />
<file src="..\build\core\Debug\gateway.dll" target="build\x86" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @barnstee , all other binaries are release and this one is Debug. Shall we keep the same type (All Release or All Debug?).

<file src="..\build\modules\iothub\Release\iothub.dll" target="build\x86" />
<file src="..\install-deps\bin\aziotsharedutil.dll" target="build\x86" />
<file src="..\install-deps\bin\iothub_client.dll" target="build\x86" />
<file src="..\install-deps\bin\iothub_service_client.dll" target="build\x86" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to add this DLL on our package? I think we have already Nuget Packages for it. Shall we add this as a dependence?
Same for aziotsharedutil.dll, iothub_client.dll, serializer.dll....

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Azure.IoT.Gateway.SDK.Net</id>
<version>2017.01.13.2</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall this version match with the Release Tag Version?

<title>Azure IoT Gateway SDK for .Net Framework</title>
<description>This package contains the Microsoft Azure IoT Gateway SDK targeting the .NET Framework</description>
<id>Azure.IoT.Gateway.SDK</id>
<version>2017.01.13-alpha</version>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why alpha?

<file src="..\install-deps\bin\aziotsharedutil.dll" target="build\x86" />
<file src="..\install-deps\bin\aziotsharedutil.pdb" target="build\x86" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From here to below we should change to instead of adding these binaries on our package we should add them as dependencies.
According to Tamer (From IOT SDK) all of these has different Nuget Packages.
Can you check it out @barnstee ?

<file src="..\install-deps\bin\iothub_service_client.dll" target="build\x86" />
<file src="..\install-deps\bin\iothub_service_client.pdb" target="build\x86" />
<file src="..\install-deps\bin\nanomsg.dll" target="build\x86" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one may be an exception. If they don't have a nuget package we can add them.

<tags>Microsoft Azure IoT Gateway SDK</tags>
</metadata>
<files>
<file src="..\build\core\Release\gateway.dll" target="build\x86" />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the intention to refer x86 bits here ?

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Azure.IoT.Gateway.SDK.Net</id>
<version>2017.01.13-alpha</version>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For version of Nuget, we shall use the semantic version(MAJOR.MINOR.HOTFIX). And it seems that the SDK team bumped a version file during build time: $azure-iot-gateway-sdk\tools\release\bump_version\versions.json, maybe we should use that one. Does nuspec support template ?

</dependencies>
</metadata>
<files>
<file src="..\bindings\dotnet\dotnet-binding\Microsoft.Azure.IoT.Gateway\bin\x86\Release\Microsoft.Azure.IoT.Gateway.dll" target="lib\net40" />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of use relative path, which will be harder to maintain in the future. Can you use absolute path which is read from current build environment ?

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Azure.IoT.Gateway.SDK</id>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Azure.IoT.Gateway.Core ?

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Azure.IoT.Gateway.SDK.Net</id>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we use a common naming here which is independent of PLAN ? Azure.IoT.Gateway.Binding ?

@damonbarry
Copy link
Member

There's a much larger effort in process right now to produce gateway SDK packages for various platforms & languages, starting with NuGet/.NET. This will include our engineering process for publishing packages, so the actual .nuspec file is a relatively minor detail.

Since this PR has stalled a bit, we're going to close it. The work that was already scheduled (just getting underway now) will continue. Thanks!

@damonbarry damonbarry closed this Jan 30, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants