2016-06-14 6 views
1

커스텀 메이븐 플러그인은 코어 메이븐의 증분 빌드 지원을 사용할 수 있습니까? 그렇지 않으면 SHA1 해시를 입력과 함께 사용하여 완벽하게 구현해야할까요?Maven 커스텀 플러그인은 코어 Maven의 증분 빌드 지원을 사용할 수 있습니까? 아니면 자체적으로 구현해야합니까?

예 :/target/maven-status/maven-compiler-plugin/createdile.lst 및 inputFiles.lst를 사용하여 컴파일/기본 컴파일을 수행하므로 기존의 사용자 정의 예를 들어 일부 파일을 입력으로 읽는 코드 생성기 Maven 플러그인이 약간의 출력을 생성하고, 증분 빌드를 위해 Maven Plugin API를 올바르게 사용하도록 변경 될 수 있습니까? 특별히 플러그인 코드가 현재와는 다르게해야한다는 점이 명확하지 않습니다. 이것에 관한 어떤 문서도없는 것 같지 않니?

기존 코드는 예 : org.sonatype.plexus.build.incremental.BuildContext.hasDelta (File), org.sonatype.plexus.build.incremental.DefaultBuildContext.hasDelta (File)에 "return true"가 있으면 이것이 효과가 없다는 것은 놀라운 일이 아닙니다 ... ;-) 이것은 Maven에 구현되어 있지 않습니까, 아니면 다르게 구성 될 수 있습니까? takari-lifecycle-plugin이 필요합니까? (이것은 보통의 JAR 대신에 takari-jar를 사용하면 다른 플러그인을 방해 할 수 있기 때문에 요청하는 특정 플러그인의 경우 문제가 될 수 있습니다.)

커스텀 메이븐 플러그인이 Maven 핵심 API와의 인터페이스를 통해 입력 파일 간의 종속성에 대한 개념을 보여줍니다. 이 커스텀 커스텀 메이븐 플러그인의 경우, 입력의 일부는 프로젝트의 클래스 패스에 대한 의존성으로부터 읽혀집니다. 점증적인 지원으로도이를 처리 할 수 ​​있습니까?

maven-compiler-plugin과 같은 기존 Maven 플러그인이 점진적 빌드 (Gradle à la Gradle)로 어려움을 겪고 있다고 생각합니다. [1], [2] 및 [3]을 참조하십시오. 따라서이 Q는 특별히 커스텀 메이븐 플러그인이 증분 빌드를 지원하도록 확장 될 수있는 방법을 배우는 것입니다.

[1] http://takari.io/2014/10/16/incremental-compilation.html

[2] http://takari.io/book/40-lifecycle.html

[3] Does Maven support incremental builds?

답변

0

플러그인 코어 받는다는에서 증분 제작 지원을 사용 맞춤 받는다는 수 있는가?

예. 'querydsl-maven-plugin'소스를 살펴보십시오. grepcode.com으로 BuildContext.hasDelta 메서드를 더 많이 사용할 수 있습니다.

그 자체를 구현해야합니까?

수도 있나요? 예. 그럴 필요가 있니? 아니.

일반적으로 이러한 질문은 단지 불필요한 선점 최적화를 의미합니다. 구현을 시작하기 전에 점진적 빌드를 기대하는 합리적인 이유가 있어야합니다.