Skip to content
Snippets Groups Projects
  • Rodrigo Mesquita's avatar
    e8c9d194
    Don't build unnecessary targets of legacy-fallback deps. · e8c9d194
    Rodrigo Mesquita authored
    The refactor in f70fc980 solved an
    inconsistency in `buildAndInstallUnpackedPackage`. Namely, before the
    refactor, we didn't pass `hsSetupBuildArgs` to the build invocations,
    and afterwards we did.
    
    The result is that build targets of (legacy) package `B`, that a package
    `A` depends on, are now passed to the ./Setup build invocation of
    package `B` (e.g. `./Setup build lib:openapi3` rather than just `./Setup
    build`).
    
    This means we no longer /build always all targets of a legacy-package/
    (for example, the lib, the testsuites and the executables).
    Instead only the required target (just the lib) will be built.
    
    However, despite now passing the build args to `./Setup build`, we
    weren't passing the same arguments to the `./Setup copy` invocation.
    Therefore, `./Setup copy` would also try to copy targets of the package
    that weren't built, resulting in a failure.
    
    This fixes that failure by correctly passing the build targets to the
    `./Setup copy` invocation, just like we do for the `./Setup build` one.
    
    Fixes #9640
    e8c9d194
    History
    Don't build unnecessary targets of legacy-fallback deps.
    Rodrigo Mesquita authored
    The refactor in f70fc980 solved an
    inconsistency in `buildAndInstallUnpackedPackage`. Namely, before the
    refactor, we didn't pass `hsSetupBuildArgs` to the build invocations,
    and afterwards we did.
    
    The result is that build targets of (legacy) package `B`, that a package
    `A` depends on, are now passed to the ./Setup build invocation of
    package `B` (e.g. `./Setup build lib:openapi3` rather than just `./Setup
    build`).
    
    This means we no longer /build always all targets of a legacy-package/
    (for example, the lib, the testsuites and the executables).
    Instead only the required target (just the lib) will be built.
    
    However, despite now passing the build args to `./Setup build`, we
    weren't passing the same arguments to the `./Setup copy` invocation.
    Therefore, `./Setup copy` would also try to copy targets of the package
    that weren't built, resulting in a failure.
    
    This fixes that failure by correctly passing the build targets to the
    `./Setup copy` invocation, just like we do for the `./Setup build` one.
    
    Fixes #9640
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
To find the state of this project's repository at the time of any of these versions, check out the tags.