Skip to content

Nuget binary packages do not respect conditional rules from paket.dependencies file #2347

Open

Description

@marknuzz

Description

Nuget binaries do not respect conditional rules from the paket.dependencies file, in at least one scenario. This prevents us from using the Vsxmd package with Paket, which allows a windows dev machine to generate markdown from xml comments automatically on build. Our Linux build machine cannot run exe files, and because the conditional rules do not work, we cannot disable this in release mode, and therefore this package cannot be used with Paket.

See #197 and #1026 for related features.

Repro steps

In a new project, edit paket.dependencies, and include the following:
nuget Vsxmd condition:DEBUG

In paket.references, include: Vsxmd

Expected behavior

foo.fsproj file should contain:
<Import Project="..\..\packages\scripting\Vsxmd\build\Vsxmd.targets" Condition="'$(DEBUG)' == 'True' And Exists('..\..\packages\scripting\Vsxmd\build\Vsxmd.targets')" Label="Paket" />

Actual behavior

foo.fsproj file contains:
<Import Project="..\..\packages\scripting\Vsxmd\build\Vsxmd.targets" Condition="Exists('..\..\packages\scripting\Vsxmd\build\Vsxmd.targets')" Label="Paket" />

Known workarounds

None

Activity

  1. matthid commented on May 18, 2017

    @matthid
    Member

    Also related:
    #2263 (comment)
    #2286
    #2283
    #2272
    #2234
    #2227

    maybe we should add some tests in this area ...

  2. matthid commented on May 18, 2017

    @matthid
    Member

    /cc @0x53A

  3. added a commit that references this issue on Jul 26, 2017
  4. added a commit that references this issue on Aug 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions