param(
    $versao
)

Get-ChildItem ScriptsImplantacao-*.zip | foreach {remove-item $_}

if (test-path .\ScriptsImplantacao-$versao.zip) {
    remove-item .\ScriptsImplantacao-$versao.zip
}

$naoIncluir = @("microuniverso.privkey","node_modules","microuniverso.privkey.txt",".venv")

# Cache do Python nao entra no pacote. Os .pyc tem nome longo (ex.:
# test_executar_validacoes_servidor_linux.cpython-313.pyc) e estouravam o limite de 260
# caracteres do Windows quando o instalador descompactava o pacote num servidor com nome de
# perfil de usuario longo, quebrando a instalacao com DirectoryNotFoundException. Sao arquivos
# gerados pelo proprio Python, nao versionados, e o Python os recria quando precisa.
$diretoriosDeCache = @("__pycache__",".pytest_cache")

Get-ChildItem .\ -Recurse -Directory -Force |
    where {$_.Name -in $diretoriosDeCache -and $_.FullName -notmatch "node_modules|\.venv"} |
    foreach {remove-item $_.FullName -Recurse -Force}

Get-ChildItem .\ | where {$_.Name -notin $naoIncluir} | Compress-Archive -DestinationPath ScriptsImplantacao-$versao.zip -Update
