Suporte para sincronização vitruvio no windows
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
!/.vscode/automatizadores/
|
!/.vscode/automatizadores/
|
||||||
!/.vscode/automatizadores/bootstrap-workspace.sh
|
!/.vscode/automatizadores/bootstrap-workspace.sh
|
||||||
!/.vscode/automatizadores/sync_vitruvio_zip.sh
|
!/.vscode/automatizadores/sync_vitruvio_zip.sh
|
||||||
|
!/.vscode/automatizadores/sync_vitruvio_zip.ps1
|
||||||
!/.vscode/vsix/
|
!/.vscode/vsix/
|
||||||
!/.vscode/vsix/**
|
!/.vscode/vsix/**
|
||||||
!/.vscode/tasks.json
|
!/.vscode/tasks.json
|
||||||
|
|||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
$ErrorActionPreference = 'Stop'
|
||||||
|
|
||||||
|
param(
|
||||||
|
[string]$TargetDir,
|
||||||
|
[string]$ExportUrl
|
||||||
|
)
|
||||||
|
|
||||||
|
if ([string]::IsNullOrWhiteSpace($TargetDir) -or [string]::IsNullOrWhiteSpace($ExportUrl)) {
|
||||||
|
Write-Host "Uso: sync_vitruvio_zip.ps1 <pasta_destino> <url_webservice>"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
$tempDir = Join-Path ([System.IO.Path]::GetTempPath()) ("vitruvio-sync-" + [System.Guid]::NewGuid().ToString('N'))
|
||||||
|
$zipFile = Join-Path $tempDir 'vitruvio_completo.zip'
|
||||||
|
$extractDir = Join-Path $tempDir 'extract'
|
||||||
|
$pastasExportacao = @('Paineis', 'Libs', 'WebServices', 'Processos', 'Relatorios')
|
||||||
|
|
||||||
|
function Cleanup {
|
||||||
|
if (Test-Path -LiteralPath $tempDir) {
|
||||||
|
Remove-Item -LiteralPath $tempDir -Recurse -Force
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
New-Item -ItemType Directory -Path $extractDir -Force | Out-Null
|
||||||
|
New-Item -ItemType Directory -Path $TargetDir -Force | Out-Null
|
||||||
|
|
||||||
|
Write-Host 'Baixando ZIP do webservice...'
|
||||||
|
Invoke-WebRequest -Uri $ExportUrl -OutFile $zipFile
|
||||||
|
|
||||||
|
Write-Host 'Extraindo ZIP...'
|
||||||
|
Expand-Archive -LiteralPath $zipFile -DestinationPath $extractDir -Force
|
||||||
|
|
||||||
|
foreach ($pasta in $pastasExportacao) {
|
||||||
|
$sourceDir = Join-Path $extractDir $pasta
|
||||||
|
|
||||||
|
if (-not (Test-Path -LiteralPath $sourceDir -PathType Container)) {
|
||||||
|
throw "Erro: pasta obrigatoria nao encontrada no ZIP: $pasta"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Sincronizando conteudo em $TargetDir..."
|
||||||
|
|
||||||
|
foreach ($pasta in $pastasExportacao) {
|
||||||
|
$sourceDir = Join-Path $extractDir $pasta
|
||||||
|
$destinationDir = Join-Path $TargetDir $pasta
|
||||||
|
|
||||||
|
if (Test-Path -LiteralPath $destinationDir) {
|
||||||
|
Remove-Item -LiteralPath $destinationDir -Recurse -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
Copy-Item -LiteralPath $sourceDir -Destination $TargetDir -Recurse -Force
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host 'Sincronizacao concluida com sucesso.'
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error $_.Exception.Message
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
Cleanup
|
||||||
|
}
|
||||||
Vendored
+13
@@ -10,6 +10,19 @@
|
|||||||
"${workspaceFolder}/Vitruvio",
|
"${workspaceFolder}/Vitruvio",
|
||||||
"https://vitruvio.superverdemar.com.br/rest/api/integration/public/base_vitruvio_ia"
|
"https://vitruvio.superverdemar.com.br/rest/api/integration/public/base_vitruvio_ia"
|
||||||
],
|
],
|
||||||
|
"windows": {
|
||||||
|
"command": "powershell",
|
||||||
|
"args": [
|
||||||
|
"-NoLogo",
|
||||||
|
"-NoProfile",
|
||||||
|
"-ExecutionPolicy",
|
||||||
|
"Bypass",
|
||||||
|
"-File",
|
||||||
|
"${workspaceFolder}\\.vscode\\automatizadores\\sync_vitruvio_zip.ps1",
|
||||||
|
"${workspaceFolder}\\Vitruvio",
|
||||||
|
"https://vitruvio.superverdemar.com.br/rest/api/integration/public/base_vitruvio_ia"
|
||||||
|
]
|
||||||
|
},
|
||||||
"group": "build",
|
"group": "build",
|
||||||
"problemMatcher": []
|
"problemMatcher": []
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ code .
|
|||||||
6. Atualize os artefatos do Vitruvio quando precisar.
|
6. Atualize os artefatos do Vitruvio quando precisar.
|
||||||
|
|
||||||
- No VS Code, execute a task Vitruvio: Baixar e Extrair ZIP.
|
- No VS Code, execute a task Vitruvio: Baixar e Extrair ZIP.
|
||||||
|
- No Linux, a task usa o script Bash em `.vscode/automatizadores/sync_vitruvio_zip.sh`.
|
||||||
|
- No Windows, a mesma task usa a versao PowerShell em `.vscode/automatizadores/sync_vitruvio_zip.ps1`.
|
||||||
- O conteudo sera extraido em Vitruvio/, incluindo Paineis, Libs, WebServices, Processos e Relatorios.
|
- O conteudo sera extraido em Vitruvio/, incluindo Paineis, Libs, WebServices, Processos e Relatorios.
|
||||||
|
|
||||||
7. Se quiser usar o criador de casos como extensao local do VS Code, empacote e instale o VSIX.
|
7. Se quiser usar o criador de casos como extensao local do VS Code, empacote e instale o VSIX.
|
||||||
|
|||||||
Reference in New Issue
Block a user