* Utilities.cs: New.
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / SGen.cs
1 //
2 // SGen.cs
3 //
4 // Author:
5 //   Marek Sieradzki (marek.sieradzki@gmail.com)
6 //
7 // (C) 2006 Marek Sieradzki
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
28 #if NET_2_0
29
30 using System;
31 using Microsoft.Build.Framework; 
32 using Microsoft.Build.Tasks;
33
34 namespace Microsoft.Build.Tasks {
35         public class SGen : ToolTaskExtension {
36         
37                 string buildAssemblyName;
38                 string buildAssemblyPath;
39                 bool delaySign;
40                 string keyContainer;
41                 string keyFile;
42                 string [] references;
43                 ITaskItem [] serializationAssembly;
44                 string serializationAssemblyName;
45                 bool shouldGenerateSerializer;
46                 bool useProxyTypes;
47
48                 public SGen ()
49                 {
50                 }
51
52                 [MonoTODO]
53                 [Required]
54                 public string BuildAssemblyName {
55                         get { return buildAssemblyName; }
56                         set { buildAssemblyName = value; }
57                 }
58
59                 [MonoTODO]
60                 [Required]
61                 public string BuildAssemblyPath {
62                         get { return buildAssemblyPath; }
63                         set { buildAssemblyPath = value; }
64                 }
65
66                 [MonoTODO]
67                 public bool DelaySign {
68                         get { return delaySign; }
69                         set { delaySign = value; }
70                 }
71
72                 [MonoTODO]
73                 public string KeyContainer {
74                         get { return keyContainer; }
75                         set { keyContainer = value; }
76                 }
77
78                 [MonoTODO]
79                 public string KeyFile {
80                         get { return keyFile; }
81                         set { keyFile = value; }
82                 }
83
84                 [MonoTODO]
85                 public string [] References {
86                         get { return references; }
87                         set { references = value; }
88                 }
89
90                 [MonoTODO]
91                 [Output]
92                 public ITaskItem [] SerializationAssembly {
93                         get { return serializationAssembly; }
94                         set { serializationAssembly = value; }
95                 }
96
97                 [MonoTODO]
98                 public string SerializationAssemblyName {
99                         get { return serializationAssemblyName; }
100                 }
101
102                 [MonoTODO]
103                 [Required]
104                 public bool ShouldGenerateSerializer {
105                         get { return shouldGenerateSerializer; }
106                         set { shouldGenerateSerializer = value; }
107                 }
108
109                 [MonoTODO]
110                 [Required]
111                 public bool UseProxyTypes {
112                         get { return useProxyTypes; }
113                         set { useProxyTypes = value; }
114                 }
115
116                 [MonoTODO]
117                 protected override string ToolName {
118                         get { return Utilities.RunningOnWindows ? "sgen.bat" : "sgen"; }
119                 }
120
121                 [MonoTODO]
122                 protected override string GenerateCommandLineCommands ()
123                 {
124                         throw new NotImplementedException ();
125                 }
126
127                 [MonoTODO]
128                 protected override string GenerateFullPathToTool ()
129                 {
130                         throw new NotImplementedException ();
131                 }
132
133                 [MonoTODO]
134                 protected override bool SkipTaskExecution ()
135                 {
136                         throw new NotImplementedException ();
137                 }
138
139                 [MonoTODO]
140                 protected override bool ValidateParameters ()
141                 {
142                         throw new NotImplementedException ();
143                 }
144         }
145 }
146
147 #endif