Skip to content

Commit 644eb53

Browse files
fix semver check
1 parent 463203a commit 644eb53

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/android-sdk.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
ReadFileContents,
1010
ResolveGlobToPath
1111
} from './utilities';
12+
import { satisfies } from 'semver';
1213

1314
const logger = Logger.instance;
1415

@@ -63,7 +64,7 @@ async function createRepositoryCfg(): Promise<void> {
6364
async function getJDKPath(editor: UnityEditor): Promise<string> {
6465
let jdkPath: string | undefined = undefined;
6566

66-
if (editor.version.satisfies('>=2019')) {
67+
if (satisfies(editor.version.version, '>=2019.0.0')) {
6768
logger.info('Using JDK bundled with Unity 2019+');
6869
jdkPath = await ResolveGlobToPath([editor.editorRootPath, '**', 'AndroidPlayer', 'OpenJDK']);
6970

@@ -87,7 +88,7 @@ async function getJDKPath(editor: UnityEditor): Promise<string> {
8788

8889
async function getSdkManager(editor: UnityEditor): Promise<string> {
8990
let globPath: string[] = [];
90-
if (editor.version.satisfies('>=2019')) {
91+
if (satisfies(editor.version.version, '>=2019.0.0')) {
9192
logger.info('Using sdkmanager bundled with Unity 2019+');
9293
switch (process.platform) {
9394
case 'darwin':
@@ -132,14 +133,14 @@ async function getSdkManager(editor: UnityEditor): Promise<string> {
132133
return sdkmanagerPath;
133134
}
134135

135-
async function getAndroidSdkPath(unityEditor: UnityEditor, androidTargetSdk: number): Promise<string | undefined> {
136-
logger.ci(`Attempting to locate Android SDK Path...\n > editorPath: ${unityEditor.editorPath}\n > androidTargetSdk: ${androidTargetSdk}`);
136+
async function getAndroidSdkPath(editor: UnityEditor, androidTargetSdk: number): Promise<string | undefined> {
137+
logger.ci(`Attempting to locate Android SDK Path...\n > editorPath: ${editor.editorPath}\n > androidTargetSdk: ${androidTargetSdk}`);
137138
let sdkPath: string;
138139

139140
// if 2019+ test editor path, else use system android installation
140-
if (unityEditor.version.satisfies('>=2019')) {
141+
if (satisfies(editor.version.version, '>=2019.0.0')) {
141142
try {
142-
sdkPath = await ResolveGlobToPath([unityEditor.editorPath, '**', 'PlaybackEngines', 'AndroidPlayer', 'SDK', 'platforms', `android-${androidTargetSdk}/`]);
143+
sdkPath = await ResolveGlobToPath([editor.editorPath, '**', 'PlaybackEngines', 'AndroidPlayer', 'SDK', 'platforms', `android-${androidTargetSdk}/`]);
143144
} catch (error) {
144145
logger.debug(`android-${androidTargetSdk} not installed`);
145146
return undefined;

src/unity-editor.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,15 @@ export class UnityEditor {
8383
const metadata = JSON.parse(metadataContent);
8484

8585
if (!metadata.productName) {
86-
metadata.productName = `Unity ${this.version.version.toString()}`;
87-
fs.writeFileSync(hubMetaDataPath, JSON.stringify(metadata), { encoding: 'utf-8' });
86+
// projectName must be the first property
87+
const newMetadata: any = {
88+
productName: `Unity ${this.version.version.toString()}`
89+
};
90+
Object.keys(metadata).forEach(key => {
91+
if (key === 'productName') { return; }
92+
newMetadata[key] = metadata[key];
93+
});
94+
fs.writeFileSync(hubMetaDataPath, JSON.stringify(newMetadata), { encoding: 'utf-8' });
8895
}
8996
}
9097
}

0 commit comments

Comments
 (0)