Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="project"></param>
        /// <param name="modifier"></param>
        /// <param name="target"></param>
        /// <param name="type"></param>
        private static void WriteTarget(BSharpProject project, string modifier, string target, BSharpBuilderTargetType type)
        {
            switch (modifier)
            {
            case "n": project.Targets.Namespaces.AppendTarget(target, type); break;

            case "c": project.Targets.Classes.AppendTarget(target, type); break;

            case "p": project.Targets.Paths.AppendTarget(target, type); break;
            }
        }
Example #2
0
        private static IBSharpProject SingleFileProject(string resolvePath, IDictionary <string, string> adict, IUserLog log, BSharpBuilder builder)
        {
            var result = new BSharpProject {
                IsFullyQualifiedProject = true, Log = log
            };

            result.RootDirectory = Path.GetDirectoryName(resolvePath);
            result.Targets.Paths[resolvePath] = BSharpBuilderTargetType.Include;
            if (adict.ContainsKey("cls"))
            {
                result.Targets.Classes[adict["cls"]] = BSharpBuilderTargetType.Include;
            }
            return(result);
        }
Example #3
0
	    private static IBSharpProject SetupProject(IDictionary<string, string> adict, IUserLog log, BSharpBuilder builder) {
		    var project = new BSharpProject {IsFullyQualifiedProject = true};
		    project.IsFullyQualifiedProject = true;
            
            if (adict.ContainsKey("project")) {
	            project.ProjectName = adict["project"];
	            project.IsFullyQualifiedProject = false;
            }else if (adict.ContainsKey("arg1")) {
				project.ProjectName = adict["arg1"];
				project.IsFullyQualifiedProject = false;
            }


            if (!project.OutputAttributes.HasFlag(BSharpBuilderOutputAttributes.IncludeWork)) {
                if (!adict.ContainsKey("noIncludeWork")) {
                    project.OutputAttributes |= BSharpBuilderOutputAttributes.IncludeWork;
                }
            }

            if (adict.ContainsKey("out-layout")) {
                project.OutputAttributes = adict["out-layout"].To<BSharpBuilderOutputAttributes>();
            }

		    if (adict.ContainsKey("out")) {
			    project.MainOutputDirectory = adict["out"];
		    }
            
            if (adict.ContainsKey("log")) {
                project.LogOutputDirectory = adict["log"];
            }
		    
            if (adict.ContainsKey("extension")) {
			    project.OutputExtension = adict["extension"];
		    }

		    if (adict.ContainsKey("root")) {
			    project.RootDirectory = adict["root"];
		    }
            if (adict.ContainsKey("dot"))
            {
                project.GenerateGraph = adict["dot"].ToBool();
            }

            if (adict.ContainsKey("include")) {
                project.Targets.Paths.RemoveTarget("*");
                var parsed = ParseKeyValueEnumeration(adict["include"], ',', ':');
                foreach (var el in parsed) {
                    Console.WriteLine("Include: <" +el.Key+ "," + el.Value+">");
                    WriteTarget(project, el.Key, el.Value, BSharpBuilderTargetType.Include);
                }
            }

            if (adict.ContainsKey("exclude")) {
                var parsed = ParseKeyValueEnumeration(adict["exclude"], ',', ':');
                foreach (var el in parsed) {
                    Console.WriteLine("Exclude: <" + el.Key + "," + el.Value + ">");
                    WriteTarget(project, el.Key, el.Value, BSharpBuilderTargetType.Exclude);
                }
            }

		    project.Log = log;
			foreach (var c in adict) {
				if (c.Key.StartsWith("set-")) {
					project.Conditions[c.Key.Substring(4)] = c.Value;
					log.Info("set option " + c.Key.Substring(4) + " = " + c.Value);
				}
			}

			log.Info("root dir = " + project.GetRootDirectory());
			log.Info("out dir = " + project.GetOutputDirectory());
			log.Info("log dir = " + project.GetLogDirectory());

		    return project;
	    }
Example #4
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="project"></param>
 /// <param name="modifier"></param>
 /// <param name="target"></param>
 /// <param name="type"></param>
 private static void WriteTarget(BSharpProject project, string modifier, string target, BSharpBuilderTargetType type) {
     switch (modifier) {
         case "n": project.Targets.Namespaces.AppendTarget(target, type); break;
         case "c": project.Targets.Classes.AppendTarget(target, type); break;
         case "p": project.Targets.Paths.AppendTarget(target, type); break;
     }
 }
Example #5
0
        private static IBSharpProject SetupProject(IDictionary <string, string> adict, IUserLog log, BSharpBuilder builder)
        {
            var project = new BSharpProject {
                IsFullyQualifiedProject = true
            };

            project.IsFullyQualifiedProject = true;
            var filename = adict.resolvestr("arg1");

            if (!string.IsNullOrWhiteSpace(filename) && filename.Contains("."))
            {
                //direct file
                log.Info("Single file compiled");
                project = (BSharpProject)SingleFileProject(EnvironmentInfo.ResolvePath(filename), adict, log, builder);
            }
            else
            {
                if (adict.ContainsKey("project"))
                {
                    project.ProjectName             = adict["project"];
                    project.IsFullyQualifiedProject = false;
                }
                else if (adict.ContainsKey("arg1"))
                {
                    project.ProjectName             = adict["arg1"];
                    project.IsFullyQualifiedProject = false;
                }
            }


            if (!project.OutputAttributes.HasFlag(BSharpBuilderOutputAttributes.IncludeWork))
            {
                if (!adict.ContainsKey("noIncludeWork"))
                {
                    project.OutputAttributes |= BSharpBuilderOutputAttributes.IncludeWork;
                }
            }

            if (adict.ContainsKey("out-layout"))
            {
                project.OutputAttributes = adict["out-layout"].To <BSharpBuilderOutputAttributes>();
            }



            if (adict.ContainsKey("compile-extensions"))
            {
                project.DoCompileExtensions = adict["compile-extensions"].ToBool();
            }

            if (adict.ContainsKey("out"))
            {
                project.MainOutputDirectory = adict["out"];
            }

            if (adict.ContainsKey("log"))
            {
                project.LogOutputDirectory = adict["log"];
            }

            if (adict.ContainsKey("extension"))
            {
                project.OutputExtension = adict["extension"];
            }

            if (adict.ContainsKey("root"))
            {
                project.RootDirectory = adict["root"];
            }
            if (adict.ContainsKey("dot"))
            {
                project.GenerateGraph = adict["dot"].ToBool();
            }

            if (adict.ContainsKey("include"))
            {
                project.Targets.Paths.RemoveTarget("*");
                var parsed = ParseKeyValueEnumeration(adict["include"], ',', ':');
                foreach (var el in parsed)
                {
                    Console.WriteLine("Include: <" + el.Key + "," + el.Value + ">");
                    WriteTarget(project, el.Key, el.Value, BSharpBuilderTargetType.Include);
                }
            }

            if (adict.ContainsKey("exclude"))
            {
                var parsed = ParseKeyValueEnumeration(adict["exclude"], ',', ':');
                foreach (var el in parsed)
                {
                    Console.WriteLine("Exclude: <" + el.Key + "," + el.Value + ">");
                    WriteTarget(project, el.Key, el.Value, BSharpBuilderTargetType.Exclude);
                }
            }

            project.Log = log;
            foreach (var c in adict)
            {
                if (c.Key.StartsWith("set-"))
                {
                    project.Conditions[c.Key.Substring(4)] = c.Value;
                    log.Info("set option " + c.Key.Substring(4) + " = " + c.Value);
                }
            }

            log.Info("root dir = " + project.GetRootDirectory());
            log.Info("out dir = " + project.GetOutputDirectory());
            log.Info("log dir = " + project.GetLogDirectory());

            return(project);
        }