| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
The scope that contains inputs, outputs and friends was bound to the
function object, which is wrong when applying the function later on.
Instead, we're passing those variables as function arguments now.
Change-Id: I7ad7b6a742091fae889ed57b7c9cbceea4a2ead2
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
| |
Simplifies the calling code.
Remove pointless nullpointer check from jscommandexecutor.
Change-Id: I867181d2b750f32f04376ce860f5dee6555d3e33
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
| |
Change-Id: I8fbd49fb0997338019d9f8cb85155cfc673eac16
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
|
| |
|
|
|
| |
Change-Id: Ib41691daf497d6587cb1d37b8a81728de4043e39
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
| |
Do not modify the global object.
Use pushScope/popScope instead of pushContext/popContext.
Remove a futile caching attempt.
Change-Id: I2c7440356db13db25c1770e9461ef6247d1bb7dc
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
| |
JsCommandExecutorThreadObject is running in exactly one thread now.
There's no need to save engines per thread anymore.
Change-Id: I9328cf840789131397e7713efdc105f0b56aeee8
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fewer dependencies makes bootstrapping easier.
Also, this prevents a potential deadlock on single core machines
when the executor is run through QtConcurrent, like in Qt Creator.
Task-number: QBS-68
Task-number: QBS-307
Change-Id: Id5383a2b5a6bf0d7880f0969e3730c3606e8b1d9
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This entails the following:
- Project files can get access to built-in extensions in all
contexts via import statements such as "import qbs.TextFile".
- In turn, the automatic injection of these extensions in rules and
probes no longer happens, i.e. one always has to explicitly import the
required extension.
Change-Id: Ib1e42c078354c564e417f80dd47897c7f41e7569
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
| |
Task-number: QBS-55
Change-Id: I53e9c0c2a784851244219dde9ffe752816e65d0a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
|
|
|
| |
While we do not promise a stable ABI at the moment,
this is conceptually correct and has to be done sooner or
later, with increasing effort the longer we delay it.
Change-Id: Icc98443974e54d377167480ace601db4981ed43c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
| |
Change-Id: Ic2962e57ede037b910d7e77b01b0163f0a22cb7d
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
| |
Its only contents were static member functions, which now become free
functions.
Change-Id: If854e6804626beddcc918d0aea155e07fd945577
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
| |
Move things to the appropriate places.
Change-Id: I2f201ccdf9c465a8c3201e229629b756cc258495
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The current behavior is not exactly well-defined, mostly
due to signals calling back on the Executor while it is
calling a function on the object emitting the signal (e.g.
waitForFinished()). These traps are now gone.
Also make sure error messages are in a sensible order
when a build is canceled.
In addition, remove unused functionality.
Change-Id: Icf35eb378995a55b5ba4fc6caea9492eccb43527
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
| |
Change-Id: Iae59f773c11ba6d7be748c95807727464906bcaa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
| |
The central class of the public API should have a name that suggests its
role to clients, so we call it "QbsEngine". The class currently using
this name is now called "ScriptEngine".
Change-Id: I77eba4618a3e1313c2d3a43fe29585aad638da4e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
| |
|
|
|
|
|
|
| |
This reverts commit c39e9a0715c4469c78a1e797426db6d94df51c4c
The commit is correct in principle, but was prematurely merged and should have been based on an additional patch.
Change-Id: Id5920491fa948ac48f304797f5ec959b28e9ac25
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
|
| |
|
|
|
|
|
|
|
| |
The central class of the public API should have a name that suggests its
role to clients, so we call it "QbsEngine". The class currently using
this name is now called "ScriptEngine".
Change-Id: I6c3e6d5770ac8b096d9515cbe5762fe97346ab7e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
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>
|