Add test case for QBS-394.

Change-Id: I0c0d622f2c94750053d9a35f6aa90b8492465bbd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
fix symlink installation

Before overwriting an existing symlink we must remove it.
Otherwise the symlink() call fails.

Task-number: QBS-391
Change-Id: I9cd0cdc5c71eea9e4680c8b53a780e1c5c2ab2c2
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
setup Qt's run environment on Windows only

Change-Id: I2e90d380615b825210f7830bfc37c16c013b469c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Doc: add rudimentary Module item reference

Change-Id: I763486128efbc6e49e3bdb4d563444cee0851ffc
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
introduce Module.validate

This property can be used to validate the property values of a module.

Task-number: QBS-319
Change-Id: I3d50c95cca16c5f0ad356fca02a0588679444cc9
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Update tests to use "qbsSearchPaths" property.

Change-Id: Ie790bfdd4ffb9ae937383553c40f730434879d1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Make failing autotest less noisy.

Change-Id: I4b658bab8b932a2df6fa7d40d6c3ff3f7bc49a48
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Tell users which build graph we are talking about...

... when complaining about a project file mismatch.

Task-number: QBS-382
Change-Id: I25ad56acace014fb03bb7eb55433823ba14d8978
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
remove some cruft

Change-Id: If68fccf644099de18bf47fee619992b9094796da
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
in the scanner, only remove connections the scanner created

Task-number: QBS-394

Change-Id: I4659746be6004042949038450e2015fbb5f70b77
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Enforce canonical architecture names in qbs.architecture.

Change-Id: Ia9ec94d1d634f45db1c229b65b8856eff98a67c9
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Write .qm files to the correct directory.

Task-number: QBS-400

Change-Id: I2df943967f4b8877b2941a644076091e9aff8d6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Add documentation for the Qt modules.

Change-Id: Ia2264b11412c79e1d53f1d57fba4ead7f0695f83
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from commit a95c350c1d697f4c5b776e08ba426e6a228cd90c)
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Add test case for checking the list of build system files.

Change-Id: Ie3f5a0e7b3b0ae4ef96670ae8b0db3cd18d248b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from commit ba004ce90327186a7f00ce53bb101b00b01c33fd)
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Add another build graph sanity check.

Change-Id: I9860fdea260ee53a04c5ba4e630ddf7cf4bfe7f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Remove unused code from toolchain detector.

Change-Id: Ib897f5a9b44c41f87807b2f912dc0d5347d2417f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Fix FileInfo.path().

Remove the trailing slash for directories if the file name is empty.
This makes sense, since repeated invocations of path() will strip off
additional components, as one would expect. It is also how
QFileInfo::path() behaves.

Change-Id: Idc28fcaba5d3a8c907b8d6ce8f55001909f00fa8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Canonicalize architecture in probes.

Change-Id: I073396c3012a2e8e58dbaffdce151a12d16fd3de
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
introduce TestBlackbox::unifiedLineEndings()

unifiedLineEndings removes all \r characters from a QByteArray and
returns a modified copy. Use this function to unify the output from
QProcess on Windows.

Change-Id: I414230602dea0f12d171620520e72547c2939881
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
detect cycles in rule dependencies

This fixes a stack overflow that occurred when having cycles in rule
dependencies.

Task-number: QBS-396

Change-Id: I1907ef66d74340c090b09be72d2352892baca986
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>