mirror of
https://github.com/microsoft/WSL.git
synced 2026-05-31 16:13:47 -05:00
WSLC is a container runtime built on the Windows Subsystem for Linux, enabling Windows applications to create and manage Linux containers through a native Windows API surface. Key components: - wslc.exe: CLI for managing containers, images, volumes, and networks (build, run, stop, inspect, push/pull from registries) - wslcsession.exe: Per-user Windows service hosting container lifecycle, storage management, and networking - WSLC SDK: C++ and C# client libraries with NuGet packaging for programmatic container management - Container networking: port forwarding, DNS tunneling, virtio networking, and HCN integration - Storage: VHD-backed volumes, virtiofs file sharing, overlayfs layers - GPU passthrough and device host proxy support Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com> Co-authored-by: 1wizkid <richard.fricks@hotmail.com> Co-authored-by: AmirMS <104940545+AmelBawa-msft@users.noreply.github.com> Co-authored-by: beena352 <beenachauhan@microsoft.com> Co-authored-by: Blue <OneBlue@users.noreply.github.com> Co-authored-by: Craig Loewen <crloewen@microsoft.com> Co-authored-by: Darshak Bhatti <47045043+dabhattimsft@users.noreply.github.com> Co-authored-by: David Bennett <dbenne@microsoft.com> Co-authored-by: Feng Wang <wang6922@outlook.com> Co-authored-by: Flor Chacon <14323496+florelis@users.noreply.github.com> Co-authored-by: John Stephens <johnstep@microsoft.com> Co-authored-by: JohnMcPMS <johnmcp@microsoft.com> Co-authored-by: Kevin Vega <40717198+kvega005@users.noreply.github.com> Co-authored-by: Pooja Trivedi <poojatrivedi@gmail.com> Co-authored-by: ramesh-ramn <raman.ramesh@gmail.com> Co-authored-by: Richard Fricks <richfr@microsoft.com> Co-authored-by: yao-msft <50888816+yao-msft@users.noreply.github.com>
35 lines
1.3 KiB
PowerShell
35 lines
1.3 KiB
PowerShell
<#
|
|
.SYNOPSIS
|
|
Helper to pack WSL test data nuget.
|
|
.PARAMETER InputDirectory
|
|
Directory containing arch-specific subdirectories (x64, arm64) with test data.
|
|
.PARAMETER Version
|
|
Nuget package version.
|
|
.PARAMETER OutputDirectory
|
|
Directory to place the packaged nuget file. Default to current working directory.
|
|
#>
|
|
|
|
[CmdletBinding(PositionalBinding=$False, DefaultParameterSetName='vm')]
|
|
param (
|
|
[Parameter(Mandatory = $true)][string]$InputDirectory,
|
|
[Parameter(Mandatory = $true)][string]$Version,
|
|
[string]$OutputDirectory = $PWD.Path
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
Set-StrictMode -Version Latest
|
|
|
|
if (-not (Test-Path -Path $InputDirectory -PathType Container)) {
|
|
throw("The path '$InputDirectory' is not an existing directory.")
|
|
}
|
|
|
|
$hasArch = (Test-Path "$InputDirectory\x64") -or (Test-Path "$InputDirectory\arm64")
|
|
if (-not $hasArch) {
|
|
throw("The input directory must contain at least one architecture subdirectory (x64, arm64).")
|
|
}
|
|
|
|
echo "Building test data nuget. Input: $InputDirectory. Version: $Version"
|
|
|
|
Copy-Item -Path "$PSScriptRoot\Microsoft.WSL.TestData.nuspec" -Destination "$InputDirectory" -Force
|
|
|
|
& "$PSScriptRoot\..\..\_deps\nuget.exe" pack "$InputDirectory\Microsoft.WSL.TestData.nuspec" -Properties "version=$Version" -OutputDirectory "$OutputDirectory" |