그래들과 그루비 매직
다음은 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.)