Example #1
0
 /// <summary>
 /// Create module.
 /// </summary>
 /// <param name="m">Module path.</param>
 /// <param name="s">Source path.</param>
 public static void Create(string m, string s)
 {
     Directory0.Delete(m);
     Source.Load(m, s);
     SetSource(m, new string[] { s });
     SetTarget(m, FindTarget(m));
 }
Example #2
0
        /// <summary>
        /// Load from source Zip.
        /// </summary>
        /// <param name="d">Destination path.</param>
        /// <param name="s">Source path.</param>
        /// <param name="r">Remove source?</param>
        private static void LoadZip(string d, string s, bool r = false)
        {
            var t = File0.Temp();

            Directory0.Create(t);
            ZipFile.ExtractToDirectory(s, t);
            LoadDirectory(d, t, true);
            if (r)
            {
                File.Delete(s);
            }
        }
Example #3
0
        /// <summary>
        /// Find module target.
        /// </summary>
        /// <param name="m">Module path.</param>
        /// <returns>Target path.</returns>
        private static IList <string> FindTarget(string m)
        {
            List <string> mt = new List <string>();

            foreach (var p in new string[] { "*.exe", "*.com", "*.cmd", "*.bat" })
            {
                foreach (var f in Directory0.GetFiles(m, p, true))
                {
                    mt.Add(f);
                }
            }
            return(mt);
        }
Example #4
0
        /// <summary>
        /// Load from source file.
        /// </summary>
        /// <param name="d">Destination path.</param>
        /// <param name="s">Source path.</param>
        /// <param name="r">Remove source?</param>
        private static void LoadFile(string d, string s, bool r = false)
        {
            if (Path.GetExtension(s).ToLower() == ".zip")
            {
                LoadZip(d, s, r); return;
            }
            Directory0.Create(d);
            var f = Path.Combine(d, Path.GetFileName(s));

            if (r)
            {
                File.Move(s, f);
            }
            File.Copy(s, f, true);
        }
Example #5
0
        /// <summary>
        /// Load from source directory.
        /// </summary>
        /// <param name="d">Destination path.</param>
        /// <param name="s">Source path.</param>
        /// <param name="r">Remove source?</param>
        private static void LoadDirectory(string d, string s, bool r = false)
        {
            var t = File0.Temp();

            if (r)
            {
                Directory.Move(s, t);
            }
            else
            {
                Directory0.Copy(s, t, true);
            }
            Directory.Move(Directory0.NonEmpty(t), d);
            Directory0.Delete(Path.Combine(d, ".git"), true);
            Directory0.Delete(t, true);
        }
Example #6
0
 /// <summary>
 /// Destroy module.
 /// </summary>
 /// <param name="m">Module path.</param>
 public static void Destroy(string m)
 {
     Directory0.Delete(m);
     File0.Delete(m + ".source");
     File0.Delete(m + ".target");
 }
Example #7
0
 /// <summary>
 /// Load from Git URL.
 /// </summary>
 /// <param name="d">Destination path.</param>
 /// <param name="s">Source URL.</param>
 private static void LoadGit(string d, string s)
 {
     Shell.Run("git clone --depth=1 " + s + " " + d);
     Directory0.Delete(Path.Combine(d, ".git"), true);
 }