Добавление ресурсов проекта в плагин Gradle Custom - PullRequest
0 голосов
/ 05 июля 2019

Я создаю плагин Custom gradle, который при применении к проектам будет использовать файлы конфигурации в папке ресурсов проекта для заполнения некоторых шаблонов и создания некоторых других файлов конфигурации.

Но когда я читаю файлы вмой плагин в качестве ресурсов classpath, он не может найти файл.

public class VideoBuildPlugin implements Plugin<Project> {

    @Override
    public void apply(Project target) {
        String file = "app/config/dev.yml"; // These files reside in the resources of the project folder
        VideoBuildPlugin.class.getClassLoader().getResourceAsStream(file); // This line fails
    }
}

Нужно ли мне добавлять ресурсы проекта в путь к классу подключаемого модуля сборки, чтобы это работало?

1 Ответ

0 голосов
/ 06 июля 2019

Вы можете явно добавить файлы в путь к классу buildscript (в вашем приложении, где вы применяете пользовательский плагин):

buildscript {
    dependencies {
        classpath files("src/main/resources")
    }
}

Хотя я не уверен, что это лучший подход.

В качестве альтернативы: Вы можете получить доступ к папке «Ресурсы» в основном источнике Set

        def javaPlugin = project.convention.getPlugin(JavaPluginConvention.class)

        def mainSourceSet = javaPlugin.sourceSets.getByName("main")
        def resources = mainSourceSet.getResources()

        resources.srcDirs[0].resolve("app/config/dev.yml")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...