Exemplo n.º 1
0
        // Convenience method for packing everything according to
        // PackageExportData objects

        public static void PackageEverything()
        {
            var guids = AssetDatabase.FindAssets("t:PackageExportData");

            if (guids.Length == 0)
            {
                throw new System.Exception("PackageExportData doesn't exist. Create at least one using Uplift -> Create Export Spec.");
            }


            Debug.LogFormat("{0} Package Export Specification(s) found. Preparing for export.", guids.Length);

            for (int i = 0; i < guids.Length; i++)
            {
                string packageExportPath = AssetDatabase.GUIDToAssetPath(guids[i]);
#if UNITY_5_6_OR_NEWER
                PackageExportData packageExportData = AssetDatabase.LoadAssetAtPath <PackageExportData>(packageExportPath);
#else
                PackageExportData packageExportData = (PackageExportData)AssetDatabase.LoadAssetAtPath(packageExportPath, typeof(PackageExportData));
#endif
                Debug.LogFormat("Export {0}/{1} using {2}", i + 1, guids.Length, packageExportPath);

                // Preparing exporter instance
                Exporter exporter = new Exporter();

                // Checking which defaults had been overriden
                packageExportData.SetOrCheckOverridenDefaults(GetDefaultExportData());

                // Setting exporter spec
                exporter.SetExportSpec(packageExportData);

                // Export of set package
                exporter.Export();
            }
        }
Exemplo n.º 2
0
 public void OnEnable()
 {
     packageExportData = (PackageExportData)target;
     if (packageExportData.pathsToExport == null)
     {
         packageExportData.pathsToExport = new string[0];
     }
 }
Exemplo n.º 3
0
        public static PackageExportData GetDefaultExportData()
        {
            PackageExportData defaultExportData = ScriptableObject.CreateInstance <PackageExportData>();

            defaultExportData.packageName    = PlayerSettings.productName;
            defaultExportData.packageVersion = PlayerSettings.bundleVersion;
            defaultExportData.license        = "undefined";

            return(defaultExportData);
        }
Exemplo n.º 4
0
        public void SetOrCheckOverridenDefaults(PackageExportData defaults)
        {
            string[] overridableDefaults = { "packageName", "packageVersion", "license", "targetDir" };

            foreach (var fieldName in overridableDefaults)
            {
                System.Reflection.FieldInfo field = this.GetType().GetField(fieldName);

                // I know those are strings, so...
                var defaultValue = field.GetValue(defaults) as string;
                var currentValue = field.GetValue(this) as string;

                if (string.IsNullOrEmpty(currentValue) && currentValue != defaultValue)
                {
                    Debug.LogFormat("NOTE: using default for Package Export Specification {0}: {1}", fieldName, defaultValue);
                    field.SetValue(this, defaultValue);
                }
            }
        }
Exemplo n.º 5
0
 public void SetExportSpec(PackageExportData exportSpec)
 {
     this.exportSpec = exportSpec;
 }