-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest.ps1
More file actions
57 lines (48 loc) · 3.04 KB
/
Copy pathtest.ps1
File metadata and controls
57 lines (48 loc) · 3.04 KB
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
50
51
52
53
54
55
56
57
$ErrorActionPreference = "Stop"
pushd $PSScriptRoot
$zeroInstall = "$PSScriptRoot\..\0install.ps1"
function Run-DotNet {
& $zeroInstall run --batch --version 10.0..!10.1 https://apps.0install.net/dotnet/sdk.xml @args
if ($LASTEXITCODE -ne 0) {throw "Exit Code: $LASTEXITCODE"}
}
function Run-Gradle {
if (Get-Command gradle -ErrorAction SilentlyContinue) {
gradle @args
} else {
& $zeroInstall run --batch https://apps.0install.net/java/gradle.xml @args
}
if ($LASTEXITCODE -ne 0) {throw "Exit Code: $LASTEXITCODE"}
}
function Run-Npm {
if (Get-Command npm -ErrorAction SilentlyContinue) {
npm @args
} else {
& $zeroInstall run --batch --command=npm https://apps.0install.net/javascript/node.xml @args
}
if ($LASTEXITCODE -ne 0) {throw "Exit Code: $LASTEXITCODE"}
}
# Unit tests
Run-DotNet test --no-build --logger trx --configuration Release UnitTests\UnitTests.csproj
$cli = "..\artifacts\Release\net10.0\TypedRest.CodeGeneration.Cli.dll"
# JVM smoke test
if (Test-Path SmokeTest.Jvm\generated) {Remove-Item SmokeTest.Jvm\generated -Recurse -Force}
Run-DotNet $cli generate -l java -f UnitTests\sample-v3.yml -o SmokeTest.Jvm\generated\java -s Sample -n net.typedrest.smoketest.java --generate-dtos
Run-DotNet $cli generate -l java -f UnitTests\sample-v3.yml -o SmokeTest.Jvm\generated\java -s Sample -n net.typedrest.smoketest.interfaces.java --generate-dtos --generate-interfaces
Run-DotNet $cli generate -l java -f UnitTests\sample-nested.yml -o SmokeTest.Jvm\generated\java -s NestedSample -n net.typedrest.smoketest.nested.java --generate-dtos
Run-DotNet $cli generate -l java -f UnitTests\sample-nested.yml -o SmokeTest.Jvm\generated\java -s NestedSample -n net.typedrest.smoketest.interfaces.nested.java --generate-dtos --generate-interfaces
Run-DotNet $cli generate -l kotlin -f UnitTests\sample-v3.yml -o SmokeTest.Jvm\generated\kotlin -s Sample -n net.typedrest.smoketest.kotlin --generate-dtos
Run-DotNet $cli generate -l kotlin -f UnitTests\sample-v3.yml -o SmokeTest.Jvm\generated\kotlin -s Sample -n net.typedrest.smoketest.interfaces.kotlin --generate-dtos --generate-interfaces
Run-DotNet $cli generate -l kotlin -f UnitTests\sample-nested.yml -o SmokeTest.Jvm\generated\kotlin -s NestedSample -n net.typedrest.smoketest.nested.kotlin --generate-dtos
Run-DotNet $cli generate -l kotlin -f UnitTests\sample-nested.yml -o SmokeTest.Jvm\generated\kotlin -s NestedSample -n net.typedrest.smoketest.interfaces.nested.kotlin --generate-dtos --generate-interfaces
pushd SmokeTest.Jvm
Run-Gradle --quiet --no-daemon compileKotlin compileJava
popd
# TypeScript smoke test
if (Test-Path SmokeTest.TypeScript\generated) {Remove-Item SmokeTest.TypeScript\generated -Recurse -Force}
Run-DotNet $cli generate -l typescript -f UnitTests\sample-v3.yml -o SmokeTest.TypeScript\generated\sample -s Sample --generate-dtos
Run-DotNet $cli generate -l typescript -f UnitTests\sample-nested.yml -o SmokeTest.TypeScript\generated\nested-sample -s NestedSample --generate-dtos
pushd SmokeTest.TypeScript
Run-Npm ci
Run-Npm run check
popd
popd