mirror of
https://github.com/game-ci/unity-builder.git
synced 2025-07-04 12:25:19 -04:00
support multiple licensing products
This commit is contained in:
parent
461ecf7cea
commit
6ca32fc51b
@ -251,6 +251,13 @@ inputs:
|
|||||||
default: ''
|
default: ''
|
||||||
required: false
|
required: false
|
||||||
description: 'The Unity licensing server address to use for activating Unity.'
|
description: 'The Unity licensing server address to use for activating Unity.'
|
||||||
|
unityLicensingProductIds:
|
||||||
|
default: ''
|
||||||
|
required: false
|
||||||
|
description:
|
||||||
|
'Comma separated list of license product identifiers to request licenses for from the license server. Not setting
|
||||||
|
this will request the default license product configured on the licensing server. Only applicable if
|
||||||
|
unityLicensingServer is set.'
|
||||||
dockerWorkspacePath:
|
dockerWorkspacePath:
|
||||||
default: '/github/workspace'
|
default: '/github/workspace'
|
||||||
required: false
|
required: false
|
||||||
|
BIN
dist/index.js
generated
vendored
BIN
dist/index.js
generated
vendored
Binary file not shown.
BIN
dist/index.js.map
generated
vendored
BIN
dist/index.js.map
generated
vendored
Binary file not shown.
@ -3,5 +3,6 @@
|
|||||||
"enableEntitlementLicensing": true,
|
"enableEntitlementLicensing": true,
|
||||||
"enableFloatingApi": true,
|
"enableFloatingApi": true,
|
||||||
"clientConnectTimeoutSec": 5,
|
"clientConnectTimeoutSec": 5,
|
||||||
"clientHandshakeTimeoutSec": 10
|
"clientHandshakeTimeoutSec": 10,
|
||||||
|
"toolset": "%LICENSE_PRODUCT_IDS%"
|
||||||
}
|
}
|
||||||
|
@ -200,6 +200,14 @@ describe('BuildParameters', () => {
|
|||||||
await expect(BuildParameters.create()).rejects.toThrowError();
|
await expect(BuildParameters.create()).rejects.toThrowError();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('returns the unity licensing product ids', async () => {
|
||||||
|
const mockValue = 'license_id_1';
|
||||||
|
jest.spyOn(Input, 'unityLicensingProductIds', 'get').mockReturnValue(mockValue);
|
||||||
|
await expect(BuildParameters.create()).resolves.toEqual(
|
||||||
|
expect.objectContaining({ unityLicensingProductIds: mockValue }),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it('return serial when no license server is provided', async () => {
|
it('return serial when no license server is provided', async () => {
|
||||||
const mockValue = '123';
|
const mockValue = '123';
|
||||||
delete process.env.UNITY_LICENSE; // Need to delete this as it is set for every test currently
|
delete process.env.UNITY_LICENSE; // Need to delete this as it is set for every test currently
|
||||||
|
@ -22,6 +22,7 @@ class BuildParameters {
|
|||||||
public customImage!: string;
|
public customImage!: string;
|
||||||
public unitySerial!: string;
|
public unitySerial!: string;
|
||||||
public unityLicensingServer!: string;
|
public unityLicensingServer!: string;
|
||||||
|
public unityLicensingProductIds!: string;
|
||||||
public skipActivation!: string;
|
public skipActivation!: string;
|
||||||
public runnerTempPath!: string;
|
public runnerTempPath!: string;
|
||||||
public targetPlatform!: string;
|
public targetPlatform!: string;
|
||||||
@ -148,6 +149,7 @@ class BuildParameters {
|
|||||||
customImage: Input.customImage,
|
customImage: Input.customImage,
|
||||||
unitySerial,
|
unitySerial,
|
||||||
unityLicensingServer: Input.unityLicensingServer,
|
unityLicensingServer: Input.unityLicensingServer,
|
||||||
|
unityLicensingProductIds: Input.unityLicensingProductIds,
|
||||||
skipActivation: Input.skipActivation,
|
skipActivation: Input.skipActivation,
|
||||||
runnerTempPath: Input.runnerTempPath,
|
runnerTempPath: Input.runnerTempPath,
|
||||||
targetPlatform: Input.targetPlatform,
|
targetPlatform: Input.targetPlatform,
|
||||||
|
@ -29,6 +29,10 @@ class ImageEnvironmentFactory {
|
|||||||
name: 'UNITY_LICENSING_SERVER',
|
name: 'UNITY_LICENSING_SERVER',
|
||||||
value: parameters.unityLicensingServer,
|
value: parameters.unityLicensingServer,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'UNITY_LICENSING_PRODUCT_IDS',
|
||||||
|
value: parameters.unityLicensingProductIds,
|
||||||
|
},
|
||||||
{ name: 'SKIP_ACTIVATION', value: parameters.skipActivation },
|
{ name: 'SKIP_ACTIVATION', value: parameters.skipActivation },
|
||||||
{ name: 'UNITY_VERSION', value: parameters.editorVersion },
|
{ name: 'UNITY_VERSION', value: parameters.editorVersion },
|
||||||
{
|
{
|
||||||
|
@ -123,6 +123,10 @@ class Input {
|
|||||||
return Input.getInput('unityLicensingServer') ?? '';
|
return Input.getInput('unityLicensingServer') ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static get unityLicensingProductIds(): string {
|
||||||
|
return Input.getInput('unityLicensingProductIds') ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
static get buildMethod(): string {
|
static get buildMethod(): string {
|
||||||
return Input.getInput('buildMethod') ?? ''; // Processed in docker file
|
return Input.getInput('buildMethod') ?? ''; // Processed in docker file
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ class PlatformSetup {
|
|||||||
|
|
||||||
let servicesConfig = fs.readFileSync(servicesConfigPathTemplate).toString();
|
let servicesConfig = fs.readFileSync(servicesConfigPathTemplate).toString();
|
||||||
servicesConfig = servicesConfig.replace('%URL%', buildParameters.unityLicensingServer);
|
servicesConfig = servicesConfig.replace('%URL%', buildParameters.unityLicensingServer);
|
||||||
|
servicesConfig = servicesConfig.replace('%LICENSE_PRODUCT_IDS%', buildParameters.unityLicensingProductIds);
|
||||||
fs.writeFileSync(servicesConfigPath, servicesConfig);
|
fs.writeFileSync(servicesConfigPath, servicesConfig);
|
||||||
|
|
||||||
SetupAndroid.setup(buildParameters);
|
SetupAndroid.setup(buildParameters);
|
||||||
|
@ -168,6 +168,7 @@ class SetupMac {
|
|||||||
process.env.UNITY_VERSION = buildParameters.editorVersion;
|
process.env.UNITY_VERSION = buildParameters.editorVersion;
|
||||||
process.env.UNITY_SERIAL = buildParameters.unitySerial;
|
process.env.UNITY_SERIAL = buildParameters.unitySerial;
|
||||||
process.env.UNITY_LICENSING_SERVER = buildParameters.unityLicensingServer;
|
process.env.UNITY_LICENSING_SERVER = buildParameters.unityLicensingServer;
|
||||||
|
process.env.UNITY_LICENSING_PRODUCT_IDS = buildParameters.unityLicensingProductIds;
|
||||||
process.env.SKIP_ACTIVATION = buildParameters.skipActivation;
|
process.env.SKIP_ACTIVATION = buildParameters.skipActivation;
|
||||||
process.env.PROJECT_PATH = buildParameters.projectPath;
|
process.env.PROJECT_PATH = buildParameters.projectPath;
|
||||||
process.env.BUILD_TARGET = buildParameters.targetPlatform;
|
process.env.BUILD_TARGET = buildParameters.targetPlatform;
|
||||||
|
Loading…
Reference in New Issue
Block a user