|Re: Property params of the build target was not copied to the config object model [message #996823 is a reply to message #996776]
||Thu, 03 January 2013 01:05
| Sasha Slijepcevic
Registered: July 2009
First, I'll just say that the message does not indicate any serious problem, and I base that on the name of the property that's not being copied. A more complete explanation of the message and the code that emits it follows.|
A RTSC target that builds an executable is selected and its parameters are set within the RTSC build object model. Before we exit the build object model, we determine the state of the RTSC target so we can reload the target and set it to the same state at the beginning of the RTSC config object model.
The config object model requires the target to be available so it can query its parameter and call its functions. The parameters and functions that are used by the object model are of well-defined types and we know how to replicate those and test them. However, for completeness we try to replicate the complete state of the target, in case a config script tries to access any of the target's properties. The remark means that we found a target property that we don't know how to replicate and we won't even try it. This usually happens with ITargetFilters because their parameter structure is of type Any, and anything could be in it.
We changed the message over the time to make it less scary, but also don't want to remove it in case some more serious malfunction happens in the future.
One solution would be to fix that code so it always replicates parameters correctly, but the existence of Any makes it hard to guarantee that all corner cases are resolved. Another solution would be to silently ignore any of Any parameters, but there could be future targets in which a config param of type Any affects the target properties that the config object model cares about.
The third solution, that I prefer, is just to copy this thread to FAQ. What do you think Chris?
Powered by FUDForum
. Page generated in 0.01444 seconds