using System; using System.IO; using System.Diagnostics; namespace builder { public abstract class ABuilder { public Config cfg; public ABuilder() { } public abstract bool BuildLibrary(Package pkg, Library lib, ref string _binName, ref string _binPath); public void UpdateRevisionInfo(Package pkg, Library lib) { string path = Config.PathFormat("{0}/{1}", cfg.SourceBase, lib.LocalPath); string file = Config.PathFormat("{0}/svn_version.h", path); if (File.Exists(file)) { UpdateRevisionInfo(path, file); } } public void CopyFolder(Package pkg, string source, string dest, string [] omits) { string from_base = Config.PathFormat("{0}/{1}", cfg.SourceBase, source); string to_base = Config.PathFormat("{0}/{1}/{2}", cfg.OutputBase, pkg.GetBaseFolder(), dest); string [] files = Directory.GetFiles(from_base); string file; for (int i=0; i