문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 마지막 판 양쪽 다음 판 | ||
gradle:organizing_build_logic [2013/07/12 15:29] kwon37xi [buildSrc 프로젝트의 소스 빌드하기] |
gradle:organizing_build_logic [2015/09/22 17:48] kwon37xi [apply] |
||
---|---|---|---|
줄 108: | 줄 108: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== JDBC Driver 로딩 못하는 문제 ===== | ||
+ | * Gradle 1.6에서 '' | ||
+ | * http:// | ||
+ | repositories { | ||
+ | mavenCentral() | ||
+ | } | ||
+ | configurations { | ||
+ | driver | ||
+ | } | ||
+ | dependencies { | ||
+ | driver group: ' | ||
+ | } | ||
+ | |||
+ | URLClassLoader loader = GroovyObject.class.classLoader | ||
+ | configurations.driver.each {File file -> | ||
+ | loader.addURL(file.toURL()) | ||
+ | } | ||
+ | |||
+ | // JDBC Driver 사용하는 코드 혹은 custom task/plugin 제작 | ||
+ | </ | ||
+ | |||
===== 공유 스크립트 ===== | ===== 공유 스크립트 ===== | ||
[[: | [[: | ||
줄 174: | 줄 196: | ||
</ | </ | ||
- | 멀티 프로젝트에서는 프로젝트 빌드 스크립트의 의존성이 모든 서브프로젝트에도 적용된다. | + | * 멀티 프로젝트에서는 프로젝트 빌드 스크립트의 의존성이 모든 서브프로젝트에도 적용된다. |
+ | * 멀티 프로젝트에서 최상위 프로젝트의 '' | ||
===== Ant 의존성 추가 ===== | ===== Ant 의존성 추가 ===== | ||
빌드 스크립트의 외부 의존성 추가 방식으로는 Ant에 의존성을 추가할 수 없다. | 빌드 스크립트의 외부 의존성 추가 방식으로는 Ant에 의존성을 추가할 수 없다. | ||
줄 212: | 줄 234: | ||
</ | </ | ||
+ | 이 방식을 사용할 경우 [[ci: | ||
+ | 아래와 유사한 오류가 발생할 것이다. | ||
+ | < | ||
+ | A problem occurred evaluating script. | ||
+ | Could not open buildscript class cache for script ' | ||
+ | Timeout waiting to lock buildscript class cache for script ' | ||
+ | It is currently in use by another Gradle instance. | ||
+ | Owner PID: unknown | ||
+ | Our PID: 15314 | ||
+ | Owner Operation: unknown | ||
+ | Our operation: | ||
+ | Lock file: / | ||
+ | </ | ||
+ | 이 때 해결책은 빌드 스크립트 URL의 맨 뒤에 Jenkins Job의 이름을 넣어주는 것이다. 마지막의 '' | ||
+ | <code groovy> | ||
+ | apply from: " | ||
+ | </ | ||
+ | 이 경우 계속해서 빌드 스크립트 캐시가 서로 다른이름으로 생성되어 파일 갯수가 증가하게 된다. | ||
+ | ''/ | ||
+ | |||
+ | <code sh> | ||
+ | find / | ||
+ | </ |