Подтвердить что ты не робот

Ссылка на домашний каталог пользователя в Gradle script

Есть ли более чистый способ ссылаться на файл в домашнем каталоге пользователя, чем на следующее: gradle script? (ссылаясь на хранилище ключей Android в этом примере)

homeDir = System.getenv('HOMEDRIVE') + System.getenv('HOMEPATH');
...
signingConfigs {
    release {
        storeFile file(homeDir + "\\.android\\releaseKeystore.jks")
    }
}
...
4b9b3361

Ответ 1

Неподтвержденный код, но как насчет чего-то вроде этого (может потребоваться скобки вокруг бит "X как файл" ):

signingConfigs {
  release {
    storeFile "${System.properties['user.home']}${File.separator}.android${File.separator}releaseKeystore.jks" as File
  }
}

Ответ 2

более общий (читается: "groovy" и не используется "ant" )

def homePath = System.properties['user.home']

Ответ 3

Вы можете использовать ant для доступа к свойству user.home. Затем вы можете использовать Java File API, который более ясен, чем конкатенация строки пути.

task hello << {
    def homePath = ant.properties['user.home']
    println homePath
    println new File(homePath, "relative/file/path.txt")
}