SourceDirectorySet одного файла - PullRequest
       47

SourceDirectorySet одного файла

0 голосов
/ 30 января 2019

Я пытаюсь создать собственный исходный набор gradle, состоящий из набора файлов (необязательно находящихся в одной и той же директории).Каждый файл может находиться в каталоге, который содержит другие файлы, которые не должны быть частью набора исходных каталогов.

Как создать экземпляр SourceDirectorySetпредставляете один файл?

Я хотел бы использовать такие экземпляры для настройки java источников с использованием метода source:

sourceSets {
    custom {
        java {
            source singleFileSourceDirectorySet
            source singleFileSourceDirectorySet2
            // ...
        }
    }
}

1 Ответ

0 голосов
/ 30 января 2019

Создайте SourceDirectorySet для родительского каталога каждого файла (строка 6).Прикрепите фильтр, который принимает только выбранный файл (строка 7).

sourceSets {
    custom {
        java {
            final java.nio.file.Path srcPath = rootDir.toPath().resolve('path/to/a/File.java')
            final SourceDirectorySet sds = getObjects().sourceDirectorySet("name", "desc")
            sds.srcDir(srcPath.getParent().toFile())
            sds.filter { java.nio.file.Files.isSameFile(it.toPath(), srcPath) }
            source sds
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...