xamarin-macios/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/GenerateBundleNameTaskBase.cs

46 строки
870 B
C#

using System;
using System.Text;
using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;
namespace Xamarin.MacDev.Tasks
{
public abstract class GenerateBundleNameTaskBase : Task
{
public string SessionId { get; set; }
[Required]
public string ProjectName { get; set; }
[Output]
public string BundleName { get; set; }
static string SanitizeName (string name)
{
var sb = new StringBuilder (name.Length);
foreach (var c in name) {
if (char.IsLetterOrDigit (c) || c == '_')
sb.Append (c);
}
return sb.ToString ();
}
public override bool Execute ()
{
if (string.IsNullOrEmpty (ProjectName)) {
Log.LogError (" AssemblyPath cannot be null or empty");
return false;
}
BundleName = SanitizeName (ProjectName);
Log.LogMessage ("Generated bundle name: {0}", BundleName);
return true;
}
}
}