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
Move to VS2017/csproj #977
Conversation
Remove support for legacy targets. Now only targets net45 and netstandard1.3 Project structure simplified
Tests are currently expected to fail. CI scripts have not yet been updated. |
Thanks, I think... will need to look very carefully, starting Monday. What does the removal of the legacy targets mean? Is the plan to simply make the API-specific client libraries depend on older versions, like we did for Silverlight? Any suggestions around how to review this would be welcome too, btw... |
Yes, the plan for the generated libraries is to make the legacy targets depend on older support library versions (i.e. probably the current release v1.25.0). If you specifically could check that the new project structure looks suitable; and that I haven't missed any code! And that the csproj files look sane, containing all the right information for building and nuget packing. Thanks (and apologies) |
And note that this is not going into master; and there will be quite a few follow-up PRs into this VS2017 branch before it'll be ready to merge into master. |
Should have added, all unit tests pass when run locally |
@jskeet Directories re-layed-out. PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some preliminary comments; I suspect they may apply to multiple files. I'll research whether Release implicitly optimizes.
} | ||
} | ||
} | ||
/* |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> | ||
<PackageReference Include="xunit" Version="2.3.0-*" /> | ||
<PackageReference Include="Xunit.Combinatorial" Version="1.2.1" /> | ||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-*" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<!-- net452 is the earliest desktop version supported by xunit runner --> | ||
<TargetFrameworks>netcoreapp1.1;net452</TargetFrameworks> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> | ||
</ItemGroup> | ||
|
||
<PropertyGroup> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<Title>Google APIs Client Library</Title> | ||
<PackageTags>Google</PackageTags> | ||
<Description> | ||
The Google APIs Client Library is a runtime client for working with Google services. |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<ItemGroup Condition="'$(TargetFramework)'=='net45'"> | ||
</ItemGroup> | ||
|
||
<!-- configurations; common then per-configuration --> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<PropertyGroup Condition="'$(Configuration)'=='Debug'"> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(Configuration)'=='Release'"> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
||
<!-- build and include the (empty) platformservices dll in package; required for backward compatibility --> | ||
<!-- There must be a better way of doing this... --> | ||
<Target Name="IncludePlatformServices" BeforeTargets="GenerateNuspec"> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
I do like the idea of keeping all the packaging information separate from build information, btw. Will do that too... |
Thanks, PTAL |
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<!-- nupkg information --> | ||
<Import Project="..\CommonPackageInfo.xml" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Src/Support/CommonPackageInfo.xml
Outdated
<Copyright>Copyright 2017 Google Inc.</Copyright> | ||
<PackageProjectUrl>https://developers.google.com/api-client-library/dotnet</PackageProjectUrl> | ||
<PackageLicenseUrl>http://www.apache.org/licenses/LICENSE-2.0</PackageLicenseUrl> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Src/Support/CommonPackageInfo.xml
Outdated
<PropertyGroup> | ||
<PackageVersion>1.25.0</PackageVersion> | ||
<Authors>Google Inc.</Authors> | ||
<Copyright>Copyright 2017 Google Inc.</Copyright> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Src/Support/CommonPackageInfo.xml
Outdated
<PackageProjectUrl>https://developers.google.com/api-client-library/dotnet</PackageProjectUrl> | ||
<PackageLicenseUrl>http://www.apache.org/licenses/LICENSE-2.0</PackageLicenseUrl> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<RepositoryType>git</RepositoryType> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Src/Support/CommonPackageInfo.xml
Outdated
<Project> | ||
<PropertyGroup> | ||
<PackageVersion>1.25.0</PackageVersion> | ||
<Authors>Google Inc.</Authors> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Src/Support/CommonPackageInfo.xml
Outdated
<PackageProjectUrl>https://developers.google.com/api-client-library/dotnet</PackageProjectUrl> | ||
<PackageLicenseUrl>http://www.apache.org/licenses/LICENSE-2.0</PackageLicenseUrl> | ||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> | ||
<RepositoryType>git</RepositoryType> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Next round :) I think we can extract a lot of the packaging commonality.
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> | ||
<PackageReference Include="xunit" Version="2.3.0-*" /> | ||
<PackageReference Include="Xunit.Combinatorial" Version="1.2.1" /> | ||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.0-*" /> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<PropertyGroup Condition="'$(Configuration)'=='Debug'"> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(Configuration)'=='Release'"> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<DebugType>pdbonly</DebugType> | ||
<IncludeSymbols>true</IncludeSymbols> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
<DocumentationFile>Google.Apis.Core.xml</DocumentationFile> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<!-- configurations; common --> | ||
<PropertyGroup> | ||
<TargetFrameworks>netstandard1.3;net45</TargetFrameworks> | ||
<SignAssembly>true</SignAssembly> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<SignAssembly>true</SignAssembly> | ||
<AssemblyOriginatorKeyFile>../../../google.apis.snk</AssemblyOriginatorKeyFile> | ||
<DebugType>pdbonly</DebugType> | ||
<IncludeSymbols>true</IncludeSymbols> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -0,0 +1,29 @@ | |||
<Project Sdk="Microsoft.NET.Sdk"> | |||
|
|||
<PropertyGroup> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<ItemGroup> | ||
<None Include="$(OutputPath)net45\Google.Apis.PlatformServices.dll"> | ||
<Pack>true</Pack> | ||
<PackagePath>lib\net45</PackagePath> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
<TargetFrameworks>netstandard1.3;net45</TargetFrameworks> | ||
<SignAssembly>true</SignAssembly> | ||
<AssemblyOriginatorKeyFile>..\..\..\google.apis.snk</AssemblyOriginatorKeyFile> | ||
<DebugType>pdbonly</DebugType> |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
All done. PTAL |
Merging after offline LGTM |
Remove support for legacy targets. Now only targets net45 and netstandard1.3
Project structure simplified.
Fixes #558, #978, #979.