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

Inconsistent condition generation #1552

Closed
sergey-tihon opened this Issue Mar 28, 2016 · 30 comments

Comments

Projects
None yet
2 participants
@sergey-tihon
Member

sergey-tihon commented Mar 28, 2016

Almost each time when I call paket.exe install it change my paket.lock file from

CommonServiceLocator (1.3) - framework: >= net40, monoandroid, portable-net45+wp80+wpa81+win+MonoAndroid10+xamarinios10, xamarinios, winv4.5, winv4.5.1, wpv8.1, wpv8.0, sl50

to

CommonServiceLocator (1.3) - framework: >= net40, monoandroid, portable-net45+wp80+wpa81+win+MonoAndroid10+xamarinios10, xamarinios, winv4.5, wpv8.0, sl50

and vise versa.

What actually change most of my csproj files from

When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')) Or ($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.0') Or ($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkProfile) == 'Profile5') Or ($(TargetFrameworkProfile) == 'Profile6') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile14') Or ($(TargetFrameworkProfile) == 'Profile19') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile37') Or ($(TargetFrameworkProfile) == 'Profile42') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile47') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile92') Or ($(TargetFrameworkProfile) == 'Profile102') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile136') Or ($(TargetFrameworkProfile) == 'Profile147') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile158') Or ($(TargetFrameworkProfile) == 'Profile225') Or ($(TargetFrameworkProfile) == 'Profile240') Or ($(TargetFrameworkProfile) == 'Profile255') Or ($(TargetFrameworkProfile) == 'Profile259') Or ($(TargetFrameworkProfile) == 'Profile328') Or ($(TargetFrameworkProfile) == 'Profile336') Or ($(TargetFrameworkProfile) == 'Profile344')"

to

When Condition="($(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3' Or $(TargetFrameworkVersion) == 'v4.6' Or $(TargetFrameworkVersion) == 'v4.6.1')) Or ($(TargetFrameworkIdentifier) == '.NETCore' And $(TargetFrameworkVersion) == 'v4.5') Or ($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkIdentifier) == 'WindowsPhone' And $(TargetFrameworkVersion) == 'v8.0') Or ($(TargetFrameworkIdentifier) == 'MonoAndroid') Or ($(TargetFrameworkIdentifier) == 'Xamarin.iOS') Or ($(TargetFrameworkProfile) == 'Profile5') Or ($(TargetFrameworkProfile) == 'Profile6') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile14') Or ($(TargetFrameworkProfile) == 'Profile19') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile37') Or ($(TargetFrameworkProfile) == 'Profile42') Or ($(TargetFrameworkProfile) == 'Profile44') Or ($(TargetFrameworkProfile) == 'Profile47') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile92') Or ($(TargetFrameworkProfile) == 'Profile102') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile136') Or ($(TargetFrameworkProfile) == 'Profile147') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile158') Or ($(TargetFrameworkProfile) == 'Profile225') Or ($(TargetFrameworkProfile) == 'Profile240') Or ($(TargetFrameworkProfile) == 'Profile255') Or ($(TargetFrameworkProfile) == 'Profile259') Or ($(TargetFrameworkProfile) == 'Profile328') Or ($(TargetFrameworkProfile) == 'Profile336') Or ($(TargetFrameworkProfile) == 'Profile344')"

and vise versa.

It's annoying. Why this happens?

my paket.dependencies file

source https://nuget.org/api/v2

nuget CommandLineParser
nuget DocumentFormat.OpenXml
nuget DotNetZip
nuget MahApps.Metro 1.1.2
nuget MahApps.Metro.Resources 0.4.0
nuget Microsoft.Composition
nuget MvvmLightLibs
nuget NLog
nuget SharpShell
nuget WpfAnimatedGif
nuget squirrel.windows
nuget TaskScheduler

group Build
    source https://nuget.org/api/v2
    nuget FAKE

group Test
    source https://nuget.org/api/v2
    nuget NUnit
    nuget NUnit.Console

My paket.lock file:

NUGET
  remote: https://www.nuget.org/api/v2
  specs:
    CommandLineParser (1.9.71)
    CommonServiceLocator (1.3) - framework: >= net40, monoandroid, portable-net45+wp80+wpa81+win+MonoAndroid10+xamarinios10, xamarinios, winv4.5, wpv8.0, sl50
    DeltaCompressionDotNet (1.0.0)
    DocumentFormat.OpenXml (2.5)
    DotNetZip (1.9.8)
    MahApps.Metro (1.1.2)
    MahApps.Metro.Resources (0.4.0)
      MahApps.Metro (>= 1.0.0)
    Microsoft.Composition (1.0.30)
    Mono.Cecil (0.9.6.1)
    MvvmLightLibs (5.2.0)
      CommonServiceLocator (>= 1.0) - framework: net35, sl40
      CommonServiceLocator (>= 1.3) - framework: >= net40, monoandroid, portable-net45+wp80+wpa81+win+MonoAndroid10+xamarinios10, xamarinios, winv4.5, wpv8.0, sl50
    NLog (4.2.3)
    SharpShell (2.2.0)
    Splat (1.6.2)
    squirrel.windows (1.2.5)
      DeltaCompressionDotNet (>= 1.0.0)
      Mono.Cecil (>= 0.9.6.1)
      Splat (>= 1.6.2)
    TaskScheduler (2.5.16)
    WpfAnimatedGif (1.4.14)

GROUP Build
NUGET
  remote: https://www.nuget.org/api/v2
  specs:
    FAKE (4.22.6)

GROUP Test
NUGET
  remote: https://www.nuget.org/api/v2
  specs:
    NUnit (3.2.0)
    NUnit.Console (3.2.0.1)
      NUnit.ConsoleRunner (3.2.0)
      NUnit.Extension.NUnitProjectLoader (3.2.0)
      NUnit.Extension.NUnitV2Driver (3.2.0)
      NUnit.Extension.NUnitV2ResultWriter (3.2.0)
      NUnit.Extension.VSProjectLoader (3.2.0)
    NUnit.ConsoleRunner (3.2.0)
    NUnit.Extension.NUnitProjectLoader (3.2.0)
    NUnit.Extension.NUnitV2Driver (3.2.0)
    NUnit.Extension.NUnitV2ResultWriter (3.2.0)
    NUnit.Extension.VSProjectLoader (3.2.0)
@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 28, 2016

Member

May it be because MvvmLightLibs has very interesting dependencies?

image

Member

sergey-tihon commented Mar 28, 2016

May it be because MvvmLightLibs has very interesting dependencies?

image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 28, 2016

Member

Can you please create an csproj, paket.dependencies + paket.lock
combination that has that issue? Thx
On Mar 28, 2016 13:42, "Sergey Tihon" notifications@github.com wrote:

May it be because MvvmLightLibs
https://www.nuget.org/packages/MvvmLightLibs/ has very interesting
dependencies?

[image: image]
https://cloud.githubusercontent.com/assets/1197905/14077343/405cbc7c-f4f3-11e5-8b82-48e8eaed312e.png


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#1552 (comment)

Member

forki commented Mar 28, 2016

Can you please create an csproj, paket.dependencies + paket.lock
combination that has that issue? Thx
On Mar 28, 2016 13:42, "Sergey Tihon" notifications@github.com wrote:

May it be because MvvmLightLibs
https://www.nuget.org/packages/MvvmLightLibs/ has very interesting
dependencies?

[image: image]
https://cloud.githubusercontent.com/assets/1197905/14077343/405cbc7c-f4f3-11e5-8b82-48e8eaed312e.png


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#1552 (comment)

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 28, 2016

Member

Here it is https://github.com/sergey-tihon/paket-MvvmLightLibs

When I call

.paket\paket.bootstrapper.exe
.paket\paket.exe install

Using 2.56.1.0
image

I see
image

Member

sergey-tihon commented Mar 28, 2016

Here it is https://github.com/sergey-tihon/paket-MvvmLightLibs

When I call

.paket\paket.bootstrapper.exe
.paket\paket.exe install

Using 2.56.1.0
image

I see
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 28, 2016

Member

Thx. Will investigate tomorrow.
On Mar 28, 2016 5:58 PM, "Sergey Tihon" notifications@github.com wrote:

Here it is https://github.com/sergey-tihon/paket-MvvmLightLibs

When I call

.paket\paket.bootstrapper.exe
.paket\paket.exe install

Using 2.56.1.0
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14082103/e18c20b0-f516-11e5-845f-657088aa2ae0.png

I see
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14082130/0080fa54-f517-11e5-8a50-772b5501e83f.png


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#1552 (comment)

Member

forki commented Mar 28, 2016

Thx. Will investigate tomorrow.
On Mar 28, 2016 5:58 PM, "Sergey Tihon" notifications@github.com wrote:

Here it is https://github.com/sergey-tihon/paket-MvvmLightLibs

When I call

.paket\paket.bootstrapper.exe
.paket\paket.exe install

Using 2.56.1.0
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14082103/e18c20b0-f516-11e5-845f-657088aa2ae0.png

I see
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14082130/0080fa54-f517-11e5-8a50-772b5501e83f.png


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#1552 (comment)

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 28, 2016

Member

Thank you

Member

sergey-tihon commented Mar 28, 2016

Thank you

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

this is fixed now, but install/update will still change it one more time to a now stable version.

Member

forki commented Mar 29, 2016

this is fixed now, but install/update will still change it one more time to a now stable version.

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

Thank you!

Member

sergey-tihon commented Mar 29, 2016

Thank you!

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

did it work?

Member

forki commented Mar 29, 2016

did it work?

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

paket.exe install changed project files once, but after paket.exe update I see changes again
image

Member

sergey-tihon commented Mar 29, 2016

paket.exe install changed project files once, but after paket.exe update I see changes again
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

I think the green one after update is correct and should be stable
On Mar 29, 2016 12:38 PM, "Sergey Tihon" notifications@github.com wrote:

paket.exe install changed project files once, but after paket.exe update
I see changes again
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105304/71cbbb62-f5b3-11e5-981f-980305ac3ad3.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

Member

forki commented Mar 29, 2016

I think the green one after update is correct and should be stable
On Mar 29, 2016 12:38 PM, "Sergey Tihon" notifications@github.com wrote:

paket.exe install changed project files once, but after paket.exe update
I see changes again
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105304/71cbbb62-f5b3-11e5-981f-980305ac3ad3.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

It looks strange...
image

Member

sergey-tihon commented Mar 29, 2016

It looks strange...
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

True. Can you copy and break the existing Integration test?
On Mar 29, 2016 12:41 PM, "Sergey Tihon" notifications@github.com wrote:

It looks strange...
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105388/f3d32000-f5b3-11e5-8846-07d91c3e66df.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

Member

forki commented Mar 29, 2016

True. Can you copy and break the existing Integration test?
On Mar 29, 2016 12:41 PM, "Sergey Tihon" notifications@github.com wrote:

It looks strange...
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105388/f3d32000-f5b3-11e5-8846-07d91c3e66df.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

paket.exe install change it again
image

Member

sergey-tihon commented Mar 29, 2016

paket.exe install change it again
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

Sorry buddy. Please try to create yet another integration test. Will fix
asap
On Mar 29, 2016 12:43 PM, "Sergey Tihon" notifications@github.com wrote:

paket.exe install change it again
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105425/2a96fd46-f5b4-11e5-9282-8e11f886fa9a.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

Member

forki commented Mar 29, 2016

Sorry buddy. Please try to create yet another integration test. Will fix
asap
On Mar 29, 2016 12:43 PM, "Sergey Tihon" notifications@github.com wrote:

paket.exe install change it again
[image: image]
https://cloud.githubusercontent.com/assets/1197905/14105425/2a96fd46-f5b4-11e5-9282-8e11f886fa9a.png


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
#1552 (comment)

sergey-tihon added a commit to sergey-tihon/Paket that referenced this issue Mar 29, 2016

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

Here it is #1556

Expected string length 509 but was 517. Strings differ at index 230.
Expected: "...5, winv4.5.1, wpv8.0, wpv8.1, sl50\r\n MvvmLightLibs (5.2..."
But was: "...5, winv4.5.1, wpv8.0, wpv8.1, wpv8.1, sl50\r\n MvvmLightL..."
--------------------------------------------^

Member

sergey-tihon commented Mar 29, 2016

Here it is #1556

Expected string length 509 but was 517. Strings differ at index 230.
Expected: "...5, winv4.5.1, wpv8.0, wpv8.1, sl50\r\n MvvmLightLibs (5.2..."
But was: "...5, winv4.5.1, wpv8.0, wpv8.1, wpv8.1, sl50\r\n MvvmLightL..."
--------------------------------------------^

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

ok, please give it another try

Member

forki commented Mar 29, 2016

ok, please give it another try

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

After paket.exe update I see
image
When I run paket.exe install again - wpav8.1 disappears
image

Member

sergey-tihon commented Mar 29, 2016

After paket.exe update I see
image
When I run paket.exe install again - wpav8.1 disappears
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

Please try with -f. Maybe now it's an issue with your cache

Member

forki commented Mar 29, 2016

Please try with -f. Maybe now it's an issue with your cache

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

Even after update/install steps I see short package versions in spec
image
Is it OK?

Member

sergey-tihon commented Mar 29, 2016

Even after update/install steps I see short package versions in spec
image
Is it OK?

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

Making the dependencies requirement with 3 digits is expected and guards you against conflicting responses from multiple source feeds

Member

forki commented Mar 29, 2016

Making the dependencies requirement with 3 digits is expected and guards you against conflicting responses from multiple source feeds

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

So 3 digits should be stable

Member

forki commented Mar 29, 2016

So 3 digits should be stable

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

paket.exe install -f:
image
paket.exe update -f:
image
& project files changes

The next paket.exe install removes wpav8.1 again
image

Member

sergey-tihon commented Mar 29, 2016

paket.exe install -f:
image
paket.exe update -f:
image
& project files changes

The next paket.exe install removes wpav8.1 again
image

@forki

This comment has been minimized.

Show comment
Hide comment
@forki
Member

forki commented Mar 29, 2016

dead

sergey-tihon added a commit to sergey-tihon/Paket that referenced this issue Mar 29, 2016

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

The good news is that I probably have repro again #1557

Member

sergey-tihon commented Mar 29, 2016

The good news is that I probably have repro again #1557

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

New error (on my machine) is strange ...

Expected string length 515 but was 513. Strings differ at index 86.
Expected: "...\n CommonServiceLocator (1.3.0) - framework: >= net40, m..."
But was: "...\n CommonServiceLocator (1.3) - framework: >= net40, mon..."
---------------------------------------------^

Member

sergey-tihon commented Mar 29, 2016

New error (on my machine) is strange ...

Expected string length 515 but was 513. Strings differ at index 86.
Expected: "...\n CommonServiceLocator (1.3.0) - framework: >= net40, m..."
But was: "...\n CommonServiceLocator (1.3) - framework: >= net40, mon..."
---------------------------------------------^

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

Ahhh, sorry, forgot to prepare scenarioName
I will try to come up with new repro ...

Member

sergey-tihon commented Mar 29, 2016

Ahhh, sorry, forgot to prepare scenarioName
I will try to come up with new repro ...

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Mar 29, 2016

Member

(reverting that change with 3 digits versions)

Member

forki commented Mar 29, 2016

(reverting that change with 3 digits versions)

forki added a commit that referenced this issue Mar 29, 2016

@forki forki reopened this Mar 29, 2016

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 29, 2016

Member

One more integration test for this issue #1560

Member

sergey-tihon commented Mar 29, 2016

One more integration test for this issue #1560

@sergey-tihon

This comment has been minimized.

Show comment
Hide comment
@sergey-tihon

sergey-tihon Mar 30, 2016

Member

Thank you @forki
It works now !!!

Member

sergey-tihon commented Mar 30, 2016

Thank you @forki
It works now !!!

@forki

This comment has been minimized.

Show comment
Hide comment
@forki
Member

forki commented Mar 30, 2016

ok

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