using System.IO;
using UnityEditor;
using UnityEngine;
namespace Guru
{
public class AdjustSignatureHelper
{
private static readonly string AndroidLib = "adjust-android-signature-3.13.1.aar";
private static readonly string iOSLib = "AdjustSigSdk.a";
public static void DeployFiles()
{
var dir = GetParentDir();
var files = $"{dir}/Files";
if (Directory.Exists(files))
{
string from, to;
bool res;
from = $"{files}/{AndroidLib}.f";
to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}";
res = CopyFile(from, to);
if (res) Debug.Log($"Copy {AndroidLib} to {to} success...");
from = $"{files}/{AndroidLib}.f.meta";
to = $"{Application.dataPath}/Plugins/Android/{AndroidLib}.meta";
CopyFile(from, to);
from = $"{files}/{iOSLib}.f";
to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}";
res = CopyFile(from, to);
if (res) Debug.Log($"Copy {iOSLib} to {to} success...");
from = $"{files}/{iOSLib}.f.meta";
to = $"{Application.dataPath}/Plugins/iOS/{iOSLib}.meta";
CopyFile(from, to);
AssetDatabase.Refresh();
}
else
{
Debug.Log($"Files not found: {files}");
}
}
private static string GetParentDir()
{
var guids = AssetDatabase.FindAssets(nameof(AdjustSignatureHelper));
if (guids != null && guids.Length > 0)
{
var path = AssetDatabase.GUIDToAssetPath(guids[0]);
var dir = Directory.GetParent(Path.GetFullPath(path));
return dir.FullName;
}
return Path.GetFullPath($"{Application.dataPath}/../Packages/com.guru.unity.sdk.core/Runtime/GuruAdjust/Editor/Signature");
}
private static bool CopyFile(string source, string dest)
{
if (File.Exists(source))
{
if (!File.Exists(dest))
{
File.Delete(dest);
}
else
{
var destDir = Directory.GetParent(dest);
if(!destDir.Exists) destDir.Create();
}
File.Copy(source, dest, true);
return true;
}
Debug.Log($"File not found: {source}...");
return false;
}
}
}