Skip to content

Commit cbcb21c

Browse files
benwulfeGerrit Code Review
authored andcommitted
Merge "Fix VersionHandler by removing deprecated targets This fixes support with Unity 5.5."
2 parents 50b6ab6 + fb35523 commit cbcb21c

21 files changed

+71
-31
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ project.ext {
130130
buildPath = file('build').absolutePath
131131
exportPath = file('build/plugin.unitypackage').absolutePath
132132
dllDir = 'Assets/PlayServicesResolver/Editor'
133-
pluginVersion = '1.2.1.0'
133+
pluginVersion = '1.2.2.0'
134134
currentPluginPath = file('.').absolutePath
135135
currentPluginBasename = 'play-services-resolver'
136136
currentPluginName = (currentPluginBasename + '-' + pluginVersion +

exploded/Assets/PlayServicesResolver/Editor.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exploded/Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.1.0.dll.meta renamed to exploded/Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.2.0.dll.meta

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exploded/Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.1.0.dll.meta renamed to exploded/Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.2.0.dll.meta

Lines changed: 2 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.
Binary file not shown.

exploded/Assets/PlayServicesResolver/Editor/Google.VersionHandler_v1.2.1.0.dll.meta renamed to exploded/Assets/PlayServicesResolver/Editor/Google.VersionHandler_v1.2.2.0.dll.meta

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exploded/Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.1.0.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Assets/PlayServicesResolver/Editor/Google.IOSResolver_v1.2.2.0.dll
2+
Assets/PlayServicesResolver/Editor/Google.JarResolver_v1.2.2.0.dll
3+
Assets/PlayServicesResolver/Editor/Google.VersionHandler_v1.2.2.0.dll

exploded/Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.1.0.txt.meta renamed to exploded/Assets/PlayServicesResolver/Editor/play-services-resolver_v1.2.2.0.txt.meta

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
-42.2 KB
Binary file not shown.
42.5 KB
Binary file not shown.

plugin/Assets/PlayServicesResolver.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin/Assets/PlayServicesResolver/Editor.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin/Assets/PlayServicesResolver/Editor/Google.IOSResolver.dll.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin/Assets/PlayServicesResolver/Editor/Google.JarResolver.dll.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin/Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugin/Assets/PlayServicesResolver/Editor/play-services-resolver.txt.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/VersionHandler/src/VersionHandler.cs

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// <copyright file="VersionHandler.cs" company="Google Inc.">
1+
// <copyright file="VersionHandler.cs" company="Google Inc.">
22
// Copyright (C) 2016 Google Inc. All Rights Reserved.
33
//
44
// Licensed under the Apache License, Version 2.0 (the "License");
@@ -80,6 +80,8 @@ public FilenameComponents(string filename) {
8080
private static long VERSION_COMPONENT_MULTIPLIER = 1000;
8181
// Prefix for labels which encode metadata of an asset.
8282
private static string LABEL_PREFIX = "gvh_";
83+
// Initialized depending on the version of unity we are running against
84+
private static HashSet<BuildTarget> targetBlackList = null;
8385

8486
/// <summary>
8587
/// Label which flags whether an asset is should be managed by this
@@ -113,6 +115,40 @@ static public Dictionary<string, BuildTarget>
113115
{"tvos", BuildTarget.tvOS},
114116
};
115117

118+
// Returns the major/minor version of the unity environment we are running in
119+
// as a float so it can be compared numerically.
120+
static float GetUnityVersionMajorMinor() {
121+
float result = 5.4f;
122+
string version = Application.unityVersion;
123+
if (!string.IsNullOrEmpty(version)) {
124+
int dotIndex = version.IndexOf('.');
125+
if (dotIndex > 0 && version.Length > dotIndex + 1) {
126+
if (!float.TryParse(version.Substring(0, dotIndex + 2), out result)) {
127+
result = 5.4f;
128+
}
129+
}
130+
}
131+
return result;
132+
}
133+
134+
// Returns a hashset containing blacklisted build targets for the current
135+
// unity environment.
136+
static HashSet<BuildTarget> GetBlackList() {
137+
if (targetBlackList == null) {
138+
targetBlackList = new HashSet<BuildTarget>();
139+
if (GetUnityVersionMajorMinor() >= 5.5) {
140+
targetBlackList.Add(BuildTarget.PS3);
141+
targetBlackList.Add(BuildTarget.XBOX360);
142+
}
143+
}
144+
return targetBlackList;
145+
}
146+
147+
// Returns true if the given target is supported by the current environment.
148+
internal static bool IsTargetSupportedByUnity(BuildTarget target) {
149+
return !GetBlackList().Contains(target);
150+
}
151+
116152
/// <summary>
117153
/// Name of the file use to construct this object.
118154
/// </summary>
@@ -542,13 +578,21 @@ public bool EnableMostRecentPlugins() {
542578
}
543579
foreach (BuildTarget target in
544580
FileMetadata.BUILD_TARGET_NAME_TO_ENUM.Values) {
545-
bool enabled = selectedTargets != null &&
546-
selectedTargets.Contains(target);
547-
if (pluginImporter.GetCompatibleWithPlatform(target) !=
548-
enabled) {
549-
pluginImporter.SetCompatibleWithPlatform(
550-
target, enabled);
551-
modifiedThisVersion = true;
581+
if (FileMetadata.IsTargetSupportedByUnity(target)) {
582+
bool enabled = selectedTargets != null &&
583+
selectedTargets.Contains(target);
584+
try {
585+
if (pluginImporter.GetCompatibleWithPlatform(target) !=
586+
enabled) {
587+
pluginImporter.SetCompatibleWithPlatform(
588+
target, enabled);
589+
modifiedThisVersion = true;
590+
}
591+
}
592+
catch(Exception e) {
593+
UnityEngine.Debug.LogWarning(
594+
"Unexpected error enumerating targets: " + e.Message);
595+
}
552596
}
553597
}
554598
if (modifiedThisVersion) {

0 commit comments

Comments
 (0)