git-commit-id-maven-plugin은 예를 들어 Build Number Maven Plugin과 매우 유사한 플러그인이지만, 이 플러그인을 시작할 당시의 Build Number 플러그인은 CVS 및 SVN만 지원했기 때문에 뭔가 조치를 취해야 했습니다. 나는 그러한 플러그인의 Git 버전을 신속하게 개발해야 했습니다. 플러그인을 모르는 분들을 위해 기본적으로 다음 작업에 도움이 되고 관련 질문에 답변해 드립니다.
다양한 사용 사례에 더 관심이 있으시면 언제든지 해당 사례에 대해 자세히 읽어보세요.
GitCommitIdMojo.java
내에 Javadoc로 문서화되어 있습니다.플러그인은 Maven Central(여기 참조)에서 사용할 수 있으므로 이 플러그인을 사용하기 위해 추가 저장소를 구성할 필요가 없습니다.
플러그인 사용에 대한 자세한 설명은 플러그인 사용 문서에서 확인할 수 있습니다. 기본 설정에서 해야 할 일은 해당 플러그인 정의를 pom.xml
에 포함하는 것뿐입니다. 고급 사용자를 위해 고급 구성에 대한 간략한 개요를 제공하는 가이드도 준비했습니다. 계속 읽어보세요!
최신 버전(5.xx 이상)은 다음을 통해 제공됩니다.
< groupId >io.github.git-commit-id</ groupId >
< artifactId >git-commit-id-maven-plugin</ artifactId >
이전 버전(4.xx 이하)은 다음을 통해 사용할 수 있습니다.
< groupId >pl.project13.maven</ groupId >
< artifactId >git-commit-id-plugin</ artifactId >
현재 버전은 9.0.0 (변경 목록)입니다.
search.maven.org를 방문하여 사용 가능한 버전을 확인할 수 있지만 최신 버전을 사용하는 것이 분명히 최선의 선택입니다.
다음은 Java와의 현재 플러그인 호환성에 대한 개요입니다.
플러그인 버전 | 필수 Java 버전 |
---|---|
2.1.X | 자바 1.6 |
2.2.X | 자바 1.7 |
3.XX | 자바 1.8 |
4.XX | 자바 1.8 |
5.XX | 자바 11 |
6.XX | 자바 11 |
7.XX | 자바 11 |
8.XX | 자바 11 |
9.XX | 자바 11 |
이 플러그인은 모든 Maven 버전과 호환되려고 노력하지만 특정 버전에는 몇 가지 알려진 제한 사항이 있습니다. 다음은 현재 기술 상태를 개략적으로 설명하는 목록입니다.
플러그인 버전 | 최소 필수 Maven 버전 |
---|---|
2.1.X | Maven 2.2.1~v2.1.13; 이후 2.1.X용 Maven 3.1.1 |
2.2.X | 메이븐 3.1.1부터 v2.2.3까지; 이후 2.2.X용 Maven 3.0 |
3.XX | 메이븐 3.0 |
4.XX | 메이븐 3.0 |
5.XX | 메이븐 3.1.0-alpha-1 |
6.XX | 메이븐 3.1.0-alpha-1 |
7.XX | 메이븐 3.2.5 |
8.XX | 메이븐 3.2.5 |
9.XX | 메이븐 3.6.3 |
테이블을 Maven으로 전환: 이론적으로 Maven 4.X는 모든 Maven 3 플러그인을 지원해야 한다는 점에 유의하세요. 플러그인은 버전 v2.1.14에서 maven 3 지원과 함께 처음 출시되었습니다(maven 버전 3.1.1 필요). 따라서 v2.1.14가 가장 먼저 지원되는 버전이어야 합니다. 6.XX부터 이 플러그인은 실제로 4.0.0-alpha-5로 테스트되었지만 Maven 4에서 플러그인에 Maven 3.2.5 이상이 필요하다고 발표한 이후 일부 릴리스는 작동하지 않을 수 있습니다. 이는 플러그인 버전 7.0의 경우에만 해당됩니다. 0 이상.
메이븐 버전 | 플러그인 버전 | 메모 |
---|---|---|
메이븐 3.X | 어느 | 플러그인에는 최소한 maven 3.1.0-alpha-1이 필요합니다. |
메이븐 4.X | v2.1.14부터 |
수명 종료(EOL) Maven 버전은 더 이상 Maven이나 이 플러그인에서 지원되지 않습니다. 다음 정보는 참고용으로 제공됩니다.
메이븐 버전 | 플러그인 버전 | 메모 |
---|---|---|
메이븐 2.0.11 | 최대 2.2.6 | Maven 2는 EOL이며 git-commit-id-plugin:1.0은 작동하지 않습니다. -- Maven 버전 2.2.1이 필요합니다. |
메이븐 2.2.1 | 최대 2.2.6 | 메이븐 2는 단종되었습니다 |
메이븐 3.0.X | 최대 4.0.5 | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3은 작동하지 않습니다. -- maven 버전 3.1.1이 필요합니다. |
메이븐 3.0.X | 최대 4.0.5 | git-commit-id-plugin 2.2.4 이상: 작동하지만 "org.slf4j.impl.StaticLoggerBinder" 클래스를 로드하지 못했습니다. |
메이븐 3.1.0 | 어느 | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3은 작동하지 않습니다. -- maven 버전 3.1.1이 필요합니다. |
메이븐 3.3.1 | 어느 | git-commit-id-plugin:2.1.14가 작동하지 않습니다 |
메이븐 3.3.3 | 어느 | git-commit-id-plugin:2.1.14가 작동하지 않습니다 |
참고: 예를 들어 이 표는 다음과 같이 읽어야 합니다. Maven 3.1.0
의 경우 any
플러그인 버전이 작동해야 하며 Notes
에 나열된 버전 외에도 제한 사항이 나열되어 있습니다.
정말로 스냅샷을 사용하고 싶다면 스냅샷이 배포된 저장소는 다음과 같습니다. 하지만 Maven Central의 안정적인 버전만 사용하는 것이 좋습니다... :-)
< pluginRepositories >
< pluginRepository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshots</ name >
< url >https://s01.oss.sonatype.org/content/repositories/snapshots/</ url >
</ pluginRepository >
</ pluginRepositories >
이전 스냅샷(이전 버전 5.X)은 <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
을 통해 사용할 수 있습니다.
플러그인이 무엇을 할 수 있는지 보고 싶다면 저장소를 복제하고 다음을 실행하세요.
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
이 프로젝트는 현재 @ktoso(창립자), @TheSnoozer 덕분에 유지되고 있습니다.
이 플러그인을 오늘날처럼 인기 있게 만드는 데 도움을 준 제안 및/또는 끌어오기 요청에 대해 몇몇 분들께 큰 감사를 전하고 싶습니다.
저는 이 플러그인을 GNU Lesser General Public License 3.0 에 따라 출시합니다.
원하는 대로 자유롭게 사용할 수 있으며 전체 라이센스 텍스트는 LICENSE 파일에 첨부되어 있습니다.
기능/개선 사항을 요청하는 가장 좋은 방법은 GitHub의 문제 섹션을 이용하는 것입니다. 이메일보다 낫습니다. "수백만 개의 이메일 받은 편지함"이 있어도 걱정하지 않고 다른 사람이 아이디어가 있거나 찬성 투표를 하고 싶을 수도 있기 때문입니다. 당신의 문제.
그게 전부입니다! 즐거운 해킹되세요!