Como especificar a compatibilidade de origem e destino no módulo Java?

Eu tenho um projeto Gradle que consiste em um módulo Android (ocom.android.library O plug-in é aplicado nobuild.gradle arquivo) e um módulo Java (ojava O plug-in é aplicado nobuild.gradle Arquivo). Dentro dobuild.gradle arquivo do módulo Java, especifiquei anteriormente a compatibilidade de origem e destino da seguinte forma:

apply plugin: 'java'

compileJava {
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
}

Acabei de atualizar as versões "Android Plugin for Gradle" e "Gradle Wrapper" para as versões mais recentes (2.2.3 e 3.2.1 respectivamente) e agora estou vendo avisos no módulo Java da seguinte maneira:

Access to 'sourceCompatibility' exceeds its access rights
Access to 'targetCompatibility' exceeds its access rights

Se eu mover osourceCompatibility etargetCompatibility declarações para o nível raiz do módulobuild.gradle arquivo da seguinte forma ...

apply plugin: 'java'

sourceCompatibility = 1.7
targetCompatibility = 1.7

... então recebo mensagens de aviso informando que as atribuições não são usadas.

Qual é a maneira correta de especificar o nível de compatibilidade de origem e destino de um módulo Java na versão mais recente do Gradle?

questionAnswers(3)

yourAnswerToTheQuestion