Пример #1
0
        private static void SaveProjectFile(ProjectDef projectDef, String directory)
        {
            ProjectFile projectFile = new ProjectFile
            {
                References = projectDef.References.Select(x => x.Key).ToArray(),
                Sources    = new[] { new ProjectSource() }
            };

            using (StreamWriter stream = new StreamWriter(new FileStream(Path.Combine(directory, projectDef.FileName), FileMode.Create, FileAccess.ReadWrite)))
                stream.WriteLine(JsonConvert.SerializeObject(projectFile, Formatting.Indented));
        }
Пример #2
0
        /// <summary>
        /// Saves the Luminary project (its entire content including the *.lux files) into given directory.
        /// </summary>
        /// <param name="projectDef"></param>
        /// <param name="directory"></param>
        public static void Save(ProjectDef projectDef, String directory)
        {
            if (projectDef.FileName == null)
            {
                throw new InvalidOperationException("Built-in projects cannot be exported.");
            }
            if (!Directory.Exists(directory))
            {
                throw new InvalidOperationException("Directory does not exist.");
            }

            SaveProjectFile(projectDef, directory);
            foreach (NamespaceDef namespaceDef in projectDef.Namespaces.Values)
            {
                SaveNamespace(namespaceDef, directory);
            }
        }
Пример #3
0
 public NamespaceDef([NotNull] ProjectDef projectDef, [NotNull] String @namespace)
 {
     Namespace = @namespace;
     Project   = projectDef;
     projectDef.Namespaces.Add(Namespace, this);
 }