I took MyFaces 1.2.0 and stripped somewhere around 80% of the classes. Pretty much ripped out everything but org.apache.myfaces.config package. Doing this gives you just enough to parse versions 1.0, 1.1 and 1.2 of faces-config files using two lines of code.
ByteArrayInputStream bais = new ByteArrayInputStream(testFacesConfig.getBytes());
dispenser.feed(unmarshaller.getFacesConfig(bais, null));
Here are the costs of going this route. This introduces a dependency on digestor, commons logging, beanutils and commons collections. It also means we have to maintain the myfaces-stripped jar until the config stuff gets moved into the new myfaces commons project (which probably won't be released before JSFUnit). It also means we have to ping a lawyer because I have never done this before (change ASF artifact, release under LGPL).
Let me know your thoughts. I timeboxed this at an hour so I don't have a lot of emotions behind going this route. Part of me feels like just benching this until after the release.
--
Dennis Byrne