-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDockerfile.nano
49 lines (43 loc) · 2.91 KB
/
Dockerfile.nano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# escape=`
ARG BASE
FROM mcr.microsoft.com/windows/servercore:$BASE as mother
ARG NCHVERSION
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]
RUN Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force; `
Install-Module navcontainerhelper -MinimumVersion $env:NCHVERSION -MaximumVersion $env:NCHVERSION -Force;
ARG TYPE
ARG COUNTRY
ARG VERSION
RUN Import-Module navcontainerhelper; `
Download-Artifacts -artifactUrl (Get-BCArtifactUrl -type $env:TYPE -country $env:COUNTRY -version $env:VERSION) -includePlatform;
RUN New-Item -Path c:\artifacts -ItemType Directory; `
New-Item -Path c:\bin -ItemType Directory; `
Start-Process "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\Prerequisite` Components\Open` XML` SDK` 2.5` for` Microsoft` Office\OpenXMLSDKv25.msi" "/qn" -PassThru | Wait-Process; `
Copy-Item "C:\Program` Files` `(x86`)\Open` XML` SDK\V2.5\lib" "C:\assemblies\OpenXMLSdk" -Recurse; `
Copy-Item "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\ModernDev\program` files\Microsoft` Dynamics` NAV\*\AL` Development` Environment\ALLanguage.vsix" "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\ALLanguage.zip"; `
Copy-Item "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\ModernDev\program` files\Microsoft` Dynamics` NAV\*\AL` Development` Environment\System.app" "C:\artifacts\System.app"; `
Get-ChildItem -Path "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\$env:COUNTRY" -Filter *.app -Recurse | % { Copy-Item $_.FullName "C:/artifacts/" }; `
Expand-Archive "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\ALLanguage.zip" "C:\alc"; `
Copy-Item "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\LegacyDlls\program` files\Microsoft` Dynamics` NAV\160\RoleTailored` Client" "C:\assemblies\RoleTailoredClient" -Recurse; `
Copy-Item "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\ServiceTier\program` files\Microsoft` Dynamics` NAV\160\Service" "C:\assemblies\Service" -Recurse; `
Copy-Item "C:\bcartifacts.cache\$env:TYPE\$env:VERSION\platform\Test` Assemblies\Mock` Assemblies" "C:\assemblies\MockAssemblies" -Recurse;
FROM mcr.microsoft.com/windows/nanoserver:$BASE
ARG TYPE
ARG COUNTRY
ARG VERSION
COPY --from=mother c:/alc/extension/bin c:/bin
COPY --from=mother C:/artifacts C:/symbols
COPY --from=mother C:/assemblies c:/assemblies
COPY Dummy.ruleset.json c:\dummy.ruleset.json
ENV rulesetfile='c:\dummy.ruleset.json'
CMD c:\bin\win32\alc.exe `
/project:c:\src `
/packagecachepath:c:\symbols `
/out:c:\src\app.app `
/errorlog:c:\src\alc.log `
/loglevel:Error `
/ruleset:%rulesetfile% `
/analyzer:c:\bin\Analyzers\Microsoft.Dynamics.Nav.CodeCop.dll `
/analyzer:c:\bin\Analyzers\Microsoft.Dynamics.Nav.AppSourceCop.dll `
/analyzer:c:\bin\Analyzers\Microsoft.Dynamics.Nav.UICop.dll `
/assemblyprobingpaths:"c:\assemblies\OpenXMLSdk","C:\src\.netpackages","C:\assemblies\RoleTailoredClient","C:\assemblies\Service"