Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 548c4fd

Browse files
Adding a field in Environment to locate Unity's content's path
1 parent f8f1bfc commit 548c4fd

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

src/GitHub.Api/Application/ApplicationManagerBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ public ITask InitializeRepository()
8989
var targetPath = NPath.CurrentDirectory;
9090

9191
var unityYamlMergeExec = Environment.IsWindows
92-
? Environment.UnityApplication.Parent.Combine("Data", "Tools", "UnityYAMLMerge.exe")
93-
: Environment.UnityApplication.Combine("Contents", "Tools", "UnityYAMLMerge");
92+
? Environment.UnityApplicationContents.Parent.Combine("Tools", "UnityYAMLMerge.exe")
93+
: Environment.UnityApplicationContents.Combine("Tools", "UnityYAMLMerge");
9494

9595
var yamlMergeCommand = Environment.IsWindows
9696
? $@"'{unityYamlMergeExec}' merge -p ""$BASE"" ""$REMOTE"" ""$LOCAL"" ""$MERGED"""

src/GitHub.Api/Platform/DefaultEnvironment.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@ public DefaultEnvironment(ICacheContainer cacheContainer)
4242
this.CacheContainer = cacheContainer;
4343
}
4444

45-
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath assetsPath)
45+
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityApplicationPath, NPath unityApplicationContentsPath, NPath assetsPath)
4646
{
4747
ExtensionInstallPath = extensionInstallPath;
48-
UnityApplication = unityPath;
48+
UnityApplication = unityApplicationPath;
49+
UnityApplicationContents = unityApplicationContentsPath;
4950
UnityAssetsPath = assetsPath;
5051
UnityProjectPath = assetsPath.Parent;
5152
UnityVersion = unityVersion;
@@ -109,6 +110,7 @@ public string GetEnvironmentVariable(string variable)
109110
public IFileSystem FileSystem { get { return NPath.FileSystem; } set { NPath.FileSystem = value; } }
110111
public string UnityVersion { get; set; }
111112
public NPath UnityApplication { get; set; }
113+
public NPath UnityApplicationContents { get; set; }
112114
public NPath UnityAssetsPath { get; set; }
113115
public NPath UnityProjectPath { get; set; }
114116
public NPath ExtensionInstallPath { get; set; }
@@ -141,8 +143,8 @@ public NPath NodeJsExecutablePath
141143
if (!nodeJsExecutablePath.IsInitialized)
142144
{
143145
nodeJsExecutablePath = IsWindows
144-
? UnityApplication.Parent.Combine("Data", "Tools", "nodejs", "node.exe")
145-
: UnityApplication.Combine("Contents", "Tools", "nodejs", "node");
146+
? UnityApplicationContents.Parent.Combine("Tools", "nodejs", "node.exe")
147+
: UnityApplicationContents.Combine("Tools", "nodejs", "node");
146148
}
147149

148150
return nodeJsExecutablePath;

src/GitHub.Api/Platform/IEnvironment.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace GitHub.Unity
44
{
55
public interface IEnvironment
66
{
7-
void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath assetsPath);
7+
void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityApplicationPath, NPath unityApplicationContentsPath, NPath assetsPath);
88
void InitializeRepository(NPath? expectedRepositoryPath = null);
99
string ExpandEnvironmentVariables(string name);
1010
string GetEnvironmentVariable(string v);
@@ -20,6 +20,7 @@ public interface IEnvironment
2020
bool IsMac { get; }
2121
string UnityVersion { get; }
2222
NPath UnityApplication { get; }
23+
NPath UnityApplicationContents { get; }
2324
NPath UnityAssetsPath { get; }
2425
NPath UnityProjectPath { get; }
2526
NPath ExtensionInstallPath { get; }

src/UnityExtension/Assets/Editor/GitHub.Unity/ApplicationCache.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,15 @@ sealed class EnvironmentCache : ScriptObjectSingleton<EnvironmentCache>
8181
[SerializeField] private string extensionInstallPath;
8282
[SerializeField] private string repositoryPath;
8383
[SerializeField] private string unityApplication;
84+
[SerializeField] private string unityApplicationContents;
8485
[SerializeField] private string unityAssetsPath;
8586
[SerializeField] private string unityVersion;
8687

8788
public void Flush()
8889
{
8990
repositoryPath = Environment.RepositoryPath;
9091
unityApplication = Environment.UnityApplication;
92+
unityApplicationContents = Environment.UnityApplicationContents;
9193
unityAssetsPath = Environment.UnityAssetsPath;
9294
extensionInstallPath = Environment.ExtensionInstallPath;
9395
Save(true);
@@ -114,11 +116,12 @@ public IEnvironment Environment
114116
{
115117
unityAssetsPath = Application.dataPath;
116118
unityApplication = EditorApplication.applicationPath;
119+
unityApplicationContents = EditorApplication.applicationContentsPath;
117120
extensionInstallPath = DetermineInstallationPath();
118121
unityVersion = Application.unityVersion;
119122
}
120123
environment.Initialize(unityVersion, extensionInstallPath.ToNPath(), unityApplication.ToNPath(),
121-
unityAssetsPath.ToNPath());
124+
unityApplicationContents.ToNPath(), unityAssetsPath.ToNPath());
122125
NPath? path = null;
123126
if (!String.IsNullOrEmpty(repositoryPath))
124127
path = repositoryPath.ToNPath();

src/tests/IntegrationTests/IntegrationTestEnvironment.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public IntegrationTestEnvironment(ICacheContainer cacheContainer,
3333

3434
var installPath = solutionDirectory.Parent.Parent.Combine("src", "GitHub.Api");
3535

36-
Initialize(UnityVersion, installPath, solutionDirectory, repoPath.Combine("Assets"));
36+
Initialize(UnityVersion, installPath, solutionDirectory, NPath.Default, repoPath.Combine("Assets"));
3737

3838
if (initializeRepository)
3939
InitializeRepository();
@@ -47,9 +47,9 @@ public IntegrationTestEnvironment(ICacheContainer cacheContainer,
4747
}
4848
}
4949

50-
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath assetsPath)
50+
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath unityContentsPath, NPath assetsPath)
5151
{
52-
defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityPath, assetsPath);
52+
defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityPath, unityContentsPath, assetsPath);
5353
}
5454

5555
public void InitializeRepository(NPath? expectedPath = null)
@@ -114,6 +114,8 @@ public NPath GitExecutablePath
114114

115115
public NPath UnityApplication => defaultEnvironment.UnityApplication;
116116

117+
public NPath UnityApplicationContents => defaultEnvironment.UnityApplicationContents;
118+
117119
public NPath UnityAssetsPath => defaultEnvironment.UnityAssetsPath;
118120

119121
public NPath UnityProjectPath => defaultEnvironment.UnityProjectPath;

0 commit comments

Comments
 (0)