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

Move to VS2017/csproj #977

Merged
merged 7 commits into from Apr 26, 2017
Merged

Conversation

chrisdunelm
Copy link
Contributor

@chrisdunelm chrisdunelm commented Apr 21, 2017

Remove support for legacy targets. Now only targets net45 and netstandard1.3

Project structure simplified.

Fixes #558, #978, #979.

Remove support for legacy targets. Now only targets net45 and netstandard1.3

Project structure simplified
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Apr 21, 2017
@chrisdunelm
Copy link
Contributor Author

Tests are currently expected to fail. CI scripts have not yet been updated.

@jskeet
Copy link
Collaborator

jskeet commented Apr 21, 2017

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...

@chrisdunelm
Copy link
Contributor Author

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)

@chrisdunelm
Copy link
Contributor Author

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.

@chrisdunelm
Copy link
Contributor Author

Should have added, all unit tests pass when run locally

@chrisdunelm
Copy link
Contributor Author

@jskeet Directories re-layed-out. PTAL

Copy link
Collaborator

@jskeet jskeet left a 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.

<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.

This comment was marked as spam.

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>

This comment was marked as spam.

This comment was marked as spam.

<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.

<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>

<PropertyGroup>

This comment was marked as spam.

This comment was marked as spam.

<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.

<ItemGroup Condition="'$(TargetFramework)'=='net45'">
</ItemGroup>

<!-- configurations; common then per-configuration -->

This comment was marked as spam.

This comment was marked as spam.

<PropertyGroup Condition="'$(Configuration)'=='Debug'">
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)'=='Release'">

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.


<!-- 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.

@jskeet
Copy link
Collaborator

jskeet commented Apr 25, 2017

I do like the idea of keeping all the packaging information separate from build information, btw. Will do that too...

@chrisdunelm
Copy link
Contributor Author

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.

This comment was marked as spam.

<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.

<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.

<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.

<Project>
<PropertyGroup>
<PackageVersion>1.25.0</PackageVersion>
<Authors>Google Inc.</Authors>

This comment was marked as spam.

This comment was marked as spam.

<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.

Copy link
Collaborator

@jskeet jskeet left a 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.

<PropertyGroup Condition="'$(Configuration)'=='Debug'">
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)'=='Release'">

This comment was marked as spam.

<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.

<!-- configurations; common -->
<PropertyGroup>
<TargetFrameworks>netstandard1.3;net45</TargetFrameworks>
<SignAssembly>true</SignAssembly>

This comment was marked as spam.

This comment was marked as spam.

<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.

@@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>

This comment was marked as spam.

This comment was marked as spam.

<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.

<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.

@chrisdunelm
Copy link
Contributor Author

All done. PTAL

@chrisdunelm
Copy link
Contributor Author

Merging after offline LGTM

@chrisdunelm chrisdunelm merged commit 994f69d into googleapis:vs2017 Apr 26, 2017
@chrisdunelm chrisdunelm deleted the restructure branch April 26, 2017 08:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants