¿Cuál es la relación / diferencia entre sourceCompatibilityy targetCompatibility? ¿Qué sucede cuando se configuran con valores diferentes?
Según la documentación de Gradle :
sourceCompatibilityes "Compatibilidad con la versión de Java que se utilizará al compilar la fuente de Java"
targetCompatibilityes "Versión Java para generar clases".
Entiendo que targetCompatibilitygenerará un bytecode de Java que sea compatible con una versión específica de Java, ¿es esto un subconjunto de la funcionalidad de sourceCompatibility?