Skip to content
  • Michael Pyne's avatar
    tasks: Fix bug in consistently using async/no-async builds. · 335caf0c
    Michael Pyne authored
    Launching a command like "kdesrc-build --src-only kde/applications" will
    update the appropriate modules but never show any output until a timeout
    occurs, and then show all output at once.
    
    This is due to the handle_build() method refusing to do anything when
    the list of modules to build is empty (as it will be under --src-only).
    However handle_build() is what actually processes and shows messages
    from the update process during an 'async' build.
    
    Apparently I introduced this bug while refactoring this code a few
    months back.  Previously kdesrc-build would have launched in the
    'no-async' mode automatically with --src-only or --build-only in effect.
    
    By launching in 'async' mode the various logging codes in the update
    process feed all messages to a hidden IPC object which the build process
    is expected to read out and show.
    
    We can fix the bug either by making handle_build() always try to do
    something (so that it shows messages even if nothing is being built) or
    by launching in no-async if there will be only a single type of build
    phase (i.e. update or non-update but not both types).  I chose the
    latter.
    335caf0c