Merge pull request #2903 from krytarowski/netbsd-support-4
[mono.git] / mcs / class / Microsoft.Build.Tasks / Microsoft.Build.Tasks / GenerateManifestBase.cs
1 //
2 // GenerateManifestBase.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
29 using System;
30 using Microsoft.Build.Framework;
31 using Microsoft.Build.Utilities;
32 using Microsoft.Build.Tasks.Deployment.ManifestUtilities;
33
34 namespace Microsoft.Build.Tasks {
35         public abstract class GenerateManifestBase : Task {
36         
37                 string          assemblyName;
38                 string          assemblyVersion;
39                 string          description;
40                 ITaskItem       entryPoint;
41                 ITaskItem       inputManifest;
42                 int             maxTargetPath;
43                 ITaskItem       outputManifest;
44                 string          platform;
45                 string          targetCulture;
46         
47                 protected GenerateManifestBase ()
48                 {
49                 }
50
51                 [MonoTODO]
52                 public override bool Execute ()
53                 {
54                         return false;
55                 }
56                 
57                 [MonoTODO]
58                 protected internal AssemblyReference AddAssemblyFromItem (ITaskItem item)
59                 {
60                         throw new NotImplementedException ();
61                 }
62                 
63                 [MonoTODO]
64                 protected internal AssemblyReference AddAssemblyNameFromItem (ITaskItem item,
65                                                                               AssemblyReferenceType referenceType)
66                 {
67                         throw new NotImplementedException ();
68                 }
69                 
70                 [MonoTODO]
71                 protected internal AssemblyReference AddEntryPointFromItem (ITaskItem item,
72                                                                             AssemblyReferenceType referenceType)
73                 {
74                         throw new NotImplementedException ();
75                 }
76                 
77                 [MonoTODO]
78                 protected internal FileReference AddFileFromItem (ITaskItem item)
79                 {
80                         throw new NotImplementedException ();
81                 }
82                 
83                 [MonoTODO]
84                 protected internal FileReference FindFileFromItem (ITaskItem item)
85                 {
86                         throw new NotImplementedException ();
87                 }
88                 
89                 [MonoTODO]
90                 protected abstract Type GetObjectType ();
91                 
92                 [MonoTODO]
93                 protected abstract bool OnManifestLoaded (Manifest manifest);
94                 
95                 [MonoTODO]
96                 protected abstract bool OnManifestResolved (Manifest manifest);
97                 
98                 [MonoTODO]
99                 protected internal virtual bool ValidateInputs ()
100                 {
101                         throw new NotImplementedException ();
102                 }
103                 
104                 [MonoTODO]
105                 protected internal virtual bool ValidateOutput ()
106                 {
107                         throw new NotImplementedException ();
108                 }
109                 
110                 public string AssemblyName {
111                         get { return assemblyName; }
112                         set { assemblyName = value; }
113                 }
114                 
115                 public string AssemblyVersion {
116                         get { return assemblyVersion; }
117                         set { assemblyVersion = value; }
118                 }
119                 
120                 public string Description {
121                         get { return description; }
122                         set { description = value; }
123                 }
124                 
125                 public ITaskItem EntryPoint {
126                         get { return entryPoint; }
127                         set { entryPoint = value; }
128                 }
129                 
130                 public ITaskItem InputManifest {
131                         get { return inputManifest; }
132                         set { inputManifest = value; }
133                 }
134                 
135                 public int MaxTargetPath {
136                         get { return maxTargetPath; }
137                         set { maxTargetPath = value; }
138                 }
139                 
140                 [Output]
141                 public ITaskItem OutputManifest {
142                         get { return outputManifest; }
143                         set { outputManifest = value; }
144                 }
145                 
146                 public string Platform {
147                         get { return platform; }
148                         set { platform = value; }
149                 }
150                 
151                 public string TargetCulture {
152                         get { return targetCulture; }
153                         set { targetCulture = value; }
154                 }
155         }
156 }
157