https://kimmandooo.tistory.com/5
이때 한번 작성을 한 적이 있는 데 오랜만에 프로젝트 생성해서 보니 필요한 파라미터가 하나 더 생겼다.
`providers`인데, 이거까지 고려한 코드는 아래처럼 바뀐다.
fun getApiKey(propertyKey: String): String {
return gradleLocalProperties(rootDir, providers).getProperty(propertyKey)
}
providers라고 그냥 적으면 알아서 getter인 getProvider를 호출해 ProviderFactory의 기본 인스턴스가 들어가서 무리없게 실행된다. 이게 추가된 이유는 단순히 gradle 버전이 올라가면서 권장 조건이 추가되었기 때문이다.
Provider를 사용하는 방법이 좀 더 유연한 처리방식이라고 해서 권장방식으로 채택되었다고한다...
위 코드는 local.properties에서 값을 긁어오는 방식이고, 다른 property를 직접 만들어서 가져오고 싶으면 아래처럼 만들어서 사용하면 된다.
fun getApiKeyWithProvider(propertyKey: String): String {
val propertyProvider = providers.gradleProperty(propertyKey)
return propertyProvider.orNull ?: throw IllegalArgumentException("${propertyKey} not found")
}
gradleProperty에서 동적으로 가져오는 코드다.
도움이 됐다면 댓글이나 공감 버튼 한 번씩 누르고 가주세요!
반응형
'Android 🖥️ > gradle📖' 카테고리의 다른 글
build-logic 적용하기(feat. 멀티모듈) (0) | 2024.09.01 |
---|---|
gradle에서 local.properties에 선언한 api key값 받아올때 manifest에 넣을 때와 BuildConfig로 접근할 때 차이점 (0) | 2024.07.12 |
gradle에서 api와 implementation 차이 (0) | 2023.12.15 |