Added PathTools import to DarwinGCC

This fixes compilation error under Mac OS X.

Change-Id: I08093ef6033fe9a4869c05e4b7c4f5a7dd45136d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
detect Visual Studio build environment using vcvarsall.bat

To provide a consistent build environment for Visual Studio
setup-toolchains now executes the vsvarsall.bat that comes with the
Visual Studio installation. The environment is written to the profile
under the key "buildEnvironment".
The setupBuildEnvironment script in windows-msvc.qbs isn't needed
anymore.

Task-number: QBS-444
Task-number: QBS-508

Change-Id: I3191f5ff127bed6b96ce5ea5520b20fc9646364f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Add Windows 6.3 (8.1) to the list of known versions.

Change-Id: I4989605776cf6dbbc8a8852d88f0fc6262f08f0b
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Do not report success from canceled jobs.

The current behavior leads to "interesting" problems. For example:
    - Consider a rule with two commands.
    - The associated transformer gets executed via an ExecutorJob.
    - Some other command in a different transformer fails, so the
      Executor calls cancel() on the ExecutorJob. Let's say this happens
      while the first command is running.
    - The ExecutorJob now waits for the first command to finish and then
      reports a successful finish to the Executor. This is the actual bug.
    - The Executor updates the timestamp for all artifacts to the
      current time, even though only one was actually written.
    - On the next run, the command is skipped, even though one artifact
      is not actually up to date.
This patch makes sure that these timestamp updates do not happen for
artifacts of transformers in canceled jobs, unless all commands were
successfully run.

Change-Id: Idccf3e7cc8fe67b7655cd032c70bf9f074400206
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Fix potential assertion in Executor.

In the CommandExecutor and ExecutorJob classes, we follow QProcess'
glorious example and report error() and finished() separately. In the
case of a process crashing, the current code can lead to a slot in the
Executor being called twice, the second time in an unexpected state.
This patch fixes that particular bug.

Change-Id: I2f75a5426bc8e14912d0c796fea5c905afd0e628
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Fix WiX test and turn it into an autotest.

Change-Id: Ifd1cdfc54e7566146a478cf0833a6f67196735cd
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Fix linking of MSIs built from multiple WiX source files.

Task-number: QBS-541
Change-Id: I177c755ee203df1018039683da860b26dd9ec820
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
WiX: Fix the "cultures" property handling

Task-number: QBS-542
Change-Id: I4ec5bf6020732155ab1a20583861e4bbadd196d9
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Make AbstractJob::cancel() a slot.

Because it is useful and cannot hurt.

Change-Id: I44b49c61931bf7e7db6bd7bf12c283a4fb4504ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Add (failing) autotest for QBS-552.

Change-Id: Idea84b324ddccc62721ff0025ffb85c55dd82a80
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
support internal extensions in loadExtension

Internal extensions like qbs.File are now supported by loadExtension.

Task-number: QBS-302

Change-Id: I2b51fec90145afbe18f48cfdd5c0becc9472e90c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
load PropertyList extension in bundle-tools.js

Task-number: QBS-549
Change-Id: I1a02ec28aa1be4191b8e6070674b3407154cfc98
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Revert "work-around conflicting imports"

This has been fixed properly by 201e19017b9538c3d915ed934df5bcb30027a2da.

This reverts commit f64bf71f4eb430e98bdf0cfc8245be893c277b23

Change-Id: I561800e120bc740feee170c6ec78fbd84505b8ac
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Merge remote-tracking branch 'origin/1.2'

Change-Id: I563b9846a88f2de07cbe45dd044aa96ab6f39718
Fix compilation on Windows.

Change-Id: I39e0e268bdcfdae16dd9fb9c4a44261513c9ba60
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Make "infinite-loop" test app not actually run infinitely.

Otherwise, a failing test will leave a CPU-burning process behind.

Change-Id: Ie9cb2e608f0cb3f1e1ad7491948666f8ac6fc87c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
remove deprecated FileTagger.pattern

Change-Id: I111033e2b7d551caff289679513514d9636014ee
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
remove deprecated Module.additionalProductFileTags

Change-Id: I697a9cd83d22aaac6116c53aa0281e4ed6fc73c7
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Move several JS files in the cpp module to imports.

All of these files are generically useful and not specific to C++.

- BundleTools/DarwinTools are useful on OS X in general and are used by
  both the C++ and Interface Builder modules.
  PathTools also uses DarwinTools.
- PathTools is currently only used by the C++ module but contains
  general filename functions that can be shared across multiple native
  language modules, like C++, Go, etc.
- WindowsUtils contains functions general to the Windows OS.

These imports should not yet be documented as further refactoring is
necessary.

Change-Id: I503773af268eabf8a77ebfc8a5809b9ddcad7af2
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
fix usage of deprecated function

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