Referencia de scripts
Información adicional en resumen - Para referencia cuando sea necesario sobre los scripts de desarrollo para repositorios de aplicaciones construidos sobre Pankosmia
Tabla de contenidos
Configuración del ecosistema
Este repositorio reúne varias bibliotecas y proyectos en una sola aplicación. Los proyectos están distribuidos en varios repositorios para permitir la reutilización modular. A continuación se proporcionan scripts para ayudar en la configuración, aunque todo también puede configurarse manualmente. Lo siguiente asume que los repositorios están instalados con la siguiente estructura de directorios.
Esto es un ejemplo. Los clientes en uso pueden variar. La configuración se gestiona mediante app_config.env y el script app_setup.
|-- repos
|-- pankosmia
|-- core-client-content repository
|-- core-client-dashboard repository
|-- core-client-i18n-editor repository
|-- core-client-remote-repos repository
|-- core-client-settings repository
|-- core-client-workspace repository
|-- [your-desktop-app-repo-name] (30 characters or less on windows!)
|-- resource-core
|-- webfonts-core
Instalación de los clientes
El local_server (pankosmia_web) sirve los archivos compilados desde el directorio build de cada cliente, cada cliente debe ser compilado.
Esto se gestiona mediante los scripts clone y build_clients, aunque todo también puede ejecutarse manualmente, lo cual es útil durante el desarrollo.
# ¡En cada repositorio de cliente, NO en este repositorio!
npm ci
npm run build
Ejecutar run, build_server o bundle_... copia la última compilación al entorno de build.
Scripts
Configuración
Los archivos de configuración deben coincidir con los clientes y assets utilizados. Se proporcionan scripts para generarlos, según app_config.env. Los archivos creados por el script app_setup son:
| Linux | Windows | MacOS |
|---|---|---|
| buildSpec.json /globalBuildResources/i18nPatch.json /globalBuildResources/product.json /linux/buildResources/setup/app_setup.json | buildSpec.json \globalBuildResources\i18nPatch.json \globalBuildResources\product.json \windows\buildResources\setup\app_setup.json | buildSpec.json /globalBuildResources/i18nPatch.json /globalBuildResources/product.json /macos/buildResources/setup/app_setup.json |
Revise app_config.env y ajuste según sea necesario, luego ejecute uno de los scripts de configuración que siguen. Vuelva a ejecutar el script app_setup cada vez que se modifique app_config.env.
Scripts de configuración:
Ejecute desde la ubicación proporcionada:
| Descripción | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
| Usa app_config.env para generar/reconstruir/reemplazar app_setup.json, buildSpec.json, product.json e i18nPatch.json | ./app_setup.bsh | .\app_setup.bat | ./app_setup.zsh |
Scripts de configuración:
Ejecute desde la ubicación proporcionada:
| Descripción | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
Clona todos los repositorios en /app_config.env si un directorio con ese nombre no existe ya | ./clone.bsh Clona por defecto vía HTTPS. Argumento opcional: ./clone.bsh -sClona vía SSH. | .\clone.bat Clona por defecto vía HTTPS. Argumento opcional: .\clone.bat -sClona vía SSH. | ./clone.zsh Clona por defecto vía HTTPS. Argumento opcional: ./clone.zsh -sClona vía SSH. |
Para cada repositorio de assets en /app_config.env: git checkout main, git pullPara cada repositorio de cliente en /app_config.env: git checkout main, git pull, npm ci y npm run build.Los desarrolladores deben compilar manualmente al probar ramas. | ./build_clients.bsh Argumento opcional: ./build_clients.bsh -dElimina los logs anteriores sin preguntar. | .\build_clients.bat Argumento opcional: .\build_clients.bat -dElimina los logs anteriores sin preguntar. | ./build_clients.zsh Argumento opcional: ./build_clients.zsh -dElimina los logs anteriores sin preguntar. |
| Crear un visor Electronite para usar con el entorno de build de desarrollo local. | ./build_viewer.bsh | .\build_viewer.ps1(use un terminal powershell) | ./build_viewer.zsh |
Scripts de uso:
Nota: Se pueden aplicar múltiples argumentos en cualquier orden, por ejemplo, ./run.zsh -s -d es lo mismo que ./run.zsh -d -s
| Descripción | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
elimina el directorio de build y ejecuta cargo clean[4] | ./clean.bsh Argumentos opcionales: ./clean.bsh -sNo preguntará si el servidor está apagado | .\clean.bat Argumentos opcionales: .\clean.bat -sNo preguntará si el servidor está apagado | ./clean.zsh Argumentos opcionales: ./clean.zsh -sNo preguntará si el servidor está apagado |
ejecuta cargo build y node build.js | ./build_server.bsh Argumentos opcionales: ./build_server.bsh -sNo preguntará si el servidor está apagado ./build_server.bsh -dCompila el servidor en modo debug | .\build_server.bat Argumentos opcionales: .\build_server.bat -sNo preguntará si el servidor está apagado .\build_server.bat -dCompila el servidor en modo debug | ./build_server.zsh Argumentos opcionales: ./build_server.zsh -sNo preguntará si el servidor está apagado ./build_server.zsh -dCompila el servidor en modo debug |
| Ensambla el entorno de build (clientes) e inicia el servidor [2] | ./run.bsh Argumentos opcionales: ./run.bsh -sNo preguntará si el servidor está apagado .\run.bsh -dEjecuta el servidor en modo debug | .\run.bat Argumentos opcionales: .\run.bat -sNo preguntará si el servidor está apagado .\run.bat -dEjecuta el servidor en modo debug | ./run.zsh Argumentos opcionales: ./run.zsh -sNo preguntará si el servidor está apagado .\run.zsh -dEjecuta el servidor en modo debug |
Lanza el visor Electronite para usar con el entorno de desarrollo. (Requiere que el visor haya sido previamente creado mediante el script build_viewer.) | ./viewer.bsh Herramientas de desarrollo: Ctrl + Shift + I Argumento opcional: ./viewer.bsh [PORT#](por defecto 19119) | .\viewer.bat Herramientas de desarrollo: Ctrl + Shift + I Argumento opcional: .\viewer.bat [PORT#](por defecto 19119) | ./viewer.zsh Herramientas de desarrollo: Cmd + Option + I Argumento opcional: ./viewer.zsh [PORT#](por defecto 19119) |
Elimina los últimos bundles y el contenido temporal del sistema operativo dado (si existen), luego en este repositorio ejecuta git checkout main, git pull y npm ci, ejecuta app_setup.bat para asegurar la consistencia de versiones, ejecuta node build.js, y luego crea un bundle de release zip y un instalador independiente. (*) (•) | ./bundle_viewer.bsh (Solo compila y empaqueta el visor. Haga todo lo demás de la descripción manualmente o mediante otros scripts listados aquí.) | .\bundle_viewer.ps1 Argumentos opcionales: o: “y”; No preguntará si el servidor está apagado | ./bundle_viewer.zsh Argumentos opcionales: ./bundle_viewer.zsh -sNo preguntará si el servidor está apagado |
Elimina el último bundle de release .zip si existe, luego en este repositorio ejecuta git checkout main, git pull y npm ci, ejecuta app_setup.bat para asegurar la consistencia de versiones, ejecuta node build.js, y luego crea un bundle de release zip [2] | ./bundle_tgz.bsh Argumentos opcionales: ./bundle_tgz.bsh -sNo preguntará si el servidor está apagado /bundle_tgz.bsh -gEjecutar desde Github Actions | .\bundle_zip.ps1 Argumentos opcionales: -ServerOff “Y” o: “y”; No preguntará si el servidor está apagado -IsGHA “Y” o: “y”; Ejecutar desde Github Actions | ./bundle_zip.zsh Argumentos opcionales: /bundle_zip.zsh -sNo preguntará si el servidor está apagado /bundle_zip.zsh -gEjecutar desde Github Actions |
Elimina el último bundle de release .exe si existe, luego en este repositorio ejecuta git checkout main, git pull y npm ci, ejecuta app_setup.bat para asegurar la consistencia de versiones, ejecuta node build.js, y luego crea un instalador exe [2][3] | .\bundle_exe.ps1 Argumentos opcionales: o: “y”; No preguntará si el servidor está apagado [3] |
Scripts de mantenimiento:
Ejecute desde la ubicación proporcionada:
| Descripción | Linux: cd linux/scripts | Windows:[1] cd windows\scripts | MacOS: cd macos/scripts |
|---|---|---|---|
| Facilita la sincronización con el upstream excluyendo los archivos que se espera que difieran: | ./sync.bsh Argumentos opcionales: ./sync.bsh -pNo preguntará si la última versión ya fue obtenida. | .\sync.bat Argumentos opcionales: .\sync.bat -pNo preguntará si la última versión ya fue obtenida | ./sync.zsh Argumentos opcionales: ./sync.zsh -pNo preguntará si la última versión ya fue obtenida. |
Notas al pie
[1] … Al ejecutar un script bat desde un símbolo del sistema, el .\ incluido en los ejemplos es opcional.
[2] … ¡Asegúrese de que el servidor (build_server.bat) esté actualizado!
[3] … Requisito previo del entorno para ejecutar el build exe localmente: Instale Inno Setup - probado con v6.4.3
[4] … Consejos de limpieza específica:
- Para limpiar solo el servidor de desarrollo: vaya al directorio /local_server y ejecute
cargo clean --target-dir target/debug - Para limpiar solo el servidor de desarrollo: vaya al directorio /local_server y ejecute
cargo clean --target-dir target/release - Para limpiar solo el entorno de build, vaya al subdirectorio de su SO (es decir, /macos, /linux o /windows), luego elimine recursivamente su subdirectorio build.
- (El script clean hace todo lo anterior.)