Como criar arquivos JAR com várias liberações com Gradle?

Java9 apresenta comJARs de várias liberações.

Digamos que eu tenho o projeto Gradle multimodular usando java8:

project-root
      settings.gradle
      build.gradle 
      /module1
          /src
          ... (common maven structure)
      /module2
      /module3

Este é um projeto multi-módulo comum em Gradle. Digamos que eu precise do MR-Jar paramodule1.

Não consigo adicionarmodule1-java9 visando Java9 porque a base está em 8 - até agora, tanto o meu Gradle quanto o IntelliJ IDEA reclama. Gradle é compilado com o java8, mas preciso habilitar o tempo de execução do java9 apenas para o módulo (não sei como); no IntelliJ IDEA, posso definir o tempo de execução do java9 para o módulo, mas ele é sobrescrito toda vez que o gradle config é recarregado.

Além disso, mesmo que eu o adicione de alguma forma, preciso instruirmodule1 1) construir segundo e 2) incluirmodule1-java9. Aqui está um desenho dessa situação:

project-root
      settings.gradle
      build.gradle 
      /module1
      /module1-java9  (added java9 module)
      /module2
      ...

Como alternativa, isso poderia ser feito sobmodule1, com fontes diferentes:src esrc-java9. mas duvido que isso jamais fosse aceito. Aqui está um desenho:

project-root
      settings.gradle
      build.gradle 
      /module1
          /src
          /src-java9 (added java9 source folder)
      /module2
      /module3

Até agora eu só vejo issomodule1-java9 é um projeto separado (não um módulo) e quemodule1 simplesmente chama o gradle para lá e pega a saída. Sim, é gradle chamando gradle :)))

Existe alguma maneira amigável de desenvolvedor de fazer isso?

questionAnswers(0)

yourAnswerToTheQuestion