summaryrefslogtreecommitdiff
path: root/src/lib/buildgraph/executorjob.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Some minor improvements to the Error class.Christian Kandeler2013-06-181-5/+5
| | | | | | | | | | | | | - Rename "Error" to "ErrorInfo", to make clear that this class conveys information about errors, including that there might not actually be one. - Rename "ErrorData" to "ErrorItem", to make clear that these are parts of an aggregate structure. - Introduce ErrorInfo::hasError() for quick checking of whether an error occurred. Change-Id: Icea6ed5240d6d14bd30e9cea189c6babd7004792 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove structural redundancy in project and product classes.Christian Kandeler2013-04-121-3/+2
| | | | | | | | | | | | | | | We had two project classes, each holding a list of products that was structurally identical, except that no BuildProduct object existed for a disabled ResolvedProduct. The same kind of duplication also happened for product dependencies. This patch gets rid of these parallel structures. BuildProject and BuildProduct are largely being demoted to data holders and are aggregated by ResolvedProject and ResolvedProduct, respectively. The resulting project structure should be easier to understand and maintain. Change-Id: I68beef60b9e0d62258f6a8337c9015864e18bd80 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* replace Q_ASSERT with QBS_ASSERT / QBS_CHECKJoerg Bornemann2013-02-141-2/+3
| | | | | Change-Id: I9f4d43b9b7be7e4ce814963d1feee81605a9d2eb Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Remove global log sink.Christian Kandeler2013-02-061-3/+3
| | | | | | | | | | | | | | | Applications may not want to use the same log sink for all builds. The logging facility is also decoupled from the command-line client in other ways: - The LogWriter modifiers for output channel and text color are gone, since this type of decision should not be made by low-level code. Instead, the "highlight" string can be forwarded to the log sink. - The console logger now lives in app/shared, as it must never be used by library code. Change-Id: I8863a554c9b74577320ef23f6f934a74e0f0cbb0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Do not write directly into loggerTobias Hunger2013-01-111-4/+13
| | | | | | | | | | | Pass information up to the client instead so that it can decide how to handle it. This allows e.g. creator to parse compile output for build issues. Change-Id: I76be4eaeb289b211b7d2527b555536b556655492 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* update copyright yearJoerg Bornemann2013-01-091-1/+1
| | | | | Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Split up buildgraph.h and buildgraph.cpp.Christian Kandeler2012-12-041-1/+1
| | | | | | | Move things to the appropriate places. Change-Id: I2f201ccdf9c465a8c3201e229629b756cc258495 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Reduce compile dependencies.Christian Kandeler2012-11-291-0/+1
| | | | | | | | | | | | | | | | | While it seems elegant at first glance to do typedefs in class scope, it has one serious drawback: Forward declarations become impossible unless they use the non-typedef'ed type name, which defeats the purpose. As a result, dozens of headers currently include language.h and buildgraph.h, even though they technically don't have to. Fix this by introducing special forward-declaring headers and doing the typedefs there, outside the class scope. Now changes to header files included in language.h or buildgraph.h don't ripple through half the project anymore. Along the way, also remove unneeded and potentially harmful INCLUDEPATH statements from various pri files. Change-Id: Ib50db850876955216db7f39b6099c32d1239092b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce namespace Internal.Christian Kandeler2012-11-081-0/+2
| | | | | | | | | This makes it obvious at first glance which facilities are for public use and which are not, which should be useful especially for clients of the library. Change-Id: I7f74f13b5c8a4c63a1de57bf607084a3a3852653 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* ExecutorJob: Fix assertion.Christian Kandeler2012-10-231-2/+2
| | | | | | | | The command index can be out of range if cancel() has been called earlier. Change-Id: Iba04c0785fdc3db44f120d3a6d9c12c248bfd2ca Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Split up class CommandExecutor.Christian Kandeler2012-10-221-24/+47
| | | | | | | | | | It currently combines the running of processes and Javascript commands, which are two completely different things. Put the respective functionality into dedicated classes and provide a common API via a base class. Change-Id: I65517fc6fa75c102c9029259ec9d96563b0a2a82 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* license and copyright updatedJoerg Bornemann2012-10-081-28/+20
| | | | | | Change-Id: I0c0b3035514ee6b735e85c098029fa2f41edb6ff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rework #includes.Christian Kandeler2012-10-021-1/+1
| | | | | | | | | | | | | - Do not use the Qt module as a prefix. This serves no purpose and potentially introduces incompatibilities between different Qt versions. - While we're at it, also - sort #includes by file name - use the official file name instead of the internal one (e.g. QtGlobal instead of qglobal.h). - remove some excessive whitespace Change-Id: I9358b2571622ca661936382305d7f159b9770008 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Long live qbs!Joerg Bornemann2012-02-151-0/+128
Change-Id: I412793e868919a9ac99611616f292e7047f1ebcf