Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize dependencies and infrastructure for ACS #2278

Open
wants to merge 21 commits into
base: main
Choose a base branch
from

Conversation

pgrawehr
Copy link
Contributor

@pgrawehr pgrawehr commented Feb 11, 2024

Make sure the release build only uses the official package, so that it can be used in client applications that don't build Iot.Device.Common from scratch. Due to the way the compiler works, the client application must be built against the exactly same library the compiler itself is built.

Also updates some test settings

Microsoft Reviewers: Open in CodeFlow

@pgrawehr pgrawehr force-pushed the CompilerAsTool branch 4 times, most recently from d7845cd to 2e6a662 Compare February 18, 2024 19:23
@pgrawehr pgrawehr marked this pull request as ready for review March 13, 2024 20:32
@joperezr joperezr self-assigned this Mar 21, 2024
.gitignore Outdated Show resolved Hide resolved
build.proj Show resolved Hide resolved
@pgrawehr
Copy link
Contributor Author

pgrawehr commented Apr 9, 2024

@joperezr Added extra notices as discussed.

@pgrawehr pgrawehr requested a review from joperezr April 18, 2024 15:09
<IsPackable>True</IsPackable>
<PackAsTool>True</PackAsTool>
<ToolCommandName>dotnet-acs</ToolCommandName>
<PackageOutputPath>..\..\..\artifacts\packages\$(Configuration)\Shipping</PackageOutputPath>
Copy link
Member

Choose a reason for hiding this comment

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

Why do you need to set this? This should be done automatically by Arcade.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't know why, but it doesn't work otherwise (the package ends up in the local project's output folder)

@@ -12,12 +12,15 @@
<Compile Include="Program.cs" />
</ItemGroup>

<ItemGroup>
<ItemGroup Condition="$(Configuration)=='Debug'">
Copy link
Member

Choose a reason for hiding this comment

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

I don't fully follow here why we use different P2Ps depending on the build config. Why can't we always just reference iot.device.bindings?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because the dependencies get really ugly for debugging and development in that case, as you would need to either link against the officially released package (which does not include the changes one might want to test) or rebuild the full package for every build. I've tried it, but it was impossible to work with.

<Authors>The .NET Foundation community</Authors>
<NeutralLanguage>en</NeutralLanguage>
<IsPackable>True</IsPackable>
<PackAsTool>True</PackAsTool>
Copy link
Member

Choose a reason for hiding this comment

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

We should also make sure that this tool stays in preview and doesn't go stable (since it is experimental). You can accomplish that by adding the property: <SuppressFinalPackageVersion>true</SuppressFinalPackageVersion> in the .csproj. This way, even when the rest of the repo builds stable packages, this tool will remain as prerelease.

Copy link
Member

@joperezr joperezr left a comment

Choose a reason for hiding this comment

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

Left a few comments/questions, but looks good overall.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants