You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/GoogleMobileAds/Editor/BuildPreProcessor.cs

50 lines
1.4 KiB
C#

using System;
using System.IO;
using UnityEditor;
using UnityEngine;
using UnityEditor.Build;
#if UNITY_2018_1_OR_NEWER
using UnityEditor.Build.Reporting;
#endif
using UnityEditor.Callbacks;
using GoogleMobileAds.Editor;
#if UNITY_2018_1_OR_NEWER
public class BuildPreProcessor : IPreprocessBuildWithReport
#else
public class BuildPreProcessor : IPreprocessBuild
#endif
{
public int callbackOrder { get { return 1; } }
#if UNITY_2018_1_OR_NEWER
public void OnPreprocessBuild(BuildReport report)
#else
public void OnPreprocessBuild(BuildTarget target, string path)
#endif
{
if (!AssetDatabase.IsValidFolder("Assets/GoogleMobileAds"))
{
AssetDatabase.CreateFolder("Assets", "GoogleMobileAds");
}
/*
* Handle importing GMA via Unity Package Manager.
*/
EditorPathUtils pathUtils = ScriptableObject.CreateInstance<EditorPathUtils>();
if (pathUtils.IsPackageRootPath())
{
string parentDirectoryPath = pathUtils.GetParentDirectoryAssetPath();
string linkXmlPath = Path.Combine(parentDirectoryPath, "link.xml");
/*
* Copy link.xml to Assets/GoogleMobileAds to ensure all platform dependent libraries
* are included in the build.
*/
AssetDatabase.CopyAsset(linkXmlPath, "Assets/GoogleMobileAds/link.xml");
}
}
}