winget configuration files for installing Visual Studio Community 2022
A first step into streamlining the dependency installation process using winget / DevHome You can apply winget configurations with DevHome or from commandline by running winget configure -f path-to-configuration.yaml The *.vsconfig files can also be manually imported into Visual Studio Installer to install missing components into an existing installation Two variants are provided in this commit, one set including the components needed to cross-compile for ARM64 (uses around 1GB) The version of the Windows SDK chosen is the one that matches the SDK from the recommended packages, to avoid installing two different SDKs when using the configuration that includes the recommended packages The *.vsconfig files don't include the implied packages/the ones required by the workload. For a list of the components and their corresponding friendly names, see https://learn.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community Change-Id: Ie44ee3dd39c3e61fb2d7c597b71a4a81e0e6b8d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173336 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
This commit is contained in:
parent
4c17c2303d
commit
ea6f4bb93e
5 changed files with 94 additions and 0 deletions
15
.configurations/2022.vsconfig
Normal file
15
.configurations/2022.vsconfig
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"version": "1.0",
|
||||
"components": [
|
||||
"Microsoft.VisualStudio.Workload.CoreEditor",
|
||||
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
||||
"Microsoft.Net.Component.4.8.SDK",
|
||||
"Microsoft.VisualStudio.Component.Git",
|
||||
"Microsoft.VisualStudio.Component.VC.ATL",
|
||||
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
|
||||
"Microsoft.VisualStudio.Component.VC.Redist.MSM",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
||||
"Microsoft.VisualStudio.Component.Windows11SDK.22621"
|
||||
],
|
||||
"extensions": []
|
||||
}
|
18
.configurations/2022_cross.vsconfig
Normal file
18
.configurations/2022_cross.vsconfig
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"version": "1.0",
|
||||
"components": [
|
||||
"Microsoft.VisualStudio.Workload.CoreEditor",
|
||||
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
||||
"Microsoft.Net.Component.4.8.SDK",
|
||||
"Microsoft.VisualStudio.Component.Git",
|
||||
"Microsoft.VisualStudio.Component.VC.ATL",
|
||||
"Microsoft.VisualStudio.Component.VC.ATL.ARM64",
|
||||
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
|
||||
"Microsoft.VisualStudio.Component.VC.Redist.MSM",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.ARM64",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.ARM64EC",
|
||||
"Microsoft.VisualStudio.Component.Windows11SDK.22621"
|
||||
],
|
||||
"extensions": []
|
||||
}
|
30
.configurations/configuration.dsc.yaml
Normal file
30
.configurations/configuration.dsc.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
|
||||
|
||||
# This configuration is for a typical end-user installation of Visual Studio Community 2022 with the
|
||||
# required components to build LibreOffice, excluding the components to cross-compile for ARM64
|
||||
# It includes recommended packages as if you had selected the "Desktop development with C++"
|
||||
# workload in the in the UI driven installer.
|
||||
# (the allowPrerelease directive refers to the DSC module)
|
||||
|
||||
properties:
|
||||
resources:
|
||||
- resource: Microsoft.WinGet.DSC/WinGetPackage
|
||||
id: VisualStudio
|
||||
directives:
|
||||
description: Install Visual Studio 2022 Community
|
||||
allowPrerelease: true
|
||||
settings:
|
||||
id: Microsoft.VisualStudio.2022.Community
|
||||
source: winget
|
||||
- resource: Microsoft.VisualStudio.DSC/VSComponents
|
||||
id: LibreOffice Components including recommended packages
|
||||
dependsOn:
|
||||
- VisualStudio
|
||||
directives:
|
||||
description: Install components required to build LibreOffice, including recommended ones
|
||||
settings:
|
||||
productId: Microsoft.VisualStudio.Product.Community
|
||||
channelId: VisualStudio.17.Release
|
||||
vsConfigFile: '${WinGetConfigRoot}\2022.vsconfig'
|
||||
IncludeRecommended: true
|
||||
configurationVersion: 0.2.0
|
30
.configurations/jenkins.dsc.yaml
Normal file
30
.configurations/jenkins.dsc.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
|
||||
|
||||
# This configuration is for a minimal installation of Visual Studio meant for CI use or setups with
|
||||
# remote access with no need for convenience features of the IDE. It installs the dependencies
|
||||
# without additional recommended packages. If you want to use the IDE to edit code, you probably
|
||||
# want to use the regular configuration.dsc.yaml (or launch Visual Studio Installer afterwards, pick
|
||||
# modify and then unselect and reselect the "Desktop Development with C++" workload)
|
||||
# (the allowPrerelease directive refers to the DSC module)
|
||||
|
||||
properties:
|
||||
resources:
|
||||
- resource: Microsoft.WinGet.DSC/WinGetPackage
|
||||
id: VisualStudio
|
||||
directives:
|
||||
description: Install Visual Studio 2022 Community
|
||||
allowPrerelease: true
|
||||
settings:
|
||||
id: Microsoft.VisualStudio.2022.Community
|
||||
source: winget
|
||||
- resource: Microsoft.VisualStudio.DSC/VSComponents
|
||||
id: minimal LibreOffice Components
|
||||
dependsOn:
|
||||
- VisualStudio
|
||||
directives:
|
||||
description: Install components required to build LibreOffice
|
||||
settings:
|
||||
productId: Microsoft.VisualStudio.Product.Community
|
||||
channelId: VisualStudio.17.Release
|
||||
vsConfigFile: '${WinGetConfigRoot}\2022_cross.vsconfig'
|
||||
configurationVersion: 0.2.0
|
1
.vsconfig
Symbolic link
1
.vsconfig
Symbolic link
|
@ -0,0 +1 @@
|
|||
.configurations/2022.vsconfig
|
Loading…
Reference in a new issue