Skip to content

Commit 260603d

Browse files
author
Christopher-Marcel Böddecker
committed
feat(templates): ensure Unity projects have the needed .meta files
1 parent 0897cd7 commit 260603d

File tree

3 files changed

+44
-29
lines changed

3 files changed

+44
-29
lines changed

templates/jobs/ci+cd.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ parameters:
22
solution: '**/*.sln'
33
msBuildPlatform: Any CPU
44
msBuildConfiguration: Release
5+
unityProject: true
56
unityVersion: ''
67

78
jobs:
@@ -15,5 +16,6 @@ jobs:
1516
solution: ${{ parameters.solution }}
1617
msBuildPlatform: ${{ parameters.msBuildPlatform }}
1718
msBuildConfiguration: ${{ parameters.msBuildConfiguration }}
19+
unityProject: ${{ parameters.unityProject }}
1820
unityVersion: ${{ parameters.unityVersion }}
1921
- template: ../steps/cd.yml

templates/jobs/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ parameters:
22
solution: '**/*.sln'
33
msBuildPlatform: Any CPU
44
msBuildConfiguration: Release
5+
unityProject: true
56
unityVersion: ''
67

78
jobs:
@@ -15,4 +16,5 @@ jobs:
1516
solution: ${{ parameters.solution }}
1617
msBuildPlatform: ${{ parameters.msBuildPlatform }}
1718
msBuildConfiguration: ${{ parameters.msBuildConfiguration }}
19+
unityProject: ${{ parameters.unityProject }}
1820
unityVersion: ${{ parameters.unityVersion }}

templates/steps/ci.yml

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,50 @@ parameters:
22
solution: '**/*.sln'
33
msBuildPlatform: Any CPU
44
msBuildConfiguration: Release
5+
unityProject: true
56
unityVersion: ''
67

78
steps:
8-
- powershell: |
9-
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
10-
Install-Module UnitySetup -Scope CurrentUser -Force
11-
displayName: Install Unity Setup Powershell Module
12-
failOnStderr: true
13-
- powershell: |
14-
$version = "${{ parameters.unityVersion }}"
15-
$setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance -Latest
9+
- ${{ if parameters.unityProject }}:
10+
- bash: |
11+
for entry in $(find . -not -path "*/\.*" -not -path . -not -name "*.meta")
12+
do if [ ! -f "$entry.meta" ]
13+
then echo "Missing Unity meta file for '$entry'." >&2
14+
fi
15+
done
16+
displayName: Check if all Unity .meta files exist
17+
failOnStderr: true
18+
- powershell: |
19+
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
20+
Install-Module UnitySetup -Scope CurrentUser -Force
21+
displayName: Install Unity Setup Powershell Module
22+
failOnStderr: true
23+
- powershell: |
24+
$version = "${{ parameters.unityVersion }}"
25+
$setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance -Latest
1626
17-
If ($version -eq "")
18-
{
19-
If (!$setupInstance)
20-
{
21-
Write-Error "No Unity version specified and no Unity installation found."
22-
Exit 1
23-
}
27+
If ($version -eq "")
28+
{
29+
If (!$setupInstance)
30+
{
31+
Write-Error "No Unity version specified and no Unity installation found."
32+
Exit 1
33+
}
2434
25-
Write-Host "Using already installed Unity version '$($setupInstance.Version)'."
26-
}
27-
ElseIf ($setupInstance.Version.ToString() -ne $version)
28-
{
29-
Write-Host "Installing Unity version '$version'."
30-
Install-UnitySetupInstance -Installers (Find-UnitySetupInstaller -Version $version -Components "Windows")
31-
$setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance -Version $version
32-
}
35+
Write-Host "Using already installed Unity version '$($setupInstance.Version)'."
36+
}
37+
ElseIf ($setupInstance.Version.ToString() -ne $version)
38+
{
39+
Write-Host "Installing Unity version '$version'."
40+
Install-UnitySetupInstance -Installers (Find-UnitySetupInstaller -Version $version -Components "Windows")
41+
$setupInstance = Get-UnitySetupInstance | Select-UnitySetupInstance -Version $version
42+
}
3343
34-
$path = $setupInstance.Path
35-
Write-Host "##vso[task.setvariable variable=Unity.Path]$path"
36-
Write-Host "Using Unity at path '$path'."
37-
displayName: Install/find Unity
38-
failOnStderr: true
44+
$path = $setupInstance.Path
45+
Write-Host "##vso[task.setvariable variable=Unity.Path]$path"
46+
Write-Host "Using Unity at path '$path'."
47+
displayName: Install/find Unity
48+
failOnStderr: true
3949
- task: NuGetToolInstaller@0
4050
displayName: Use NuGet 4.x
4151
inputs:
@@ -53,4 +63,5 @@ steps:
5363
configuration: ${{ parameters.msBuildConfiguration }}
5464
maximumCpuCount: true
5565
msbuildArchitecture: x64
56-
msbuildArgs: /p:UnityEditorAssembliesPath="$(Unity.Path)Editor/Data/Managed/"
66+
- ${{ if parameters.unityProject }}:
67+
msbuildArgs: /p:UnityEditorAssembliesPath="$(Unity.Path)Editor/Data/Managed/"

0 commit comments

Comments
 (0)