Hi, I just started playing with model a bit and I was curious on opinions on a few things. I think it has been largely agreed that every project has a "frame" (like ExecutionFrame mutant). This frame contains things like taskdefs, datadefs (+ other types) and other project names (if we implement that). It *may* also contain properties/state depending on further discussions.
Each project file consists of basically the following bits. 1. projectrefs (if implemented) 2. imports of libraries (ie like taskdef but importing all types in library) 3. implicit tasks (like properties and anything else we allow at top-level) 4. targets (that contain tasks) I think that it would useful to force the above order in build file. So if feature is present it must be in above order. So a sample may be something like <project ... > <projectref name="foo" location="..." /> <import library="foo.tsk"/> <import library="jdk.tsk" name="javac" type="task"/> <import library="core.tsk" name="pattern" type="data-type"/> <property name="prop" value="..."/> <target name="main"> </target> </project> Also I am curious about we should resolve conflicts in names of types (like multiple tasks named "javac"). Should we do it in same way java does it? (ie if conflict and no explicit imports then generate an error, If there is just one explicit import then use that). Should we do it by order? (ie last defined is the "winner"). Or some other way? Also another point is should we import any types by default? Or should we ask people to do something like following? <import library="core.tsk"/> Cheers, Pete *-----------------------------------------------------* | "Faced with the choice between changing one's mind, | | and proving that there is no need to do so - almost | | everyone gets busy on the proof." | | - John Kenneth Galbraith | *-----------------------------------------------------*
