3 repositorios
Tools that modify the structure and instructions of compiled bytecode to achieve specific functional goals.
Distinct from Bytecode Converters: Distinct from Bytecode Converters which typically change VM formats; transformers modify instructions within a format.
Explore 3 awesome GitHub repositories matching development tools & productivity · Bytecode Transformers. Refine with filters or upvote what's useful.
gradle-retrolambda es un plugin de Gradle y transformador de bytecode diseñado para permitir el uso de expresiones lambda de Java moderno en entornos de ejecución de Java y Android antiguos. Funciona como una herramienta de backporting que asegura que la sintaxis de programación funcional moderna siga siendo compatible con máquinas virtuales antiguas. El proyecto transforma archivos de clase compilados para hacerlos compatibles con entornos Java 6 y 7. Esto permite utilizar características modernas de Java en proyectos que deben mantener compatibilidad con versiones anteriores de la API y dispositivos Android antiguos. La herramienta se integra en el proceso de automatización de compilación de Gradle, aplicando transformaciones post-compilación para modificar el binario de salida. Utiliza desugaring a nivel de bytecode para convertir expresiones lambda en clases internas anónimas y genera puentes de ejecución compatibles.
Gradle plugin that converts Java lambda expressions into bytecode compatible with Java 6 and 7 environments.
cglib es un conjunto de herramientas para la generación de bytecode de la JVM, transformación de clases y creación de proxies dinámicos. Proporciona una API de alto nivel para crear y transformar bytecode de Java en tiempo de ejecución para modificar el comportamiento de las clases, así como un framework para interceptar llamadas a métodos y acceso a campos. El proyecto implementa la generación de proxies dinámicos para soportar la programación orientada a aspectos y patrones de acceso a datos personalizados. También incluye un gestor de serialización para implementar contratos de serialización añadiendo métodos específicos y controlando el reemplazo de objetos dentro de las clases proxy. La librería cubre la manipulación de bytecode y la transformación de código en tiempo de ejecución para alterar las estructuras de las clases antes de que se carguen. Además, incluye técnicas de optimización de rendimiento para reducir la sobrecarga de los proxies mediante el filtrado de métodos y callbacks ligeros.
Modifies the structure and instructions of compiled bytecode to change behavior before classes load.
Este proyecto es un plugin de compilación de Gradle para Android diseñado para automatizar la creación de paquetes de aplicaciones específicos para cada canal a partir de un único proceso de compilación. Funciona como un generador de variantes de APK que inyecta identificadores de distribución únicos en los paquetes de aplicaciones para rastrear las fuentes de instalación en diferentes tiendas de aplicaciones. La herramienta gestiona todo el ciclo de vida de la distribución, desde la definición de canales de destino mediante configuración externa hasta la generación de las variantes de paquete correspondientes. Utiliza nombres de artefactos basados en plantillas con marcadores de posición dinámicos para organizar los archivos de salida e incluye un sistema para cargar binarios firmados y metadatos en repositorios Maven remotos a través de endpoints de lanzamiento y snapshot. El plugin maneja transformaciones de paquetes post-compilación para incrustar marcadores de distribución sin requerir una recompilación completa. Además, proporciona capacidades para la identificación de canales en tiempo de ejecución para activar comportamientos específicos del entorno, así como utilidades de validación para verificar que las etiquetas de canal correctas se incrustaron durante la compilación.
Modifies compiled application files after the build to embed metadata without requiring a full recompilation.