Un nuevo componente build4D ha estado disponible en GitHub durante unos meses. Te permite crear sin esfuerzo un proyecto compilado o un componente. Las cosas se ponen aún mejor; esta nueva versión del componente le permitirá generar una aplicación monousuario, ampliando las posibilidades de su flujo de trabajo de desarrollo.
Así que con tool4D disponible desde v20, integrar el proceso de generación de aplicaciones en tus herramientas de CI (Integración Continua) se ha vuelto notablemente conveniente.
¡Profundicemos en los detalles!
¿Qué hace el componente?
Aquí tienes una lista no exhaustiva de lo que el componente te permite hacer:
- compilar el proyecto,
- fusionar el 4D Volume Desktop con su proyecto,
- añadir la información de la aplicación como el Copyright, Empresa…,
- añadir el icono,
- elegir las carpetas a añadir, como Documentation, WebFolder, Default Data…,
- seleccione las carpetas a eliminar, como una carpeta Dev en los Recursos,
- seleccione los módulos a eliminar, como CEF, Mecab, php…,
- generar la licencia de despliegue,
- y firmar la aplicación.
¿Cuál es la diferencia con el comando Build application?
En ambos casos, puedes generar una aplicación monopuesto perfectamente utilizable. El comando Build Application es monolítico. Si quieres personalizar un archivo o añadir o eliminar una carpeta, debes hacerlo después de construir la aplicación. Y para una aplicación macOS, tienes que firmar la aplicación de nuevo.
El componente Build4D se compone de varias clases y funciones codificadas en 4D. Así que si tu aplicación es muy particular y diferente de otras. Puedes añadir fácilmente una nueva función o mejorar una existente.
¿Cómo hacerlo?
El código siguiente es un ejemplo de generación de una aplicación autónoma a partir de un proyecto externo.
var $build : cs.Build4D.Standalone
(
var $settings : Object
var $success : Boolean
$settings :={}
// Define the external project file
$settings .projectFile:=Folder(fk documents folder).file("Contacto/Proyecto/Contacto.4folderDProject")
// Configure the application
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/"
$settings .obfuscated:=True
$settings .packedProject:=False
$settings .useSDI:=False
$settings .startElevated:=False
$settings .lastDataPathLookup:="ByAppPath"
// Define the 4D Volume Desktop path
$settings .sourceAppFolder:=Folder(fk documents folder). xml-ph-0034@deepl.internaapp")
// Specify the components required for compilation
$componentFolder :=Folder(fk documents folder).folder("4D v20.0/4D.app/Contents/Components")
$components :=[]
$components .push($componentFolder.file("4D WritePro Interface.4dbase/4D WritePro Interface.4DZ"))
$settings .compilerOptions:={components: $components}
// Delete the unnecessary module
$settings.excludeModules:=["CEF"; "MeCab"]
// Include the folders and files
$settings .includePaths:=[]
$settings .includePaths.push({source: $componentFolder.folder("4D WritePro Interface.4dbase").path; destination: "../Components/"})
$settings .includePaths.push({source: $componentFolder.folder("4D SVG.4dbase").path; destination: "../Components/"})
// Delete the folders and files
$settings .deletePaths:=[]
$settings .deletePaths.push("Resources/Dev/")
// Add the application icon
$settings .iconPath:="/RESOURCES/myIcon.icns"
// Add the application information
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"
$settings .versioning.fileDescription:="fileDescription"
$settings .versioning.internalName:="internalName"
// Create the deployment license file
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
// Sign the macOS appplication
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"
// Launch the build
$build:=cs.Build4D.Standalone.new($settings)
$success:=$build.build)
Para más detalles sobre cada atributo, lea la documentación de cada clase de componente.
En el caso de las aplicaciones para macOS, es necesario certificarlas ante notario para poder distribuirlas. Para más detalles, consulte la documentación de Apple.
A continuación…
Ve a GitHub para descargar el componente «Build4D». Además, para mantenerte informado sobre todas las novedades del componente, haz clic en el botón «Watch» o pon 4D Depot o Build 4D en tus favoritos. Si necesita ayuda, puede leer esta entrada de blog, que detalla todas las organizaciones 4D y cómo utilizar todas las características de Github.