lapots
lapots

Reputation: 13415

gradle get relative resource path

When I iterate over source repository I do like this

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) 
         //.....
      }
 }

In log it writes this

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

How to get only the part starting with com\package\something\file.txt without explicitly reading it like file.substring(file.indexOf)?

Maybe it's posible to relativize it with project path somehow?

Upvotes: 1

Views: 865

Answers (1)

Opal
Opal

Reputation: 84854

It seems that:

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

should work. Can't check it right now.

Upvotes: 3

Related Questions