34
35
/// External language bindings may choose to extend this class.
35
36
/// It makes things a bit easier.
37
public abstract class AbstractProjectConfiguration : AbstractConfiguration
38
public abstract class ProjectConfiguration : SolutionItemConfiguration
39
[ProjectPathItemProperty ("Output/directory")]
40
[ProjectPathItemProperty ("OutputPath")]
40
41
string directory = "." + Path.DirectorySeparatorChar.ToString();
42
[ProjectPathItemProperty ("Build/executeBeforeBuild", DefaultValue = "")]
43
[ProjectPathItemProperty ("ExecuteBeforeBuild", DefaultValue = "")]
43
44
string executeBeforeBuild = String.Empty;
45
[ProjectPathItemProperty ("Build/executeAfterBuild", DefaultValue = "")]
46
[ProjectPathItemProperty ("ExecuteAfterBuild", DefaultValue = "")]
46
47
string executeAfterBuild = String.Empty;
48
[ItemProperty ("Build/debugmode")]
49
bool debugmode = true;
49
[ItemProperty ("DebugSymbols", DefaultValue=false)]
51
[ItemProperty ("Output/signAssembly", DefaultValue = false)]
52
[ItemProperty ("SignAssembly", DefaultValue = false)]
52
53
bool signAssembly = false;
54
[ProjectPathItemProperty ("Output/assemblyKeyFile")]
55
[ProjectPathItemProperty ("AssemblyKeyFile")]
55
56
string assemblyKeyFile = String.Empty;
57
[ProjectPathItemProperty ("Execution/executeScript", DefaultValue = "")]
58
[ProjectPathItemProperty ("ExecuteScript", DefaultValue = "")]
58
59
string executeScript = String.Empty;
60
[ItemProperty ("Execution/runwithwarnings")]
61
protected bool runWithWarnings = true;
63
[ItemProperty ("Execution/commandlineparameters", DefaultValue = "")]
64
public string commandLineParameters = String.Empty;
66
[ItemProperty ("Execution/externalconsole", DefaultValue=false)]
67
public bool externalConsole = false;
69
[ItemProperty ("Execution/consolepause")]
70
public bool pauseconsoleoutput = true;
72
public AbstractProjectConfiguration()
61
[ItemProperty ("RunWithWarnings", DefaultValue=true)]
62
bool runWithWarnings = true;
64
[ItemProperty ("Commandlineparameters", DefaultValue = "")]
65
string commandLineParameters = String.Empty;
67
[ItemProperty ("Externalconsole", DefaultValue=false)]
68
bool externalConsole = false;
70
[ItemProperty ("ConsolePause", DefaultValue=true)]
71
bool pauseconsoleoutput = true;
73
[ItemProperty ("EnvironmentVariables")]
74
[ItemProperty ("Variable", Scope="item")]
75
[ItemProperty ("name", Scope="key")]
76
[ItemProperty ("value", Scope="value")]
77
Dictionary<string,string> envVars;
79
public ProjectConfiguration ()
83
public ProjectConfiguration (string name): base (name)
112
123
get { return signAssembly; }
113
124
set { signAssembly = value; }
115
127
public string AssemblyKeyFile {
116
128
get { return assemblyKeyFile; }
117
129
set { assemblyKeyFile = value; }
121
public override void CopyFrom (IConfiguration configuration)
132
public Dictionary<string,string> EnvironmentVariables {
135
envVars = new Dictionary<string,string> ();
141
public override void CopyFrom (ItemConfiguration configuration)
123
143
base.CopyFrom (configuration);
124
AbstractProjectConfiguration conf = (AbstractProjectConfiguration) configuration;
144
ProjectConfiguration conf = (ProjectConfiguration) configuration;
126
146
directory = conf.directory;
127
147
executeScript = conf.executeScript;