Skip to content

bug: Duplicating PPL build specs of dependent libraries results in spurious circular dependencies #61

@AndreaV-Lsi

Description

@AndreaV-Lsi

Description

We have three libraries in the source code, say libraries A, B and C. C depends on B and B on A. If we prepare a packed project library build specification for each, starting with A and then duplicating and editing to create the one for B, and so on, from B to C, then the Solution Builder for LabVIEW will detect a spurious circular dependency.

Steps to reproduce

  • Create a new project
  • Create “Library A.lvlib”. Therein create “Class A.lvclass”. In the class, create the dynamic dispatch method “My Method.vi”
  • Create “Library B.lvlib”. Therein create “Class B.lvclass”. Let “Class B.lvclass” inherit from “Class A.lvclass”. In the class, override the method “My Method.vi”
  • Create “Library C.lvlib”. Therein create “Class C.lvclass”. Let “Class C.lvclass” inherit from “Class B.lvclass”. In the class, override the method “My Method.vi”
  • Create a packed project library for “Library A.lvlib”, Activate the exclusion of the dependent packed project libraries.
  • Duplicate the build specification in the previous step and change the Top-Level Library to “Library B.lvlib”. Rename the build specification sensibly.
  • Duplicate the build specification in the previous step and change the Top-Level Library to “Library C.lvlib”. Rename the build specification sensibly.
  • Open the Solution Builder for LabVIEW, point to the project folder. Run the Solution Builder for LabVIEW

Expected Behavior

The build process is concluded successfully and all three packed project libraries are created

Actual Behavior

The build process stops and raises a” Unable to continue because a circular dependency exists.”

Image

Source triggering the bug
Recursive Build Spec Creation.zip

Environment

LabVIEW 2019 SP1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions