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 -s
Clona vía SSH.
.\clone.bat
Clona por defecto vía HTTPS.
Argumento opcional:
.\clone.bat -s
Clona vía SSH.
./clone.zsh
Clona por defecto vía HTTPS.
Argumento opcional:
./clone.zsh -s
Clona vía SSH.
Para cada repositorio de assets en /app_config.env: git checkout main, git pull
Para 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 -d
Elimina los logs anteriores sin preguntar.
.\build_clients.bat
Argumento opcional:
.\build_clients.bat -d
Elimina los logs anteriores sin preguntar.
./build_clients.zsh
Argumento opcional:
./build_clients.zsh -d
Elimina 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 -s
No preguntará si el servidor está apagado
.\clean.bat
Argumentos opcionales:
.\clean.bat -s
No preguntará si el servidor está apagado
./clean.zsh
Argumentos opcionales:
./clean.zsh -s
No preguntará si el servidor está apagado
ejecuta cargo build y node build.js ./build_server.bsh
Argumentos opcionales:
./build_server.bsh -s
No preguntará si el servidor está apagado
./build_server.bsh -d
Compila el servidor en modo debug
.\build_server.bat
Argumentos opcionales:
.\build_server.bat -s
No preguntará si el servidor está apagado
.\build_server.bat -d
Compila el servidor en modo debug
./build_server.zsh
Argumentos opcionales:
./build_server.zsh -s
No preguntará si el servidor está apagado
./build_server.zsh -d
Compila el servidor en modo debug
Ensambla el entorno de build (clientes) e inicia el servidor [2] ./run.bsh
Argumentos opcionales:
./run.bsh -s
No preguntará si el servidor está apagado
.\run.bsh -d
Ejecuta el servidor en modo debug
.\run.bat
Argumentos opcionales:
.\run.bat -s
No preguntará si el servidor está apagado
.\run.bat -d
Ejecuta el servidor en modo debug
./run.zsh
Argumentos opcionales:
./run.zsh -s
No preguntará si el servidor está apagado
.\run.zsh -d
Ejecuta 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:
`.\bundle_viewer.ps1 -ServerOff "Y"`
o: “y”; No preguntará si el servidor está apagado
./bundle_viewer.zsh
Argumentos opcionales:
./bundle_viewer.zsh -s
No 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 -s
No preguntará si el servidor está apagado
/bundle_tgz.bsh -g
Ejecutar 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 -s
No preguntará si el servidor está apagado
/bundle_zip.zsh -g
Ejecutar 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:
`bundle_exe.ps1 -ServerOff "Y"`
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 -p
No preguntará si la última versión ya fue obtenida.
.\sync.bat
Argumentos opcionales:
.\sync.bat -p
No preguntará si la última versión ya fue obtenida
./sync.zsh
Argumentos opcionales:
./sync.zsh -p
No 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.)