|
|
|
[
Permlink
| « Hide
]
jason - 21/Mar/07 02:09 PM
Fixed in change 3144.
I just upgraded to 1.2.21 and this doesn't seem to be fixed for dir-artifacts. Did this original fix also address dir-artifacts or just artifacts? Or was there a possible regression?
Thanks -Tim I should add that I'm trying to reference a propery defined in the Build Spec, not one defined in the pulse file - in case that makes a difference.
Hi Tim,
This fix is still limited to variables that can be resolved at the time that you are saving the Pulse file. Because your variable is defined in the build spec, there is no easy way Pulse can resolve it (I suppose it could validate for all build specs, but that also might get confusing). Variables that are not yet defined are therefore left as references and the original problem occurs. I guess one way for us to fix this would be to make the validation logic more lenient at custom project save time, so artifacts do not validate their names (for example). Another way would be to default the variable values to something that works, but that is more of a hack. I can see how this is a problem. I guess it would be ideal for me if the name wasn't resolved until the execution of the pulse file, but that makes error reporting much more difficult.
I tried defining a property in my pulse file and then specifying the same property in the build spec ( I wanted to override the pulse file property ). That gave me a different error about the property already existing. Is there another way to default those values in the pulse file so that validation passes, but then change the value in the build spec? Maybe the validation can be semi-lenient, it replaces all known properties and for any properties references that don't exist, the reference is removed for the validation. That would do a basic validation, but would allow new properties to affect the final name of the artifact. Hi Tim,
Your workaround of specifying a default unfortunately cannot work. It is possible to have a value in the Pulse file, so long as it is not at the top-level scope, but this value would always override that provided in the build specification. Removing references during validation also causes problems for required fields. For example, if the artifact name contains only the property reference, after removal the name will be empty and validation will fail as a name is required. It's a painful one :). |
|||||||||||||||||||||||||||||||||||||||