forked from Azure/azure-powershell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun-module.ps1
62 lines (54 loc) · 2.81 KB
/
run-module.ps1
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
58
59
60
61
62
# ----------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
# is regenerated.
# ----------------------------------------------------------------------------------
param([switch]$Isolated, [switch]$Code)
$ErrorActionPreference = 'Stop'
if(-not $Isolated) {
Write-Host -ForegroundColor Green 'Creating isolated process...'
$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
& "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
return
}
$isAzure = $true
if($isAzure) {
. (Join-Path $PSScriptRoot 'check-dependencies.ps1') -Isolated -Accounts
# Load the latest version of Az.Accounts installed
Import-Module -Name Az.Accounts -RequiredVersion (Get-Module -Name Az.Accounts -ListAvailable | Sort-Object -Property Version -Descending)[0].Version
}
$localModulesPath = Join-Path $PSScriptRoot 'generated\modules'
if(Test-Path -Path $localModulesPath) {
$env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath"
}
$modulePsd1 = Get-Item -Path (Join-Path $PSScriptRoot './Az.MachineLearningServices.psd1')
$modulePath = $modulePsd1.FullName
$moduleName = $modulePsd1.BaseName
function Prompt {
Write-Host -NoNewline -ForegroundColor Green "PS $(Get-Location)"
Write-Host -NoNewline -ForegroundColor Gray ' ['
Write-Host -NoNewline -ForegroundColor White -BackgroundColor DarkCyan $moduleName
']> '
}
# where we would find the launch.json file
$vscodeDirectory = New-Item -ItemType Directory -Force -Path (Join-Path $PSScriptRoot '.vscode')
$launchJson = Join-Path $vscodeDirectory 'launch.json'
# if there is a launch.json file, let's just assume -Code, and update the file
if(($Code) -or (test-Path $launchJson) ) {
$launchContent = '{ "version": "0.2.0", "configurations":[{ "name":"Attach to PowerShell", "type":"coreclr", "request":"attach", "processId":"' + ([System.Diagnostics.Process]::GetCurrentProcess().Id) + '", "justMyCode":false }] }'
Set-Content -Path $launchJson -Value $launchContent
if($Code) {
# only launch vscode if they say -code
code $PSScriptRoot
}
}
Import-Module -Name $modulePath