Hi,
has anyone had a look/any comment on my proposed tool api project that would allow managing of the various implementations of compilers in the FDK? I have taken my thoughts a little further. While implementing the PMD modularization I encountered the Java SerivceLoder mechanism and I would like to use this in Flexmojos to select the modules the user wants to use. http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html I currently had planned a FlexTool interface with a "toolName" and "toolGroup" property and an "ecexute" method. while thinking even further, I doubt that someone would use the default compiler for SWCs, Falcon for SWFs and ASDoc by yet another. So what do you think about having a "compiler group" and this either has a concrete "getCOMPC", "getMXML", "getASDoc", ... or more consists of a Map of tools "getTool('ASDOC')" Where the key to the map could be an Enum or a String. Eventually the Map version with a String key would be the most generic version and we would probably not have to extend that interface in the near future. Especially when thinking of the JavaScript future. So I would change my proposal to having two interfaces: FlexTool - public String getName() - public int execute(String[] args) FlexToolGroup - public String getName(); - public FlexTool getTool(String name) If we added one FlexToolGoup to each compiler implementation project (Default, Falcon, FlexJS, VF2JS) and in these the "getTool" method is implemented in a way to return the implementation matching that particular group, it would make tooling a lot easier: ServiceLoader<FlexToolGroup> flexToolGroups = ServiceLoader.load(FlexToolGroup.class);