哪些文件 Gradle 打包到 jar 存档中?

What files Gradle packs into a jar archive?

什么表达式(在 build.gradle 文件中)计算出默认情况下打包到 jar 存档中的文件列表(不调整“jar”任务?

我无法轻易地在 org.gradle.jvm.tasks.Jar and org.gradle.api.tasks.bundling.Jar.

的来源中发现它

这个问题的动机是使用未添加到 jar 存档的自定义 sourceSet 文件。

添加jar任务并配置的是Java插件。您可以在 org.gradle.api.plugins.JavaPlugin class:

的源代码中看到这一点
private TaskProvider<Jar> registerJarTaskFor(Project project, JavaPluginConvention pluginConvention) {
    return project.getTasks().register(JAR_TASK_NAME, Jar.class, jar -> {
        jar.setDescription("Assembles a jar archive containing the main classes.");
        jar.setGroup(BasePlugin.BUILD_GROUP);
        jar.from(mainSourceSetOf(pluginConvention).getOutput());
    });
}

https://github.com/gradle/gradle/blob/e343cfe2b37317a3de119da2809887f76042fe0d/subprojects/plugins/src/main/java/org/gradle/api/plugins/JavaPlugin.java#L315-L321