SW/Gradle

Gradle : Custom Properties : 추가 방법, 예제, 개념, 설명

얇은생각 2025. 1. 17. 07:30
반응형

오늘은 프로젝트에 Custom Properties를 추가해서 어떻게 더 발전시킬 수 있을지 한번 이야기해 볼게요. 예전에 inbuilt properties를 써서 프로젝트를 다뤘던 걸 넘어서, 이제는 직접 만든 Custom Properties로 프로젝트의 유연성과 확장성을 강화해 보려 합니다. 사실, 이렇게 하면 코드가 복잡해지지도 않고 원하는 대로 조정할 수 있어서 정말 유용하거든요.

개발자라면, 언제나 작업을 조금이라도 쉽게 만들어 줄 몇 가지 비밀 트릭을 알고 있으면 든든하죠. 이번에는 Custom Properties 설정부터 사용까지, 쉽게 풀어보려 해요. 그리고 제가 직접 써보면서 얻은 경험담도 곁들여서, 개발 과정이 어떻게 더 효율적으로 개선됐는지도 공유할게요. 그럼 시작해 볼까요?

 

Gradle : Custom Properties : 추가 방법, 예제, 개념, 설명

 

Custom Properties가 뭐냐고요?

Custom Properties는 말 그대로 프로젝트 객체에 사용자가 직접 정의한 속성을 추가하는 거예요. 기존에 있던 inbuilt properties 위에 뭔가 더 쌓는다고 생각하시면 돼요. 그래서 필요한 값을 더 자유롭게 설정할 수 있죠.

조금 더 쉽게 설명하자면, 우리가 보통은 inbuilt properties로 필요한 걸 처리해 왔잖아요. 근데 가끔은 그 이상의 뭔가가 필요할 때가 있어요. 그럴 때 Custom Properties가 딱이에요. 프로젝트 안에 내가 직접 컨트롤할 수 있는 새로운 속성을 만들어 추가하는 거죠. 그런 느낌이에요.

 

Custom Properties 추가하기: 어떻게 하는지 알아볼까요?

사실 Custom Properties를 추가하는 건 꽤 간단해요. 하지만 이 간단한 변화가 프로젝트 작업 방식을 완전히 바꿀 수도 있답니다. 가장 큰 장점이 뭐냐면요? Custom Properties를 마치 이미 시스템에 내장된 것처럼 사용할 수 있다는 거죠. 자, 이제 그럼 Custom Properties를 어떻게 추가할 수 있는지 단계별로 알아봅시다.

  1. ext 확장으로 Properties 추가하기
    project.ext.xyz = "ABC"
    이렇게 하면 xyz라는 새로운 property가 만들어지고 그 값으로 "ABC"가 들어가게 됩니다. 속성을 정의하는 게 이렇게 간단하죠.
    println(project.xyz)
    여기서 보시다시피, 나중에 속성을 참조할 때 ext를 다시 쓰지 않아도 돼요. 마치 기본적으로 시스템에 있는 것처럼 xyz를 바로 사용할 수 있습니다. 편리하죠?
  2. 그리고 나서 프로젝트의 다른 곳에서도 이렇게 간편하게 사용할 수 있어요:
  3. Custom Properties를 추가하는 가장 간단한 방법은 ext라는 키워드를 사용하는 거예요. 예를 들어 볼게요:
  4. property 메서드로 Properties 접근하기
    println(project.property("xyz"))
    이 방법은 속성 이름을 명확하게 지정해서 접근하고 싶을 때 사용하면 좋아요. property라는 메서드를 호출하면서 따옴표 안에 속성 이름을 넣어주면 되는 거죠. 이렇게 직접 참조와 메서드 접근 두 가지 방식을 다 사용할 수 있으니까, 상황에 따라 유연하게 선택할 수 있는 거예요. 아주 쓸모 있어요!
  5. 또 다른 접근 방법으로는 property 메서드를 사용하는 것이 있어요:

 

Custom Properties 사용해 본 경험담

처음 Custom Properties를 사용했을 때는 사실 조금 혼란스러웠어요. "이 작은 기능이 정말 필요한가? 그냥 값을 하드코딩하거나 inbuilt properties로 해결하면 되는 거 아닌가?" 이런 생각이 들었죠. 그런데 시간이 지나면서 이 작은 기능이 제 작업 방식에 큰 변화를 가져다줄 수 있다는 걸 깨달았어요.

예를 들어서, 여러 환경에서 서로 다른 설정을 필요로 하는 프로젝트를 진행한 적이 있었어요. 개발, 스테이징, 프로덕션 환경마다 설정이 다 달랐죠. 이런 걸 일일이 수동으로 관리하는 게 너무 귀찮고, 중요한 설정을 깜빡하고 업데이트하지 않을까 걱정도 많았어요. 그러다가 Custom Properties를 이용해서 각 환경에 맞는 설정을 전역적으로 정의해 봤어요. 그랬더니 설정을 훨씬 쉽게 바꿀 수 있게 됐고, 빌드도 간편해졌죠. 코드 수정 없이 필요한 설정을 전환할 수 있어서 정말 마음이 한결 가벼웠답니다.

 

Inbuilt vs. Custom Properties: 뭐가 다를까요?

많이 하는 실수 중 하나가 ext 없이 Custom Properties에 값을 할당하려는 거예요. 꼭 기억하세요, 직접 할당은 inbuilt properties에만 해당돼요. Custom Properties를 추가할 때는 반드시 ext를 써야 합니다. 하지만 일단 추가하고 나면, 다른 속성들처럼 쉽게 접근할 수 있어요. 처음엔 조금 헷갈릴 수 있지만, 몇 번 연습해 보면 금방 익숙해질 거예요.

 

빌드 실행해보기

자, 그럼 실제로 빌드를 한번 실행해 봅시다. 빌드를 실행해 보면 "ABC"라는 값이 두 번 출력되는 걸 볼 수 있을 거예요:

println(project.xyz)
println(project.property("xyz"))

두 가지 방식으로 property를 출력하기 때문이에요—하나는 직접적으로, 다른 하나는 property 메서드를 사용한 방식이죠. 둘 다 같은 값을 출력하면서, Custom Property가 잘 추가되고 접근되고 있다는 걸 확인할 수 있습니다.

 

Custom Properties 사용 팁

  • 문서 꼭 읽어보세요: Custom Properties가 간단해 보일 수 있지만, 프로젝트마다 요구사항이 조금씩 다를 수 있어요. 때로는 예기치 못한 상황이 생길 수 있기 때문에, 공식 문서를 참고하면 훨씬 더 효율적으로 사용할 수 있습니다.
  • 의미 있는 이름 사용하기: Custom Properties를 만들 때 이름을 직관적으로 짓는 게 정말 중요해요. 그래야 코드의 가독성과 유지보수성이 훨씬 좋아지거든요.
  • 남용하지 마세요: Custom Properties를 너무 많이 사용하면 프로젝트가 복잡해질 수 있어요. 꼭 필요한 경우에만 사용하는 것이 좋습니다.

 

마무리하며

Custom Properties는 프로젝트의 유연성을 정말 크게 높여줄 수 있는 멋진 도구예요. 다양한 상황에 맞춰 프로젝트를 쉽게 조정할 수 있도록 해주며, 환경 설정을 관리하거나 프로젝트에 추가적인 정보를 넣고 싶을 때 강력한 해결책이 될 수 있답니다.

ext를 사용해서 간편하게 추가할 수 있고, 한 번 추가하면 마치 inbuilt property처럼 쉽게 접근할 수 있어요. 제 경험으로는 Custom Properties가 반복적인 코딩을 줄여주고, 프로젝트 유지보수를 훨씬 더 간편하게 만들어 주었어요. 한번 시도해 보시고, 이 기능이 작업 흐름에 어떤 변화를 가져다주는지 느껴보셨으면 좋겠습니다.

반응형