Ini jawaban yang benar. 'Gradle assemble' akan meninggalkan banyak tugas lain juga. Lihat diagram ini untuk mendapatkan ide. Untuk bangunan biasa yang nyata, 'gradle assemble' akan meninggalkan lebih banyak tugas.
Bekerja meskipun Anda mungkin perlu menambahkan mis -x integTestdan sebagainya, jadi tidak senyaman selimut Maven -DskipTests.
Jesse Glick
1
@c_maker, Bagaimana cara melakukan ini dari eclipse?
rinuthomaz
Apakah mungkin untuk mengeksekusi file kelas? Maksud saya, dengan runsaya dapat melihat efek dari program Hello saya. Tapi saya pikir itu kompilasi semuanya lagi. Saya hanya ingin menjalankan program java.
Sigur
107
Mencoba:
gradle assemble
Untuk daftar semua tugas yang tersedia untuk proyek Anda, coba:
gradle tasks
MEMPERBARUI:
Ini mungkin kelihatannya bukan jawaban yang paling benar pada awalnya, tetapi bacalah dengan teliti gradle taskskeluaran atau dokumen.
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
Sebagai petunjuk tambahan jika Anda gradle assemblemen -debug unit test Anda: tidak akan mengkompilasi file utama. Jika Anda berusaha memperbaiki unit test Anda maka Anda perlu gradle assemble testClasses- Saya pikir penamaan tugas build cukup membingungkan.
Martin
36
Jawaban yang diterima adalah yang benar.
OTOH, cara saya sebelumnya memecahkan ini adalah dengan menambahkan yang berikut ke semua proyek:
Bagi saya ini masih satu-satunya pilihan yang berfungsi karena tes -x tampaknya hanya bekerja pada proyek awal tetapi tidak untuk dependensi dalam membangun multi proyek (diuji pada gradle 2.1). Letakkan test.onlyif ... di blok configure (subprojects.findAll {javaProjects.contains (it.name)}) {} di root build.gradle Anda dan itu akan bekerja untuk semua proyek.
timm
Bagus Cara ini akrab bagi pengguna pakar.
AlexR
23
Anda dapat menambahkan baris berikut ke build.gradle, **/*mengecualikan semua tes.
silakan kirim tangkapan layar halaman tersebut. saya tidak tahu di mana harus meletakkan baris kode ini ....
Hossein Mansouri
Sepotong kode ini harus ada di build.gradle Anda :)
Suganthan Madhavan Pillai
2
cara berbeda untuk menonaktifkan tugas pengujian dalam proyek adalah:
tasks.withType(Test) {enabled = false}
perilaku ini kadang-kadang diperlukan jika Anda ingin menonaktifkan tes di salah satu proyek (atau grup proyek).
Dengan cara ini bekerja untuk semua jenis tugas tes, bukan hanya 'tes' java. Juga, cara ini aman. Inilah yang saya maksud, katakanlah: Anda memiliki serangkaian proyek dalam berbagai bahasa: jika kami mencoba menambahkan catatan semacam ini di main build.gradle:
@KirankumarDafda - no. Anda dapat memposting jawaban kapan pun Anda inginkan, bahkan jika jawaban yang ada telah diterima. Jawaban baru mungkin lebih baik daripada jawaban yang diterima, atau menyelesaikannya dengan cara yang berbeda, atau membantu orang lain. Dari Ulasan .
Wai Ha Lee
@ WanHaLee Saya tidak dapat mengedit komentar saya, tetapi karena saya mendapat saran untuk pengguna baru, saya ingin menjelaskan bahwa mencoba menambahkan jawaban dengan lebih banyak klarifikasi sehingga pengguna lain dapat memeriksa apakah mengapa jawaban atau kode ini membantu mereka.
$ gradle tasks
Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
testClasses - Assembles test classes.
Verification tasks
------------------
test - Runs the unit tests.
-DskipTests
untuk MavenJawaban:
Anda harus menggunakan
-x
argumen baris perintah yang mengecualikan tugas apa pun.Mencoba:
Memperbarui:
Tautan dalam komentar Peter berubah. Berikut adalah diagram dari panduan pengguna Gradle
sumber
-x integTest
dan sebagainya, jadi tidak senyaman selimut Maven-DskipTests
.run
saya dapat melihat efek dari program Hello saya. Tapi saya pikir itu kompilasi semuanya lagi. Saya hanya ingin menjalankan program java.Mencoba:
Untuk daftar semua tugas yang tersedia untuk proyek Anda, coba:
MEMPERBARUI:
Ini mungkin kelihatannya bukan jawaban yang paling benar pada awalnya, tetapi bacalah dengan teliti
gradle tasks
keluaran atau dokumen.sumber
gradle assemble
men -debug unit test Anda: tidak akan mengkompilasi file utama. Jika Anda berusaha memperbaiki unit test Anda maka Anda perlugradle assemble testClasses
- Saya pikir penamaan tugas build cukup membingungkan.Jawaban yang diterima adalah yang benar.
OTOH, cara saya sebelumnya memecahkan ini adalah dengan menambahkan yang berikut ke semua proyek:
Jalankan build dengan
-Dskip.tests=true
dan semua tugas tes akan dilewati.sumber
Anda dapat menambahkan baris berikut ke
build.gradle
,**/*
mengecualikan semua tes.sumber
Anda dapat mengecualikan tugas
https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_executing_tasks
sumber
Referensi
Untuk mengecualikan tugas apa pun dari gradle, gunakan
-x
opsi baris perintah. Lihat contoh di bawah iniOutput dari:
gradle -q dist -x runningTest
Semoga ini akan memberi Anda dasar
sumber
cara berbeda untuk menonaktifkan tugas pengujian dalam proyek adalah:
perilaku ini kadang-kadang diperlukan jika Anda ingin menonaktifkan tes di salah satu proyek (atau grup proyek).
Dengan cara ini bekerja untuk semua jenis tugas tes, bukan hanya 'tes' java. Juga, cara ini aman. Inilah yang saya maksud, katakanlah: Anda memiliki serangkaian proyek dalam berbagai bahasa: jika kami mencoba menambahkan catatan semacam ini di main
build.gradle
:kita akan gagal dalam suatu proyek ketika jika kita tidak memiliki tugas yang disebut tes
sumber
Menggunakan
-x test
lewati pengujian pelaksanaan tetapi ini juga mengecualikan kompilasi kode tes.Dalam kasus kami, kami memiliki proses CI / CD di mana satu tujuan adalah kompilasi dan tujuan berikutnya adalah pengujian (Build -> Test).
Jadi, untuk
Build
tujuan pertama kami, kami ingin memastikan bahwa seluruh proyek dapat dikompilasi dengan baik. Untuk ini kami telah menggunakan:Pada tujuan berikutnya kita cukup menjalankan tes.
sumber
Jika mesin Anda memiliki beberapa inti. Namun, tidak dianjurkan untuk menggunakan pembersihan paralel.
sumber
Silakan coba ini:
gradlew -DskipTests=true build
sumber
Di Plugin Java :
Gradle build tanpa tes Anda memiliki dua opsi:
tetapi jika Anda ingin mengompilasi tes:
sumber