git-commit-id-maven-plugin adalah sebuah plugin yang sangat mirip dengan Plugin Build Number Maven misalnya tetapi karena plugin Build Number pada saat saya memulai plugin ini hanya mendukung CVS dan SVN, sesuatu harus dilakukan. Saya harus segera mengembangkan versi Git dari plugin semacam itu. Bagi mereka yang belum mengetahui plugin ini, pada dasarnya ini membantu Anda dengan tugas-tugas berikut dan menjawab pertanyaan terkait
Jika Anda lebih tertarik dengan kasus penggunaan yang berbeda, silakan membacanya lebih detail.
GitCommitIdMojo.java
sebagai JavadocPlugin ini tersedia dari Maven Central (lihat di sini), jadi Anda tidak perlu mengonfigurasi repositori tambahan apa pun untuk menggunakan plugin ini.
Penjelasan rinci tentang penggunaan plugin tersedia di dokumen Menggunakan plugin. Yang perlu Anda lakukan dalam pengaturan dasar adalah memasukkan definisi plugin tersebut ke pom.xml
Anda. Untuk pengguna yang lebih mahir, kami juga menyiapkan panduan untuk memberikan gambaran singkat tentang konfigurasi lebih lanjut... baca terus!
Versi yang lebih baru (5.xx atau lebih baru) tersedia melalui
< groupId >io.github.git-commit-id</ groupId >
< artifactId >git-commit-id-maven-plugin</ artifactId >
versi lama (4.xx atau lebih lama) tersedia melalui:
< groupId >pl.project13.maven</ groupId >
< artifactId >git-commit-id-plugin</ artifactId >
Versi saat ini adalah 9.0.0 (daftar perubahan).
Anda dapat memeriksa versi yang tersedia dengan mengunjungi search.maven.org, meskipun menggunakan versi terbaru jelas merupakan pilihan terbaik.
Berikut ini ikhtisar kompatibilitas plugin saat ini dengan Java
Versi Plugin | Versi Java yang Diperlukan |
---|---|
2.1.X | Jawa 1.6 |
2.2.X | Jawa 1.7 |
3.XX | Jawa 1.8 |
4.XX | Jawa 1.8 |
5.XX | Jawa 11 |
6.XX | Jawa 11 |
7.XX | Jawa 11 |
8.XX | Jawa 11 |
9.XX | Jawa 11 |
Meskipun plugin ini mencoba kompatibel dengan setiap versi Maven, ada beberapa batasan yang diketahui pada versi tertentu. Berikut adalah daftar yang mencoba menguraikan keadaan terkini:
Versi Plugin | Versi Maven Minimal yang Diperlukan |
---|---|
2.1.X | Maven 2.2.1 hingga v2.1.13; Maven 3.1.1 untuk versi 2.1.X yang lebih baru |
2.2.X | Maven 3.1.1 hingga v2.2.3; Maven 3.0 untuk versi 2.2.X yang lebih baru |
3.XX | Maven 3.0 |
4.XX | Maven 3.0 |
5.XX | Maven 3.1.0-alpha-1 |
6.XX | Maven 3.1.0-alpha-1 |
7.XX | Maven 3.2.5 |
8.XX | Maven 3.2.5 |
9.XX | Maven 3.6.3 |
Membalik tabel ke maven: Harap dicatat bahwa secara teori maven 4.X harus mendukung semua plugin maven 3. Plugin ini pertama kali dikirimkan dengan dukungan maven 3 di versi v2.1.14 (memerlukan maven versi 3.1.1). Oleh karena itu v2.1.14 harus menjadi versi pertama yang didukung. Baru dimulai dengan 6.XX, plugin ini sebenarnya diuji dengan 4.0.0-alpha-5, tetapi beberapa rilis mungkin tidak berfungsi karena Maven 4 mengumumkan bahwa plugin memerlukan Maven 3.2.5 atau lebih baru yang hanya berlaku untuk plugin versi 7.0. 0 atau lebih baru.
Versi Maven | Versi Plugin | Catatan |
---|---|---|
Maven 3.X | setiap | Plugin ini memerlukan setidaknya maven 3.1.0-alpha-1 |
Maven 4.X | dari v2.1.14 |
Versi Maven akhir masa pakainya (EOL) tidak lagi didukung oleh Maven, maupun plugin ini. Informasi berikut tersedia untuk referensi.
Versi Maven | Versi Plugin | Catatan |
---|---|---|
Maven 2.0.11 | hingga 2.2.6 | Maven 2 adalah EOL, git-commit-id-plugin:1.0 tidak berfungsi -- memerlukan maven versi 2.2.1 |
Maven 2.2.1 | hingga 2.2.6 | Maven 2 adalah EOL |
Maven 3.0.X | hingga 4.0.5 | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 tidak berfungsi -- memerlukan pakar versi 3.1.1 |
Maven 3.0.X | hingga 4.0.5 | Untuk git-commit-id-plugin 2.2.4 atau lebih tinggi: berfungsi, tetapi gagal memuat kelas "org.slf4j.impl.StaticLoggerBinder" |
Maven 3.1.0 | setiap | git-commit-id-plugin:2.1.14, 2.1.15, 2.2.0, 2.2.1, 2.2.3 tidak berfungsi -- memerlukan pakar versi 3.1.1 |
Maven 3.3.1 | setiap | git-commit-id-plugin:2.1.14 tidak berfungsi |
Maven 3.3.3 | setiap | git-commit-id-plugin:2.1.14 tidak berfungsi |
Catatan: Sebagai contoh -- tabel ini harus dibaca sebagai: Untuk Maven 3.1.0
Versi Plugin any
dapat berfungsi, selain yang tercantum dalam Notes
memiliki batasan yang tercantum.
Jika Anda benar-benar ingin menggunakan snapshots , inilah repositori tempat mereka dikerahkan. Tapi saya sangat menyarankan hanya menggunakan versi stabil, dari Maven Central... :-)
< pluginRepositories >
< pluginRepository >
< id >sonatype-snapshots</ id >
< name >Sonatype Snapshots</ name >
< url >https://s01.oss.sonatype.org/content/repositories/snapshots/</ url >
</ pluginRepository >
</ pluginRepositories >
Snapshot Lama (sebelumnya versi 5.X) tersedia melalui <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
.
Jika Anda hanya ingin melihat apa yang bisa dilakukan plugin, Anda dapat mengkloning repositori dan menjalankannya
mvn clean install -Dmaven.test.skip=true && mvn clean package -Pdemo -Dmaven.test.skip=true
Proyek ini saat ini dikelola berkat: @ktoso (pendiri), @TheSnoozer
Saya ingin mengucapkan banyak terima kasih kepada beberapa orang ini, atas saran dan/atau permintaan tarik mereka yang membantu membuat plugin ini sepopuler sekarang:
Saya merilis plugin ini di bawah GNU Lesser General Public License 3.0 .
Anda bebas menggunakannya sesuai keinginan, teks lisensi lengkap terlampir di file LICENSE.
Cara terbaik untuk meminta fitur/peningkatan adalah melalui bagian Masalah di GitHub - ini lebih baik daripada email karena saya tidak akan kehilangan ketika saya memiliki hari "jutaan email masuk", dan mungkin orang lain punya ide atau ingin memberi suara positif masalah Anda.
Itu saja semuanya! Selamat meretas!