Remove the cache-mode decision from the desktop interface
Always use the validated normal build pipeline, which reuses unchanged stages. Keep app-only rebuilding as a developer CLI option and reduce the GUI disclosure to diagnostics and help.
This commit is contained in:
1 parent
6db52d357a
commit
a4f155eaa3
3 files changed
+10
-12
No files matched your search
@@ -77,9 +77,7 @@ struct EasyStrings {
|
||||
"Mostrar datos romfs": "Show RomFS folder",
|
||||
"Abrir Sideloadly": "Open Sideloadly",
|
||||
"Primera instalación: instala la IPA ligera y copia romfs por Finder. Para actualizar, conserva la misma cuenta y bundle ID; no desinstales la app.": "First install: install the lightweight IPA, then copy romfs using Finder. For updates, keep the same account and bundle ID; do not uninstall the game.",
|
||||
"Opciones y detalles": "Options and details",
|
||||
"Recrear sólo la app con las cachés existentes": "Rebuild only the app using existing caches",
|
||||
"Úsalo para actualizar el editor. Para una versión nueva del juego, déjalo desactivado. La primera preparación necesita Xcode y Homebrew instalados.": "Use this for editor updates. Leave it off for a new game version. First-time setup requires Xcode and Homebrew.",
|
||||
"Detalles": "Details",
|
||||
"Guía de instalación": "Installation guide",
|
||||
"Copiar diagnóstico": "Copy diagnostics",
|
||||
"Preparación local. No se incluyen juegos ni llaves. La firma e instalación se hacen por separado en Sideloadly.": "Local preparation. Games and keys are not included. Signing and installation happen separately in Sideloadly.",
|
||||
|
||||
@@ -24,7 +24,6 @@ struct GameCard: Identifiable {
|
||||
@Published var output: URL?
|
||||
@Published var assets: URL?
|
||||
@Published var failed = false
|
||||
@Published var appOnly = false
|
||||
@Published var showDetails = false
|
||||
@Published var showCatalog = false
|
||||
@Published var catalog: [CatalogGame] = []
|
||||
@@ -104,13 +103,12 @@ struct GameCard: Identifiable {
|
||||
guard FileManager.default.fileExists(atPath:script.path) else {
|
||||
phase="No encontramos el código de nxnative.";detail="Vuelve a crear la app desde el repositorio con Abrir-interfaz.command.";failed=true;return
|
||||
}
|
||||
if !appOnly && keysFolder == nil {chooseKeysFolder()}
|
||||
guard appOnly || keysFolder != nil else {return}
|
||||
if keysFolder == nil {chooseKeysFolder()}
|
||||
guard let keysFolder else {return}
|
||||
let task=Process();let pipe=Pipe()
|
||||
task.executableURL=URL(fileURLWithPath:"/usr/bin/python3")
|
||||
var arguments=[repo.appendingPathComponent("desktop/NxNativeEasy/build_session.py").path,script.path,folder.path]
|
||||
if appOnly { arguments.append("--app-only") }
|
||||
if !appOnly, let keysFolder {arguments += ["--keys-folder",keysFolder.path]}
|
||||
arguments += ["--keys-folder",keysFolder.path]
|
||||
task.arguments=arguments;task.currentDirectoryURL=repo
|
||||
task.standardOutput=pipe;task.standardError=pipe
|
||||
var environment=ProcessInfo.processInfo.environment
|
||||
@@ -261,10 +259,8 @@ struct ContentView: View {
|
||||
.font(.system(size:12)).foregroundStyle(ink.opacity(0.8))
|
||||
}
|
||||
}.padding(24).background(Color.white.opacity(0.045),in:RoundedRectangle(cornerRadius:20))
|
||||
DisclosureGroup(model.text("Opciones y detalles"),isExpanded:$model.showDetails) {
|
||||
DisclosureGroup(model.text("Detalles"),isExpanded:$model.showDetails) {
|
||||
VStack(alignment:.leading,spacing:12) {
|
||||
Toggle(model.text("Recrear sólo la app con las cachés existentes"),isOn:$model.appOnly).disabled(model.running)
|
||||
Text(model.text("Úsalo para actualizar el editor. Para una versión nueva del juego, déjalo desactivado. La primera preparación necesita Xcode y Homebrew instalados.")).font(.system(size:12)).foregroundStyle(.gray)
|
||||
if !model.transcript.isEmpty {
|
||||
Text(model.text("Los detalles de compilación se muestran en su idioma original.")).font(.system(size:11)).foregroundStyle(.gray)
|
||||
ScrollView {Text(model.transcript).font(.system(size:10,design:.monospaced)).textSelection(.enabled).frame(maxWidth:.infinity,alignment:.leading)}.frame(height:180)
|
||||
|
||||
@@ -60,7 +60,11 @@ build; choose a known compatible target explicitly with `--gpu` when desired.
|
||||
Game versions are selected by upstream (newest present unless `--package` is set).
|
||||
An update may change RomFS, so only reuse phone data when that data are identical.
|
||||
|
||||
## Rebuild the app using existing caches
|
||||
## Developer CLI: rebuild the app using existing caches
|
||||
|
||||
The desktop interface always uses the normal pipeline, which validates and reuses
|
||||
unchanged stages automatically. There is no cache-mode toggle for users to choose.
|
||||
The app-only option below remains a developer CLI tool, outside the desktop flow.
|
||||
|
||||
For editor/app-only changes on an already prepared game:
|
||||
|
||||
|
||||
Reference in new issue
Block a user