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.