What is the relationship/difference between sourceCompatibility and targetCompatibility? What happens when they are set to different values?
According to Gradle documentation:
sourceCompatibility is "Java version compatibility to use when compiling Java source."
targetCompatibility is "Java version to generate classes for."
My understanding is that targetCompatibility will generate java bytecode that is compatible with a specific version of Java, is this a subset of the functionality of sourceCompatibility?