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

Implement assembly version's per "band" to ensure binding redirects work #212

Merged
merged 3 commits into from
Jul 10, 2016

Conversation

clairernovotny
Copy link
Member

@clairernovotny clairernovotny commented Jul 3, 2016

Fixes #205 and #97.

/cc @shiftkey @mattpodwysocki @natemcmaster @shana @forki @OmerRaviv for review.


This change is Reviewable

@dnfclas
Copy link

dnfclas commented Jul 3, 2016

Hi @onovotny, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!

The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.

TTYL, DNFBOT;

@shiftkey
Copy link
Contributor

shiftkey commented Jul 4, 2016

Trying to build the project errors out here. Am I missing something?

Attempting to gather dependency information for package 'gitversion.commandline.3.5.5-pullrequest0921' with respect to project 'packages', targeting 'Any,Version=v0.0'
Package 'gitversion.commandline,3.5.5-pullrequest0921' is not found in the following primary source(s): 'C:\Users\shiftkey\AppData\Local\NuGet\Cache,C:\Users\shiftkey.nuget\packages,https://api.nuget.org/v3/index.json,C:\Program Files (x86)\Microsoft SDKs\NuGetPackages'. Please verify all your online package sources are available (OR) package id, version are specified correctly.

EDIT: how are my feeds different to what's on Appveyor? Hrm.

@clairernovotny
Copy link
Member Author

It should be using the Build Packages feed with the guid in it.... That's where I put that package while I wait for it to be officially merged and published.

@shiftkey
Copy link
Contributor

shiftkey commented Jul 4, 2016

@onovotny I think this is related to where you execute the build-new scripts from.

On my machine, when .\build then executes .\Rx.NET\Source\build-new the location isn't changed, so it:

  • checks and downloads nuget.exe to root of the repository
  • nuget restore ... doesn't resolve a nuget.config at the root
  • it misses the additional Build Packages feed, so it can't find this new package

The workaround I tested was to do this:

Push-Location ".\Rx.NET\Source\"
Write-Host "Building Rx.NET" -ForegroundColor Green
.\build-new
Pop-Location

There's probably a much cleaner way to do this (avoiding duplicate downloads of nuget.exe in particular), but I also haven't looked into why Appveyor isn't failing in the same way...

@clairernovotny
Copy link
Member Author

@shiftkey there's a nuget.config at the root here that should work https://github.com/Reactive-Extensions/Rx.NET/blob/master/NuGet.Config. Was that not getting picked up for you?

@@ -17,7 +17,8 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "System.Interactive.Tests",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B733D97A-F1ED-4FC3-BF8E-9AC47A89DE96}"
ProjectSection(SolutionItems) = preProject
build-new.ps1 = build-new.ps1
GlobalAssemblyVersion.cs = GlobalAssemblyVersion.cs
build-new.ps1 = build-new.ps1
Copy link
Contributor

Choose a reason for hiding this comment

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

💄 indenting (lol)

Copy link
Member Author

Choose a reason for hiding this comment

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

bah, I'll fix it -- was a merge conflict, so VS didn't generate that.

@shiftkey
Copy link
Contributor

Was that not getting picked up for you?

It was not, but let me have another shot at it now...

@shiftkey
Copy link
Contributor

Build script is fine now on my machine, I just can't create packages:

Building Packages

    Directory: C:\Users\shiftkey\Documents\GitHub\rx.net


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       11/07/2016   8:07 AM                artifacts
Attempting to build package from 'Microsoft.Reactive.Testing.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Core.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Experimental.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Interfaces.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Linq.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Observable.Aliases.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.PlatformServices.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Providers.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Runtime.Remoting.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Windows.Forms.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.Windows.Threading.nuspec'.
The special version part cannot exceed 20 characters.
Attempting to build package from 'System.Reactive.WindowsRuntime.nuspec'.
The special version part cannot exceed 20 characters.

Looking at the diff for the generated AssemblyInformationVersion entry, it seems like GitVersion is being very verbose:

-[assembly: AssemblyFileVersion("2.2.0.0")]
-[assembly: AssemblyInformationalVersion("2.2.0.0")]
+[assembly: AssemblyFileVersion("3.0.1.0")]
+[assembly: AssemblyInformationalVersion("3.0.1-assembly-versions.27+Branch.assembly-versions.Sha.ab35480481315a6703909afab95b4fb769b6d898")]

Do we care about this constraint?

@shiftkey shiftkey self-assigned this Jul 10, 2016
@shiftkey
Copy link
Contributor

shiftkey commented Jul 10, 2016

After a fresh build there are two changes to dependencies:

  • Rx.NET/Source/NuSpecs/Microsoft.Reactive.Testing.nuspec bumps xunit.assert from v2.1.0 to 2.2.0-beta2-build3300
  • Rx.NET/Source/NuSpecs/System.Reactive.Observable.Aliases.nuspec adds System.Resources.ResourceManager v4.0.1

Want to pull those in here?

@shiftkey
Copy link
Contributor

@onovotny just a few little things - would love to be able to poke the packages and verify the changes but I won't hold that up because of how GitVersion names branches in this situation...

@clairernovotny
Copy link
Member Author

Yeah, I wouldn't worry about any package failures due to branch names. I wish NuGet didn't have that limit; otherwise, I can also look into ways to truncate to fit. Prob another PR.

@clairernovotny
Copy link
Member Author

As for versions of BCL refs, I'm going to create a separate PR to remove those granular deps and just reference NETStandard.Library. That's the new/current recommendation of the NuGet/BCL team.

@shiftkey
Copy link
Contributor

@onovotny 👍

@clairernovotny
Copy link
Member Author

As for the xunit.assert version, #210 will turn that into a source reference, internal, so that dependency will go too.

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

Successfully merging this pull request may close these issues.

3 participants