2015-12-30 7 views
1

ресурсов Когда я перебирать хранилище исходного кода я, как этотGradle получить относительный путь

def resourceDir = proj.sourceSets.main.output.resourcesDir 
resourceDir.eachFileRecurse(groovy.io.FileType.FILES) { // only files will be recognized 
    file -> 
     def path = FilenameUtils.separatorsToUnix(file.toString()) 
     if (FilenameUtils.getExtension(file.toString()) in supportedResourceExt) { 
     proj.logger.lifecycle("Reading file {}.", file) 
     //..... 
     } 
} 

в журнале он пишет об этом

Reading file D:\PROJECT_FOLDER\project\subproject\subsubproject\build\resources\main\com\package\something\file.txt 

Как получить только часть, начиная с com\package\something\file.txt без явного прочтения file.substring(file.indexOf)?

Может быть, это возможно как-то релятивизировать его с помощью пути к проекту?

ответ

3

Кажется, что:

proj.logger.lifecycle("Reading file {}.", file.absolutePath - resourceDir.absolutePath) 

должен работать. Не могу проверить это прямо сейчас.

+0

Действительно, это работает! – lapots

Смежные вопросы