2016-06-03 10 views
1

긴 제목은 유감스럽게 생각합니다.기존 프로젝트 구조 : intellij는 모듈로 gradle 서브 프로젝트를 인식하지만 소스 코드를 인식하지 못합니다.

나는 우리의 기능 테스트 코드를 통합 테스트 코드에서 분리하려고 노력하고 있으며, 그라프 작업을 사용하여 작동하도록했습니다. intellij에서도 95 %의 일을합니다. 단, "gradle idea"를 할 때마다 기능 테스트 코드를 추가해야합니다.

현재 자체 저장소로 분리하거나 디렉토리 구조를 변경하는 옵션이 아닙니다.

디렉토리 구조는

* MainProject/build.gradle 
* MainProject/WEB-INF/src(java source code) 
* MainProject/(lots of html files) 
* MainProject/WEB-INF/functionalTest(groovy source code) 
* MainProject/functional-gradle/build.gradle 

모양과 나는 MainProject의 일부가되어야 것처럼 보인다하더라도, IntelliJ를 자동으로 functionalTest 테스트 소스 코드 기능 - Gradle을에 속한다는 것을 감지 할 (하지만입니다 MainProject build.gradle sourceSets에 포함되지 않음).

기타 고려 사항 : 우리의 현재 빌드 프로세스가 표준이 아니기 때문에 그라데이션 하위 프로젝트가되고 기본 build.gradle의 일부가 아닌 다른 소스 세트로 사용하고 싶습니다. 깨끗한 그라데이션 슬레이트 및 기능 작업 (필요한 많은)에 필요한 gradle 작업을 분리하십시오. 이렇게하면 결국 자신의 저장소로 쉽게 빠져 나갈 수 있습니다.

아래 그림은 자동 채우기를 원하는 intellij 필드를 보여줍니다 : 하위 프로젝트 모듈의 테스트 소스 폴더.

intellij subproject

Gradle을 sutff의 중요한 부분

sourceSets { 
    test{ 
     groovy{ 
      srcDir '../WEB-INF/catTest'} 
    } 
} 
+0

gradle 하위 프로젝트로 사용하려면 루트에 settings.gradle 파일이 있습니까? –

+0

응답 해 주셔서 감사합니다. 네. 그것의 요람 측면은 지금까지 모두 작동합니다, 그것은 intellij가 서브 프로젝트의 테스트 코드가 그 서브 프로젝트의 메인 폴더 (기능 - gradle) 안에 있지 않다는 것을 어떻게 처리 하는지를 모르는 것처럼 보입니다 –

+0

안녕하세요, 응답. 따라서 명령 줄에서 gradle 작업을 실행하면 올바르게 실행됩니까? 마찬가지로 intellij 설정 또는 gradle 설정에 문제가 있는지 알고 있습니까? –

답변

2

Getting Intellij IDEA (13+) to recognize Gradle module interdependencies

내가 Radim의 대답에 고개가 IDE의 IML 파일을 설정하는 방법에 대한 Gradle을 문서를이처럼 보이는 . https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html

주위를 둘러보고 돌아 가면 사용 사례를 위해 뭔가를 얻었습니다.

EDIT : build.gradle을 루트의 외부 폴더에서 기능 테스트 디렉토리로 옮겼습니다. Intellij가 바로 이것을 선택했습니다.