Have you taken a look at how Eclipse handles this? http://eclipse.org
******************************************* Richard A. Sitze IBM WebSphere WebServices Development Following some interesting discussions on the Maven list, I'd like to propose starting an SCM abstraction project, tentatively named Scamp. Proposed Goal: Scamp is a Source Control Manager abstraction layer. It provides a standard interface to SCM systems allowing common source control operations such as checkin/checkout, labelling/tagging, reading changelogs and diffs. Initial design goals: -- expose a stable SCM interface contract for consuming applications (Maven, Ant, etc). -- provide extensible infrastructure for specific SCM implementations. -- configuration driven implementations -- file system independent -- supports multiple projects, multiple/distributed source providers Architecture: My initial thoughts are to utilize a combination of AbstractSCMFactory and a SourceControlManager interface with concrete implementations of both. We might possible need some secondary classes representing projects, connections, and filesystems, but I'm not sure on those yet. 0.1 Release Goals/Requirements: -- First version of SCM Interface, focused on primary/core SCM operations -- AbstractSCMFactory -- Stubbed concrete factories for cvs/vss/vfs? -- exception infrastructure Any thoughts, feedback, requirements, design, existing code pointers, etc very welcome. Potential participants more than welcome!! Thanks, Lance Lance Weber Chief Architect CareEnhance Services & Systems McKesson Health Solutions ___________________________________________________________________________ CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. -- To unsubscribe, e-mail: < mailto:[EMAIL PROTECTED]> For additional commands, e-mail: < mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>