Files
Kelorastus 80dd1e7c7d update
2026-09-29 10:29:52 +02:00

43 lines
2.2 KiB
PowerShell

# ============================================================================
# enable-dev-mode.ps1 -- turn on dev mode for the launcher INSTALLED on this PC.
#
# The repo's dev-licence.json is a TEAM licence: it names no machine and no
# install, and says so in its signed body (scope: team). Whoever can clone this
# repo can run dev mode - repo access is the credential, deliberately, because
# an operator has the installed launcher and never the source.
#
# A launcher started FROM this repo (npm run tauri dev) finds the licence by
# itself: it looks beside its own exe and two levels up, which is this folder.
# An INSTALLED launcher looks in its own install folder, so this script puts a
# copy there. Run it once; then open Settings and the Dev section is there.
#
# powershell -ExecutionPolicy Bypass -File tools\enable-dev-mode.ps1
# ============================================================================
[CmdletBinding()]
param([string]$InstallDir)
$ErrorActionPreference = "Stop"
$repo = Split-Path -Parent $PSScriptRoot
$licence = Join-Path $repo "dev-licence.json"
if (-not (Test-Path -LiteralPath $licence)) { throw "No dev-licence.json at the repo root ($licence)." }
# Where ODIAN is installed: what the launcher's own settings say, else the usual place.
if (-not $InstallDir) {
$settings = Join-Path $env:APPDATA "fr.odian.launcher\settings.json"
if (Test-Path -LiteralPath $settings) {
$InstallDir = (Get-Content -LiteralPath $settings -Raw | ConvertFrom-Json).install_dir
}
}
if (-not $InstallDir) { $InstallDir = if (Test-Path "D:\") { "D:\ODIAN" } else { "C:\ODIAN" } }
if (-not (Test-Path -LiteralPath $InstallDir)) { throw "No ODIAN install at $InstallDir - pass -InstallDir." }
$state = Join-Path $InstallDir "state"
New-Item -ItemType Directory -Force -Path $state | Out-Null
$target = Join-Path $state "dev-licence.json"
Copy-Item -LiteralPath $licence -Destination $target -Force
$expires = (Get-Content -LiteralPath $licence -Raw | ConvertFrom-Json).expires_at
Write-Host "Dev mode licensed on this PC until $expires" -ForegroundColor Green
Write-Host " $target"
Write-Host "Restart the launcher, then Settings -> Dev -> point the checkout folder at the folder holding ODIAN_Engine."