Skip to content

Commit

Permalink
Merge pull request #2257 from microsoft/main
Browse files Browse the repository at this point in the history
Staging - 2/13/24
  • Loading branch information
EricJohnson327 authored Feb 14, 2024
2 parents 7e96206 + 873da88 commit 97dbd3d
Show file tree
Hide file tree
Showing 18 changed files with 134 additions and 42 deletions.
2 changes: 1 addition & 1 deletion build/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ parameters:

variables:
# MSIXVersion's second part should always be odd to account for stub app's version
MSIXVersion: '0.1001'
MSIXVersion: '0.1101'
VersionOfSDK: '0.100'
solution: '**/DevHome.sln'
appxPackageDir: 'AppxPackages'
Expand Down
2 changes: 1 addition & 1 deletion build/scripts/CreateBuildInfo.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Param(
)

$Major = "0"
$Minor = "10"
$Minor = "11"
$Patch = "99" # default to 99 for local builds

$versionSplit = $Version.Split(".");
Expand Down
29 changes: 29 additions & 0 deletions common/TelemetryEvents/SetupFlow/RepoTool/RepoConfigEvent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using System;
using DevHome.Telemetry;
using Microsoft.Diagnostics.Telemetry;
using Microsoft.Diagnostics.Telemetry.Internal;

namespace DevHome.Common.TelemetryEvents.SetupFlow.RepoTool;

public class RepoConfigEvent : EventBase
{
public override PartA_PrivTags PartA_PrivTags => PrivTags.ProductAndServiceUsage;

public string Action
{
get;
}

public RepoConfigEvent(string action)
{
Action = action;
}

public override void ReplaceSensitiveStrings(Func<string, string> replaceSensitiveStrings)
{
// No sensitive strings to replace.
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace DevHome.Common.TelemetryEvents.SetupFlow;
[EventData]
public class RepoCloneEvent : EventBase
{
public override PartA_PrivTags PartA_PrivTags => PrivTags.ProductAndServiceUsage;
public override PartA_PrivTags PartA_PrivTags => PrivTags.ProductAndServicePerformance;

public string ProviderName
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using System;
using DevHome.Telemetry;
using Microsoft.Diagnostics.Telemetry;
using Microsoft.Diagnostics.Telemetry.Internal;

namespace DevHome.Common.TelemetryEvents.SetupFlow.RepoTool;

public class RepoInfoModificationEvent : EventBase
{
public override PartA_PrivTags PartA_PrivTags => PrivTags.ProductAndServiceUsage;

public string ModificationType
{
get;
}

public RepoInfoModificationEvent(string modificationType)
{
ModificationType = modificationType;
}

public override void ReplaceSensitiveStrings(Func<string, string> replaceSensitiveStrings)
{
// No sensitive strings to replace.
}
}
9 changes: 4 additions & 5 deletions sampleConfigurations/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ Download the *.dsc.yaml files to your local system. They can be executed in Dev

Several DSC resources may require running in administrator mode. If the configuration is leveraging the [WinGet DSC resource](https://www.powershellgallery.com/packages/Microsoft.WinGet.DSC) to install packages, there are also limitations in some cases specific to the installers that may either require or prohibit installation in administrative context.


### GitHub projects
### GitHub projects (Repositories)
Sample configurations have been provided for various GitHub repositories. These configurations ideally should be placed in a `.configurations` folder in the root of the project directory. Some DSC resources may have parameters that allow you to pass in a relative file path. The reserved variable `$(WinGetConfigRoot)` can be used to specify the full path of the configuration file. An example of how to use that variable with a relative file path is shown below:

```yaml
Expand All @@ -19,8 +18,8 @@ Sample configurations have been provided for various GitHub repositories. These
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
```
### Learn to Code
The sample configurations in the Windows directory are related to [Windows development paths](https://learn.microsoft.com/windows/dev-environment/#development-paths).
### Learn to Code (Templates)
Sample configurations in this directory are directly related to the [Windows development paths](https://learn.microsoft.com/windows/dev-environment/#development-paths). These configurations will allow you to automatically set up your device and begin developing in your preferred language quickly.
### Sample DSC Resources
### Sample DSC Resources (DscResources)
Examples for a few specific DSC Resources are under the [DscResources](./DscResources/) directory.
13 changes: 8 additions & 5 deletions sampleConfigurations/Templates/Introduction/C#/README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
## Understanding WinGet Configuration Files
This folder contains a WinGet Configuration File (*configuration.dsc.yaml*) that will work with the Windows Package Manager command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using Microsoft Dev Home Device Configuration.
This folder contains a [Windows Package Manager](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (WinGet) [Configuration File](https://learn.microsoft.com/en-us/windows/package-manager/configuration/) (*configuration.dsc.yaml*) that will work with the WinGet command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using [Microsoft Dev Home](https://learn.microsoft.com/en-us/windows/dev-home/) Device Configuration.

When run, the `configuration.dsc.yaml` file will install the following list of applications:
* Microsoft Visual Studio Community 2022
* Required Visual Studio Workloads (ManagedDesktop, Universal)
* GitHub Desktop


The `configuration.dsc.yaml` file will also enable [Developer Mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging) on your device.

## How to use the WinGet Configuration File
The following two options are available for running a WinGet Configuration file on your device.

### Windows Package Manager
### 1. Windows Package Manager
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Windows Terminal*".
1. Type the following: `CD [C:\Users\User\Download]`
1. Type the following: `CD <C:\Users\User\Download>`
1. Type the following: `winget configure --file .\configuration.dsc.yaml`

### Dev Home
### 2. Dev Home
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Dev Home*".
1. Select the *Machine Configuration* button on the left side navigation.
1. Select the *Configuration file* button
1. Locate and open the WinGet Configuration file downloaded in "step 1".
1. Select the "I agree and want to continue" checkbox.
1. Select the "Set up as admin" button.

## Issues with Configuration file
If you experience an issue with running the provided WinGet Configuration file, you can submit a [new issue report](https://github.com/microsoft/devhome/issues/new/choose), or [search existing issues](https://github.com/microsoft/devhome/issues) for a pre-existing issue filed by another user.
13 changes: 8 additions & 5 deletions sampleConfigurations/Templates/Introduction/C++/README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
## Understanding WinGet Configuration Files
This folder contains a WinGet Configuration File (*configuration.dsc.yaml*) that will work with the Windows Package Manager command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using Microsoft Dev Home Device Configuration.
This folder contains a [Windows Package Manager](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (WinGet) [Configuration File](https://learn.microsoft.com/en-us/windows/package-manager/configuration/) (*configuration.dsc.yaml*) that will work with the WinGet command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using [Microsoft Dev Home](https://learn.microsoft.com/en-us/windows/dev-home/) Device Configuration.

When run, the `configuration.dsc.yaml` file will install the following list of applications:
* Microsoft Visual Studio Community 2022
* Required Visual Studio Workloads (NativeDesktop, Universal)
* GitHub Desktop


The `configuration.dsc.yaml` file will also enable [Developer Mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging) on your device.

## How to use the WinGet Configuration File
The following two options are available for running a WinGet Configuration file on your device.

### Windows Package Manager
### 1. Windows Package Manager
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Windows Terminal*".
1. Type the following: `CD [C:\Users\User\Download]`
1. Type the following: `CD <C:\Users\User\Download>`
1. Type the following: `winget configure --file .\configuration.dsc.yaml`

### Dev Home
### 2. Dev Home
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Dev Home*".
1. Select the *Machine Configuration* button on the left side navigation.
1. Select the *Configuration file* button
1. Locate and open the WinGet Configuration file downloaded in "step 1".
1. Select the "I agree and want to continue" checkbox.
1. Select the "Set up as admin" button.

## Issues with Configuration file
If you experience an issue with running the provided WinGet Configuration file, you can submit a [new issue report](https://github.com/microsoft/devhome/issues/new/choose), or [search existing issues](https://github.com/microsoft/devhome/issues) for a pre-existing issue filed by another user.
12 changes: 8 additions & 4 deletions sampleConfigurations/Templates/Introduction/PowerShell/README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
## Understanding WinGet Configuration Files
This folder contains a WinGet Configuration File (*configuration.dsc.yaml*) that will work with the Windows Package Manager command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using Microsoft Dev Home Device Configuration.
This folder contains a [Windows Package Manager](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (WinGet) [Configuration File](https://learn.microsoft.com/en-us/windows/package-manager/configuration/) (*configuration.dsc.yaml*) that will work with the WinGet command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using [Microsoft Dev Home](https://learn.microsoft.com/en-us/windows/dev-home/) Device Configuration.

When run, the `configuration.dsc.yaml` file will install the following list of applications:
* Microsoft Visual Studio Code

## How to use the WinGet Configuration File
The following two options are available for running a WinGet Configuration file on your device.

### Windows Package Manager
### 1. Windows Package Manager
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Windows Terminal*".
1. Type the following: `CD [C:\Users\User\Download]`
1. Type the following: `CD <C:\Users\User\Download>`
1. Type the following: `winget configure --file .\configuration.dsc.yaml`

### Dev Home
### 2. Dev Home
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Dev Home*".
1. Select the *Machine Configuration* button on the left side navigation.
1. Select the *Configuration file* button
1. Locate and open the WinGet Configuration file downloaded in "step 1".
1. Select the "I agree and want to continue" checkbox.
1. Select the "Set up as admin" button.

## Issues with Configuration file
If you experience an issue with running the provided WinGet Configuration file, you can submit a [new issue report](https://github.com/microsoft/devhome/issues/new/choose), or [search existing issues](https://github.com/microsoft/devhome/issues) for a pre-existing issue filed by another user.
12 changes: 8 additions & 4 deletions sampleConfigurations/Templates/Introduction/Python3.12/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Understanding WinGet Configuration Files
This folder contains a WinGet Configuration File (*configuration.dsc.yaml*) that will work with the Windows Package Manager command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using Microsoft Dev Home Device Configuration.
This folder contains a [Windows Package Manager](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (WinGet) [Configuration File](https://learn.microsoft.com/en-us/windows/package-manager/configuration/) (*configuration.dsc.yaml*) that will work with the WinGet command line interface (`winget configure --file [path: configuration.dsc.yaml]`) or can be run using [Microsoft Dev Home](https://learn.microsoft.com/en-us/windows/dev-home/) Device Configuration.

When run, the `configuration.dsc.yaml` file will install the following list of applications:
* Microsoft Visual Studio Community 2022
Expand All @@ -10,18 +10,22 @@ When run, the `configuration.dsc.yaml` file will install the following list of a
The `configuration.dsc.yaml` file will also enable [Developer Mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging) on your device.

## How to use the WinGet Configuration File
The following two options are available for running a WinGet Configuration file on your device.

### Windows Package Manager
### 1. Windows Package Manager
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Windows Terminal*".
1. Type the following: `CD [C:\Users\User\Download]`
1. Type the following: `CD <C:\Users\User\Download>`
1. Type the following: `winget configure --file .\configuration.dsc.yaml`

### Dev Home
### 2. Dev Home
1. Download the `configuration.dsc.yaml` file to your computer.
1. Open your Windows Start Menu, search and launch "*Dev Home*".
1. Select the *Machine Configuration* button on the left side navigation.
1. Select the *Configuration file* button
1. Locate and open the WinGet Configuration file downloaded in "step 1".
1. Select the "I agree and want to continue" checkbox.
1. Select the "Set up as admin" button.

## Issues with Configuration file
If you experience an issue with running the provided WinGet Configuration file, you can submit a [new issue report](https://github.com/microsoft/devhome/issues/new/choose), or [search existing issues](https://github.com/microsoft/devhome/issues) for a pre-existing issue filed by another user.
4 changes: 2 additions & 2 deletions sampleConfigurations/Templates/Introduction/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The WinGet Configuration Files that are contained within the *Introduction* folder are provided as an initial starting location to a specific software development language. This section will provide you with guidance on what you need, and how to install the software and dependency requirements. Allowing you to focus on learning/experiencing the software development language of your choice.
This directory contains different [Windows Package Manager](https://learn.microsoft.com/en-us/windows/package-manager/winget/) (WinGet) [Configuration files](https://learn.microsoft.com/en-us/windows/package-manager/configuration/) that will be used for setting up your device for a specific software development language. These files are designed specifically for providing an introduction to software development, creating the default *Hello World* project, without having to focus on understanding the complexities of what needs to be installed, and how should it be configured.

## Language specific folders
## Language specific folders (Naming Standard)
Each folder in this folder will be labeled with the name of the Software Development language it is associated with. If the language is inclusive of another language, it'll be seperated by a decimal. If the language contains a version specific release that needs to be accounted for, then the version will be considered as the language.

### Example:
Expand Down
12 changes: 9 additions & 3 deletions sampleConfigurations/Templates/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
This section is reflective of the type of software development that will be performed. If you are new to software development, or are looking for an introduction to the software development language, we recommend visiting the *Introduction* section.
This section is reflective of the type of software development workloads that will be performed. If you are new to software development or are looking for an introduction to the software development language, we recommend visiting the [Introduction](./Introduction/) section, which has more information about various languages.

## Android Apps
This directory focuses on software development languages used for developing Android Apps, with a device setup that is focused on creating and testing Android apps.

## Introduction
The WinGet Configuration Files that are contained within the *Introduction* folder are provided as an initial starting location to a specific software development language. This section will provide you with guidance on what you need, and how to install the software and dependency requirements. Allowing you to focus on learning/experiencing the software development language of your choice.
This directory focuses on Getting Started with a particular language. The device setup flows will focus on the base requirements needed for creating a *Hello World* or similar project. This directory is recommended for individuals interested in learning how to develop software.

## Web Development
The WinGet Configuration Files that are contained within the *Web Development* folder are provided to help get your device setup for a specific language with the goals of performing web development.
This directory focuses on software development languages used for developing websites and web apps. The device setup flows will focus on web app development.

## Xbox Games
This directory focuses on software development languages used for developing Xbox games. The device setup flows will focus on any development / testing requirements.
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,9 @@ await Task.Run(async () =>
return;
}
Log.Logger()?.ReportDebug("WidgetViewModel", $"cardTemplate = {cardTemplate}");
Log.Logger()?.ReportDebug("WidgetViewModel", $"cardData = {cardData}");
// Uncomment for extra debugging output
// Log.Logger()?.ReportDebug("WidgetViewModel", $"cardTemplate = {cardTemplate}");
// Log.Logger()?.ReportDebug("WidgetViewModel", $"cardData = {cardData}");
// Use the data to fill in the template.
AdaptiveCardParseResult card;
Expand Down
Loading

0 comments on commit 97dbd3d

Please sign in to comment.