Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
PackageArchiveTask.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using Microsoft.Build.Framework;
5 using SiliconStudio.Core.Diagnostics;
6 
7 namespace SiliconStudio.Assets
8 {
9  public class PackageArchiveTask : Task
10  {
11  /// <summary>
12  /// Gets or sets the file.
13  /// </summary>
14  /// <value>The file.</value>
15  [Required]
16  public ITaskItem File { get; set; }
17 
18  public override bool Execute()
19  {
20 
21  var result = new LoggerResult();
22  var package = Package.Load(result, File.ItemSpec, new PackageLoadParameters()
23  {
24  AutoCompileProjects = false,
25  LoadAssemblyReferences = false,
26  AutoLoadTemporaryAssets = false,
27  });
28 
29  foreach (var message in result.Messages)
30  {
31  if (message.Type >= LogMessageType.Error)
32  {
33  Log.LogError(message.ToString());
34  }
35  else if (message.Type == LogMessageType.Warning)
36  {
37  Log.LogWarning(message.ToString());
38  }
39  else
40  {
41  Log.LogMessage(message.ToString());
42  }
43  }
44 
45  // If we have errors loading the package, exit
46  if (result.HasErrors)
47  {
48  return false;
49  }
50 
51  Log.LogMessage(MessageImportance.High, "Packaging [{0}] version [{1}]", package.Meta.Name, package.Meta.Version);
52 
53  // Build the package
54  PackageArchive.Build(package);
55  return true;
56  }
57  }
58 }
SiliconStudio.Core.Diagnostics.LoggerResult LoggerResult
System.IO.File File
SiliconStudio.Core.Utilities Utilities
Definition: Texture.cs:29
LogMessageType
Type of a LogMessage.