Lanzamiento de la herramienta de ensamblaje Qbs 1.17

Presentado por liberación de herramientas de montaje Qb 1.17. Este es el cuarto lanzamiento desde que la Compañía Qt abandonó el desarrollo del proyecto, preparado por la comunidad interesada en continuar con el desarrollo de Qbs. Para construir Qbs, se requiere Qt entre las dependencias, aunque Qbs en sí está diseñado para organizar el ensamblaje de cualquier proyecto. Qbs utiliza una versión simplificada del lenguaje QML para definir scripts de compilación de proyectos, lo que le permite definir reglas de compilación bastante flexibles que pueden conectar módulos externos, usar funciones de JavaScript y crear reglas de compilación personalizadas.

El lenguaje de secuencias de comandos utilizado en Qbs está adaptado para automatizar la generación y el análisis de secuencias de comandos de compilación mediante entornos de desarrollo integrados. Además, Qbs no genera archivos MAKE, pero él mismo, sin intermediarios como la utilidad make, controla el lanzamiento de compiladores y enlazadores, optimizando el proceso de construcción en función de un gráfico detallado de todas las dependencias. La presencia de datos iniciales sobre la estructura y las dependencias en el proyecto le permite paralelizar efectivamente la ejecución de operaciones en varios subprocesos. Para proyectos grandes que constan de una gran cantidad de archivos y subdirectorios, el rendimiento de la reconstrucción con Qbs puede ser varias veces más rápido que el de make: la reconstrucción se realiza casi instantáneamente y no obliga al desarrollador a perder tiempo esperando.

Recordemos que en 2018 la Compañía Qt fue tomado decisión de dejar de desarrollar Qbs. Qbs se desarrolló como reemplazo de qmake, pero finalmente se decidió utilizar CMake como sistema de compilación principal para Qt a largo plazo. El desarrollo de Qbs ha continuado ahora como un proyecto independiente apoyado por la comunidad y los desarrolladores interesados. La infraestructura de Qt Company continúa utilizándose para el desarrollo.

El principal innovaciones Pregunta 1.17:

  • Soporte inicial agregado Qt 6.
  • Módulo capnp agregado para usar el protocolo de serialización de datos. Capitán Proto en aplicaciones C++.
  • Añadido por capacidad de especificar variables de producto y proyecto en el lado derecho de las definiciones de propiedades moduleProvider (por ejemplo, "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Se agregó soporte para herramientas para crear proyectos C/C++ para que funcionen sobre hardware sin un sistema operativo (bare-metal, con el parámetro qbs.targetPlatform establecido en 'ninguno'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) y
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Se agregó soporte para el entorno de desarrollo Xcode 12.0 para macOS.
  • Se han limpiado los módulos de Qt para Android.
  • Soporte de compilación mejorado para la plataforma Android. Se agregó una propiedad packageType al módulo Android.sdk para crear paquetes “aab” (Android App Bundles) en lugar de “apk”, así como una propiedad aaptName para usar el nuevo aapt2 (Android Asset Packaging Tool). Se ha suspendido la compatibilidad con la creación de aplicaciones de Android para las plataformas ARMv5, MIPS y MIPS64.

Fuente: opennet.ru

Añadir un comentario