in build.cake [138:174]
private bool AddFilesFromSpec(string specFilePath)
{
var needsCore = Statics.Context.XmlPeek(specFilePath, "package/@needsCore") == "true";
if (needsCore)
{
var specFileDirectory = Path.GetDirectoryName(specFilePath);
if (!AddFilesFromSpec(specFileDirectory + "/AppCenter.unitypackagespec"))
{
return false;
}
}
_packageName = Statics.Context.XmlPeek(specFilePath, "package/@name");
_packageVersion = Statics.Context.XmlPeek(specFilePath, "package/@version");
if (_packageName == null || _packageVersion == null)
{
Statics.Context.Error("Invalid format for UnityPackageSpec file '" + specFilePath + "': missing package name or version");
return false;
}
var xpathPrefix = "/package/include/file[";
var xpathSuffix= "]/@path";
var lastPath = Statics.Context.XmlPeek(specFilePath, xpathPrefix + "last()" + xpathSuffix);
var currentIdx = 1;
var currentPath = Statics.Context.XmlPeek(specFilePath, xpathPrefix + currentIdx++ + xpathSuffix);
if (currentPath != null)
{
_includePaths.Add(currentPath);
}
while (currentPath != lastPath)
{
currentPath = Statics.Context.XmlPeek(specFilePath, xpathPrefix + currentIdx++ + xpathSuffix);
_includePaths.Add(currentPath);
}
return true;
}