50 lines
No EOL
1.6 KiB
Text
50 lines
No EOL
1.6 KiB
Text
#!/usr/bin/env nu
|
|
# Get cache paths using PAP-compliant manifest system
|
|
# Usage: nu scripts/cache-paths.nu [client|server|build|deployment]
|
|
|
|
def main [cache_type?: string = "build"] {
|
|
# Load the manifest configuration (this would be the TOML file when implemented)
|
|
# For now, use the current structure from the Rust build system
|
|
|
|
let workspace_root = (pwd)
|
|
|
|
# Default manifest values (these should come from rustelo.toml when implemented)
|
|
let cache_build_path = "site_build/devtools/build-cache"
|
|
let cache_deployment_path = "cache"
|
|
|
|
let build_cache_root = ($workspace_root | path join "target" $cache_build_path)
|
|
|
|
match $cache_type {
|
|
"client" => {
|
|
$build_cache_root | path join "client"
|
|
},
|
|
"server" => {
|
|
$build_cache_root | path join "server"
|
|
},
|
|
"build" => {
|
|
$build_cache_root
|
|
},
|
|
"deployment" => {
|
|
$workspace_root | path join $cache_deployment_path
|
|
},
|
|
_ => {
|
|
error make {msg: $"Unknown cache type: ($cache_type). Use: client|server|build|deployment"}
|
|
}
|
|
}
|
|
}
|
|
|
|
# TODO: When rustelo.toml is implemented, use this function
|
|
def load_manifest_config [] {
|
|
# This would load the actual manifest file
|
|
# let manifest = (open rustelo.toml | from toml)
|
|
# {
|
|
# cache_build_path: $manifest.build.cache_build_path,
|
|
# cache_deployment_path: $manifest.deployment.cache_path
|
|
# }
|
|
|
|
# For now return defaults
|
|
{
|
|
cache_build_path: "site_build/devtools/build-cache",
|
|
cache_deployment_path: "cache"
|
|
}
|
|
} |