From: Eric B. <er...@go...> - 2001-10-17 23:02:53
|
Glenn Maughan wrote: > > The following cluster element: > > <cluster name="goanna" location="."> > <cluster name="TESTGEN"/> > <cluster name="utility_tests" location="utility"/> > <cluster name="log4e_tests" location="log4e"/> > </cluster> > > builds an ISE Ace file with the following cluster definitions: > > goanna: "." > goanna_TESTGEN: "./TESTGEN" > goanna_utility_tests: "utility" > goanna_log4e_tests: "log4e" > > I would have expected the 'goanna_utility_tests' and 'goanna_log4e_tests' to > have the './' of the parent cluster prepended to the path. With the way it is implemented now, as soon as you have the attribute 'location', it is meant to be a full pathname and not a relative pathname to the parent directory. That's why you got the above behavior. So you would have had to write: <cluster name="goanna" location="."> <cluster name="TESTGEN"/> <cluster name="utility_tests" location="./utility"/> <cluster name="log4e_tests" location="./log4e"/> </cluster> to get your expected result. > In the cluster element above I needed to use different names to the paths > because existing clusters already used the names 'utility' and 'log4e'. In the Ace file generated by 'gexace' the cluster tags are actually the concatenation of the parent full tag and the cluster name, as you could see above with 'goanna_TESTGEN' for example. So even if you used 'utility' somewhere else, there is low risk that there will be a name clash. Now the question is whether the policy of concatenating tags adopted by 'gexace' is a good thing or not. Another policy could have been to use directly the values specified in the 'name' attribute and append 1, 2, 3 ,... when there are name clashes: <cluster name="foo" location="path/name"> <cluster name="bar"/> <cluster name="toto> <cluster name="bar"/> </cluster> </cluster> how it works now: foo: "path/name" foo_bar: "path/name/bar" foo_toto: "path/name/toto" foo_toto_bar: "path/name/toto/bar" other possible solution (not implemented): foo: "path/name" bar: "path/name/bar" toto: "path/name/toto" bar1: "path/name/toto/bar" We'd put "bar1" instead of "bar" to avoid the name clash. What's your opinion on both solutions? -- Eric Bezault mailto:er...@go... http://www.gobosoft.com |