Visitar URL original
Implement assembly version's per "band" to ensure binding redirects work by clairernovotny · Pull Request #212 · dotnet/reactive · GitHub
Skip to content

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

Merged
clairernovotny merged 3 commits into
masterfrom
assembly-versions
Jul 10, 2016
Merged

clairernovotny merged 3 commits into
masterfrom
assembly-versions

Conversation

@clairernovotny

@clairernovotny clairernovotny commented Jul 3, 2016 •

Copy link
Copy Markdown
Contributor

Fixes #205 and #97.

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


This change is Reviewable

@dnfclas

dnfclas commented Jul 3, 2016

Copy link
Copy Markdown

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

shiftkey commented Jul 4, 2016 •

Copy link
Copy Markdown
Contributor

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
Copy Markdown
Contributor 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

shiftkey commented Jul 4, 2016 •

Copy link
Copy Markdown
Contributor

@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
Copy Markdown
Contributor 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?

Comment thread Ix.NET/Source/Ix.NET.sln Outdated
ProjectSection(SolutionItems) = preProject
build-new.ps1 = build-new.ps1
GlobalAssemblyVersion.cs = GlobalAssemblyVersion.cs
build-new.ps1 = build-new.ps1

Copy link
Copy Markdown
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
Copy Markdown
Contributor 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
Copy Markdown
Contributor

Was that not getting picked up for you?

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

@shiftkey

Copy link
Copy Markdown
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

shiftkey commented Jul 10, 2016 •

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
Contributor 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
Copy Markdown
Contributor 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
Copy Markdown
Contributor

@onovotny 👍

@clairernovotny

Copy link
Copy Markdown
Contributor 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