Sort inputs and outputs before setting up the respective JS lists.
Sort inputs and outputs before setting up the respective JS lists.

If we don't do that, the order of inputs/outputs is random. Why is this
bad? Consider a linker rule. Depending on the phase of the moon, the
command line can look like this:
    ld -o myApp obj1.o obj2.o
Or like this:
    ld -o myApp obj2.o obj1.o
As a result, change tracking will yield false positives. This is very
likely the reason for seemingly inexplicable re-linking steps observed
in the past.

Change-Id: Iec9d340579dbd680eca07e228bf42339d6e7d277
Reviewed-by: Oswald Buddenhagen <6a8868beda3e139b5ac22b2534a23d3e6ba81819@theqtcompany.com>
Reviewed-by: Joerg Bornemann <47777b9406dbddd02a3fdca8341789a013805a11@theqtcompany.com>

Distrotech/qbs,Distrotech/qbs,qtproject/qt-labs-qbs,qt-labs/qbs,gatzka/qt-labs-qbs,qt-labs/qbs,qtproject/qt-labs-qbs,gatzka/qt-labs-qbs,gatzka/qt-labs-qbs,villytiger/qbs,Distrotech/qbs,Distrotech/qbs,gatzka/qt-labs-qbs,qt-labs/qbs,qtproject/qt-labs-qbs,villytiger/qbs,villytiger/qbs,villytiger/qbs,qtproject/qt-labs-qbs,gatzka/qt-labs-qbs,qt-labs/qbs,Distrotech/qbs,Distrotech/qbs,qtproject/qt-labs-qbs,villytiger/qbs,qt-labs/qbs,villytiger/qbs,gatzka/qt-labs-qbs,qt-labs/qbs,qtproject/qt-labs-qbs,qtproject/qt-labs-qbs,gatzka/qt-labs-qbs,qt-labs/qbs,Distrotech/qbs