그래들과 그루비 매직
다음은 Gradle과 관련하여 가졌을 수 있는 몇 가지 질문과 답변입니다.
1. 작업을 실행하기 위해
gradlew taskName
대신 gradle taskName
를 사용하는 이유는 무엇입니까?그것은 우리 프로젝트에서 Gradle wrapper를 사용하여 프로젝트의 모든 개발자들 사이에 Gradle의 1개 버전을 갖기 때문입니다.
2. Android Studio의 모듈 및 Gradle의 프로젝트
Android 프로젝트는 Gradle 프로젝트이기도 합니다. Gradle은 프로젝트와
build.gralde
파일 사이에 일대일 관계가 있습니다. Android 스튜디오에서 "모듈"이라고 부르는 것과 마찬가지로 Gradle에서는 하위 프로젝트라고 합니다.3. 문자열 리터럴에
'
또는 "
를 사용해야 합니까?Gradle 스크립트를 설명하기 위해 Kotlin과 함께 사용되는 언어 중 하나인 Groovy는 큰따옴표와 작은따옴표를 모두 문자열로 인식합니다.
Groovy의 문자열 유형:
4. 함수 호출, 속성 및 언제 둥근 괄호를 사용해야 합니까?
그루비에서:
필드는 속성이므로 각 클래스 필드는 선언된 필드에 대한 setter 및 getter를 생성합니다.
아래 코드를 보고
Foo.name()
함수를 실행할 때 ./gradlew showMagic
함수가 몇 번이나 트리거되는지 추측해 보십시오.class Foo {
def name = ""
void name(String newString) {
name = newString
println("Foo.name() triggered")
}
}
tasks.create("showMagic") {
doFirst {
group "Whole new group"
description "Check setter and getter capabilities"
def foo = new Foo()
foo.name = "string 1"
println("showMagic() ${foo.name}")
foo.name("string 2")
println("showMagic() ${foo.name}")
foo.name "string 3"
println("showMagic() ${foo.name}")
foo.setName("string 4")
println("showMagic() ${foo.name}")
foo.setName "string 5"
println("showMagic() ${foo.name}")
String propertyOrFunctionName = "name"
foo."$propertyOrFunctionName" = "string 6"
println("showMagic() ${foo.name}")
}
}
산출:
showMagic() string 1
Foo.name() triggered
showMagic() string 2
Foo.name() triggered
showMagic() string 3
showMagic() string 4
showMagic() string 5
showMagic() string 6
5. 여러 매개변수가 있는 함수
위의 코드에서 짐작할 수 있듯이 둥근 괄호를 무시하고 쉼표로 구분된 여러 매개 변수를 전달할 수 있습니다.
void foo(String url, String parameter) {
println url
println parameter
}
tasks.create("callFoo") {
doFirst {
foo "google.com", 'consistency'
}
}
Reference
이 문제에 관하여(그래들과 그루비 매직), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/leonov_dmitrii/gradle-and-groovy-magic-4aa2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)