
Plugin SBT-Dependency-Check memungkinkan proyek untuk memantau perpustakaan dependen untuk kerentanan yang diketahui dan diterbitkan (misalnya CVE). Plugin ini mencapai ini dengan menggunakan perpustakaan OWASP DependencyCheck yang luar biasa yang sudah menawarkan beberapa integrasi dengan sistem integrasi build dan berkelanjutan lainnya. Untuk informasi lebih lanjut tentang bagaimana OWASP DependencyCheck bekerja dan cara membaca laporan, periksa dokumentasi proyek.
SBT-Dependency-Check adalah autoplugin. Cukup tambahkan plugin ke file project/plugins.sbt .
addSbtPlugin("net.vonbuchholtz" % "sbt-dependency-check" % "5.1.0")
Gunakan SBT-Dependency-Check v2.0.0 atau lebih tinggi karena versi sebelumnya tidak lagi kompatibel dengan umpan NVD. Dimulai dengan SBT-Dependency-Check v3.0.0 SBT V0.13.x tidak lagi didukung.
| Tugas | Keterangan | Memerintah |
|---|---|---|
| DependencyCheck | Menjalankan ketergantungan-periksa terhadap proyek saat ini, agregat dan ketergantungannya dan menghasilkan laporan untuk setiap proyek. | $ sbt dependencyCheck |
| DependencyCheckaggregate | Menjalankan ketergantungan-periksa terhadap proyek saat ini, agregat dan ketergantungannya dan menghasilkan satu laporan di direktori output proyek saat ini. | $ sbt dependencyCheckAggregate |
| DependencyCheckanyproject | Menjalankan ketergantungan terhadap semua proyek, agregat dan dependensi dan menghasilkan satu laporan di direktori output proyek saat ini. | $ sbt dependencyCheckAnyProject |
| DependencyCheckDateOnly | Memperbarui cache lokal dari data NVD dari NIST. | $ sbt dependencyCheckUpdateOnly |
| DependencyCheckPurge | Menghapus salinan lokal NVD. Ini digunakan untuk memaksa penyegaran data. | $ sbt dependencyCheckPurge |
| DependencyCheckListtings | Mencetak semua pengaturan dan nilainya untuk proyek. | $ sbt dependencyCheckListSettings |
Laporan akan ditulis ke lokasi default crossTarget.value . Ini dapat ditimpa dengan mengatur dependencyCheckOutputDirectory . Lihat Konfigurasi untuk detailnya.
Catatan: Lari pertama mungkin memakan waktu beberapa saat karena data lengkap dari National Volnerability Database (NVD) yang di -host oleh NIST: https://nvd.nist.gov harus diunduh dan diimpor ke dalam database. Berjalan kemudian hanya akan mengunduh set perubahan kecuali pembaruan terakhir lebih dari 7 hari yang lalu. Disarankan untuk mengatur cermin umpan NVD di jaringan lokal Anda untuk mengurangi risiko pembatasan tingkat. Lihat https://github.com/stevespringett/nist-data-mirror untuk instruksi.
sbt-dependency-check menggunakan konfigurasi default OWASP DependencyCheck. Anda dapat menimpanya dalam file build.sbt Anda. Gunakan Tugas dependencyCheckListSettings untuk mencetak semua pengaturan yang tersedia dan nilainya ke SBT Console.
| Pengaturan | Keterangan | Nilai default |
|---|---|---|
| DependencyCheckAutoupDate | Menetapkan apakah pembaruan otomatis NVD CVE/CPE, pensiunan dan data penekan yang di-host diaktifkan. Tidak disarankan agar ini berubah menjadi salah. | BENAR |
| DependencyCheckCveValidForHours | Menetapkan jumlah jam untuk menunggu sebelum memeriksa pembaruan baru dari NVD. | 4 |
| DependencyCheckFailBuildOncvss | Menentukan apakah bangunan harus gagal jika skor CVSS di atas, atau sama dengan, level yang ditentukan diidentifikasi. Standarnya adalah 11 yang berarti karena skor CVSS adalah 0-10, secara default build tidak akan pernah gagal. Informasi lebih lanjut tentang skor CVSS dapat ditemukan di NVD | 11.0 |
| DependencyCheckJunitFailBuildOncvss | Jika menggunakan format laporan JUnit, ketergantungan CheckJunitFailOncvss menetapkan ambang batas skor CVSS yang dianggap sebagai kegagalan. Nilai standarnya adalah 0 - semua kerentanan dianggap sebagai kegagalan. | 0 |
| DependencyCheckFormat | Format laporan yang akan dihasilkan (html, xml, junit, csv, json, sarif, jenkins, semua). Pengaturan ini diabaikan jika dependencyCheckReportFormat diatur. | Html |
| DependencyCheckFormats | Urutan format laporan yang akan dihasilkan (html, xml, junit, csv, json, sarif, jenkins, semua). | |
| DependencyCheckOutputDirectory | Lokasi untuk menulis laporan. | crossTarget.value EG ./target/scala-2.11 |
| DependencyCheckScanset | Urutan opsional file yang menentukan file tambahan dan/atau direktori untuk dianalisis sebagai bagian dari pemindaian. Jika tidak ditentukan, default ke konvensi Scala standar (lihat dokumentasi SBT untuk detailnya). | /src/main/resources |
| DependencyCheckSKIP | Melewati Analisis Ketergantungan | PALSU |
| DependencyCheckSkiptestScope | Lewati analisis untuk artefak dengan cakupan uji | BENAR |
| DependencyCheckSkipruntimescope | Lewati analisis untuk artefak dengan ruang lingkup runtime | PALSU |
| DependencyCheckSkipprovidedScope | Lewati analisis untuk artefak dengan ruang lingkup yang disediakan | PALSU |
| DependencyCheckSkipoptionalScope | Lewati analisis untuk artefak dengan ruang lingkup opsional | PALSU |
| DependencyCheckSuppressionFiles | Urutan jalur file ke file penindasan XML - digunakan untuk menekan positif palsu. Lihat Menekan Positif Salah untuk Sintaks File. | |
| DependencyCheckCpesTartswith | String awal untuk mengidentifikasi CPE yang memenuhi syarat untuk diimpor. | |
| DependencyCheckHintsfile | Jalur file ke file XML mengisyaratkan - digunakan untuk menyelesaikan negatif palsu. | |
| DependencyCheckUsesBtModuleidasgav | Gunakan ModuleID SBT sebagai pengidentifikasi GAV. Memastikan GAV tersedia meskipun Maven Central tidak. | PALSU |
| DependencyCheckanalysistimeout | Atur batas waktu analisis dalam hitungan menit | 20 |
| DependencyCheckenablexperimental | Aktifkan analisis eksperimental. Jika tidak diaktifkan, analisis eksperimental (lihat di bawah) tidak akan dimuat atau digunakan. | PALSU |
| DependencyCheckenableretired | Aktifkan analisis pensiunan. Jika tidak diaktifkan penganalisa pensiunan tidak akan dimuat atau digunakan. | PALSU |
Properti berikut digunakan untuk mengonfigurasi berbagai analisis jenis file. Properti ini dapat digunakan untuk mematikan analisis spesifik jika tidak diperlukan. Catatan, bahwa analisis spesifik akan secara otomatis menonaktifkan diri mereka sendiri jika tidak ada jenis file yang mereka dukung terdeteksi - jadi secara khusus menonaktifkannya mungkin tidak diperlukan. Untuk informasi lebih lanjut tentang penganalisa individu, lihat Dokumentasi Analisis DependencyCheck.
| Pengaturan | Keterangan | Nilai default |
|---|---|---|
| DependencyCheckArchiveAnyzerenabled | Menetapkan apakah penganalisa arsip akan digunakan. | BENAR |
| DependencyCheckzipextensions | Daftar ekstensi file tambahan yang dipisahkan koma untuk diperlakukan seperti file zip, isinya akan diekstraksi dan dianalisis. | |
| DependencyCheckjaranyzerenabled | Menetapkan apakah JAR Analyzer akan digunakan. | BENAR |
| DependencyCheckDartanalyzerenabled | Menetapkan apakah penganalisa DART eksperimental diaktifkan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyChecknelnomnedExploitedEnabled | Menetapkan apakah pembaruan kerentanan yang diketahui dieksploitasi dan penganalisa diaktifkan. | BENAR |
| DependencyChecknomnelyExploitedUrl | Menetapkan URL ke CISA yang diketahui mengeksploitasi kerentanan JSON Data Feed. | https://www.cisa.gov/sites/default/files/feeds/nown_exploited_vulnerability.json |
| DependencyChecknelnedExploitedValidForHours | Atur interval dalam jam sampai pemeriksaan berikutnya untuk CISA yang diketahui kerentanan yang dieksploitasi JSON Data Feed dilakukan. | 24 |
| DependencyCheckCentalanalizeenabled | Set apakah penganalisa pusat akan digunakan. Jika penganalisa ini dinonaktifkan, ada peluang bagus Anda juga ingin menonaktifkan Nexus Analyzer (lihat di bawah). | PALSU |
| DependencyCheckCentralanalyzerusecache | Menetapkan apakah penganalis pusat akan mensembakan hasil. Hasil yang di -cache berakhir setelah 30 hari. | BENAR |
| DependencyCheckossIndexanAnyzerenabled | Menetapkan apakah penganalisa indeks OSS akan diaktifkan. | BENAR |
| DependencyCheckossindexanalyzerurl | URL dari Layanan Indeks Sonatype OSS. | https://ossindex.sonatype.org |
| DependencyCheckossIndexanalyzerUsecache | Menetapkan apakah penganalisa indeks OSS akan cache hasil. Hasil yang di -cache berakhir setelah 24 jam. | BENAR |
| DependencyCheckossindexanalyzerusername | Nama pengguna opsional untuk digunakan untuk layanan indeks Sonatype OSS. Catatan: Akun dengan indeks OSS tidak diperlukan. | |
| DependencyCheckossIndexAnalyzerPassword | Kata sandi opsional untuk digunakan untuk layanan indeks Sonatype OSS. | |
| DependencyCheckossIndExwarnonlyonremoteErrors | Menetapkan apakah kesalahan jarak jauh dari indeks OSS (misalnya gateway buruk, batas laju terlampaui) akan menghasilkan peringatan hanya alih -alih gagal eksekusi. | PALSU |
| DependencyCheckNexusanAnyzerenabled | Set apakah Nexus Analyzer akan digunakan. Penganalisa ini digantikan oleh penganalisa pusat; Namun, Anda dapat mengonfigurasi ini untuk menjalankan instalasi Nexus Pro. | PALSU |
| DependencyCheckNexusurl | Mendefinisikan titik akhir layanan web server Nexus (contoh http: //domain.enterprise/service/local/). Jika tidak mengatur Nexus Analyzer akan dinonaktifkan. | https://repository.sonatype.org/service/local/ |
| DependencyCheckNexususesproxy | Apakah proxy yang ditentukan harus digunakan saat menghubungkan ke nexus. | BENAR |
| DependencyCheckNexususer | Nama pengguna untuk mengotentikasi titik akhir layanan web server Nexus. Jika tidak mengatur Nexus Analyzer akan menggunakan koneksi yang tidak otentikasi. | |
| DependencyCheckNexusPassword | Kata sandi untuk mengotentikasi titik akhir layanan web server Nexus. Jika tidak mengatur Nexus Analyzer akan menggunakan koneksi yang tidak otentikasi. | |
| DependencyCheckpyDistributionAnyzerenabled | Menetapkan apakah penganalisa distribusi python eksperimental akan digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckPyPackageAnyzerenabled | Menetapkan apakah penganalisa paket python eksperimental akan digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckRubygemsanAnyzerenabled | Menetapkan apakah penganalisa ruby gemspec eksperimental akan digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckopenssLanalyzerenabled | Menetapkan apakah penganalisa openssl harus digunakan atau tidak. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckCmakeanAnyzerenabled | Menetapkan apakah penganalisa CMAKE eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckAutoconfanalyzerenabled | Menetapkan apakah penganalisa autoconf eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckMaveninstallanalyzerenabled | Set apakah penganalisa instalasi maven harus digunakan atau tidak. | BENAR |
| DependencyCheckpipanalyzerenabled | Menetapkan apakah penganalisa PIP eksperimental harus digunakan atau tidak. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckPipFileAnyzerenabled | Menetapkan apakah penganalisa Pipfile eksperimental harus digunakan dependencyCheckEnableExperimental yang dapat diatur secara true. | BENAR |
| DependencyCheckPoetryAnyzerenabled | Menetapkan apakah penganalisa puisi eksperimental harus digunakan dependencyCheckEnableExperimental yang dapat diatur secara true. | BENAR |
| DependencyCheckComposeranyzerenabled | Menetapkan apakah penganalisa file kunci komposer php eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckCpanFileAnalyzerenabled | Menetapkan apakah penganalisa file CPAN Perl Experimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckNodeAnyzerenabled | Menetapkan apakah penganalisa Node.js yang sudah pensiun harus digunakan. | PALSU |
| DependencyCheckNodePackagesKipDevDevDEPENDENSI | Menetapkan apakah penganalisa Node.js akan melewatkan devdependensi. | PALSU |
| DependencyChecknodeauditanyzerenabled | Menetapkan apakah penganalisa audit simpul harus digunakan atau tidak. | BENAR |
| DependencyCheckNodeAuditSKIPDevDevDEPENDENSI | Menetapkan apakah penganalisis audit simpul akan melewatkan devdependensi. | PALSU |
| DependencyCheckNodeAuditanyzerurl | Mengatur URL API Audit Node untuk penganalisis audit simpul. Jika tidak diatur menggunakan URL default. | https://registry.npmjs.org/-/npm/v1/security/audits |
| DependencyChecknodeauditanyzerusecache | Menetapkan apakah analisis audit simpul akan mensembakan hasil. Hasil yang di -cache berakhir setelah 24 jam. | BENAR |
| DependencyCheckNPMcPeAnyzerenabled | Menetapkan apakah atau tidak penganalisis CPE NPM eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckyarnauditanyzerenabled | Menetapkan apakah penganalisa audit benang harus digunakan. Penganalisa ini membutuhkan benang dan koneksi internet. Gunakan dependencyCheckNodeAuditSkipDevDependencies untuk melewatkan dependensi dev. | BENAR |
| DependencyCheckPathToYARN | Menetapkan jalan ke yang dapat dieksekusi benang. | |
| DependencyCheckPnpmauditanyzerenabled | Menetapkan apakah penganalisis audit PNPM diaktifkan. Penganalisa ini membutuhkan PNPM dan koneksi internet. Gunakan nodeAuditSkipDevDependencies untuk melewatkan dependensi dev. | BENAR |
| DependencyCheckPathTopnpm | Menetapkan jalur ke pnpm yang dapat dieksekusi. | |
| DependencyChecknuspecanalyzerenabled | Menetapkan apakah .NET NUGET NUSPEC Analyzer akan digunakan. | BENAR |
| DependencyCheckNugetConfanalyzerenabled | Menetapkan apakah Paket .NET NUGET Experimental . Config Analyzer akan digunakan. dependencyCheckEnableExperimental harus diatur ke true. | PALSU |
| DependencyCheckCocoapodsenabled | Menetapkan apakah penganalisa cocoapods eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckMixauditanyzerenabled | Menetapkan apakah penganalisis audit campuran eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | Sel |
| DependencyCheckMixAuditPath | Menetapkan jalur ke Mix_Audit yang dapat dieksekusi; Hanya digunakan jika MIX Audit Analyzer diaktifkan dan penganalisa eksperimental diaktifkan. | |
| DependencyCheckSwiftenabled | Menetapkan apakah penganalisa manajer paket swift eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckSwiftPackageresolvedanAnyzerenabled | Menetapkan apakah paket swift eksperimental yang diselesaikan Paket harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckBundleauditenabled | Menetapkan apakah analisis audit bundel ruby eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckPathToBundleaudit | Jalan menuju audit bundel ruby. | |
| DependencyCheckBundleauditworkingDirectory | Menetapkan jalur untuk direktori kerja bahwa biner audit bundel ruby harus dieksekusi. | |
| DependencyCheckAssemblyanAnyzerenabled | Menetapkan apakah penganalisa perakitan .NET harus digunakan atau tidak. | BENAR |
| DependencyCheckMSBuildanalyzerenabled | Menetapkan apakah penganalisa msBuild harus digunakan. | BENAR |
| DependencyCheckPathTodotNetCore | Jalur ke inti .NET untuk analisis perakitan .NET pada sistem non-windows. | |
| DependencyCheckPeAnyzerenabled | Menetapkan apakah penganalisa PE eksperimental yang membaca header PE dari file DLL dan EXE harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckReteJSanAnyzerenabled | Menetapkan apakah penganalisa pensiunan harus digunakan atau tidak. | BENAR |
| DependencyCheckireJSForceUpdate | Menetapkan apakah penganalisa pensiunan harus memperbarui terlepas dari pengaturan ´dependencyCheckAutoupDate. | BENAR |
| DependencyCheckireJsanalyzerrepojsurl | Atur URL ke repositori pensiunan. CATATAN Nama file harus jsrepository.json | https://raw.githubusercontent.com/retirejs/retire.js/master/repository/jsrepository.json |
| DependencyCheckReteJsanalyzerrepouser | Nama pengguna untuk otentikasi untuk terhubung ke URL pensiunan. | |
| DependencyCheckireJsanalyzerrepopassword | Kata sandi untuk otentikasi untuk terhubung ke url pensiun. | |
| DependencyCheckReteJsanalyzerrepovalidfor | Atur interval dalam jam sampai cek berikutnya untuk pembaruan CVE dilakukan oleh Panalisis RetireJS | 24 |
| DependencyCheckReteJsanalyzerfilters | Tetapkan satu atau lebih filter untuk penganalisa pensiun. | |
| DependencyCheckireJsanalyzerfilternonvulnerable | Menetapkan apakah penganalisa pensiun harus menyaring dependensi yang tidak mampu | PALSU |
| DependencyCheckartifactoryanAnyzerenabled | Menetapkan apakah penganalisa arttifactory jfrog akan digunakan atau tidak | PALSU |
| DependencyCheckartifactoryAnyzerurl | URL Server Artifactory. | |
| DependencyCheckartifactoryanalyzeruseproxy | Menetapkan apakah Artifactory harus diakses melalui proxy atau tidak. | PALSU |
| DependencyCheckartifactoryanalyzerparallelansysis | Menetapkan apakah penganalisa arttifactory harus dijalankan secara paralel atau tidak. | BENAR |
| DependencyCheckartifactoryanAnyzerusername | Nama pengguna (hanya digunakan dengan token API) untuk terhubung ke instance Artifactory. | |
| DependencyCheckartifactoryAnalyzerapitoken | Token API untuk terhubung ke instance Artifactory. Catatan: Pengaturan ini tidak boleh ditambahkan ke file build.sbt lokal Anda dan berkomitmen untuk repositori kode Anda untuk alasan keamanan. Mereka dapat ditambahkan ke file ~/.sbt/<version>/global.sbt sebagai gantinya | |
| DependencyCheckartifactoryanAnyzerbeerbeatoken | Token pembawa untuk terhubung ke instance Artifactory. Catatan: Pengaturan ini tidak boleh ditambahkan ke file build.sbt lokal Anda dan berkomitmen untuk repositori kode Anda untuk alasan keamanan. Mereka dapat ditambahkan ke file ~/.sbt/<version>/global.sbt sebagai gantinya | |
| DependencyCheckGolangDepenabled | Menetapkan apakah penganalisa ketergantungan Golang eksperimental harus digunakan. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckgolangmodenabled | Menetapkan apakah penganalisa modul Golang eksperimental harus digunakan. Membutuhkan go dipasang. dependencyCheckEnableExperimental harus diatur ke true. | BENAR |
| DependencyCheckPathTogo | Jalan menuju runtime "Go". |
Properti berikut dapat dikonfigurasi di plugin. Namun, mereka lebih jarang diubah. Satu pengecualian mungkin adalah sifat cvedurl, yang dapat digunakan untuk meng -host cermin NVD dalam lingkungan perusahaan.
| Pengaturan | Keterangan | Nilai default |
|---|---|---|
| DependencyCheckCveUrlModified | URL untuk umpan data CVE JSON yang dimodifikasi. Saat mencerminkan NVD, Anda harus mencerminkan file *.json.gz dan *.meta. Opsional Jika dependencyCheckCveUrlBase khusus Anda CekungancveUrlBase hanyalah perubahan nama domain. | https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-podified.json.gz |
| DependencyCheckCveUrlBase | URL dasar untuk umpan data CVE JSON setiap tahun, %D akan diganti dengan tahun ini. | https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-%d.json.gz |
| DependencyCheckCveuser | Nama pengguna yang digunakan saat menghubungkan ke dependencyCheckCveUrlBase . | |
| DependencyCheckCvePassword | Kata sandi yang digunakan saat menghubungkan ke dependencyCheckCveUrlBase . | |
| DependencyCheckCveWaitTime | Waktu dalam milidetik untuk menunggu di antara unduhan dari NVD. | 4000 |
| DependencyCheckCvestArtyear | Tahun pertama data NVD CVE untuk diunduh dari NVD. | 2002 |
| DependencyCheckConnectionTimeout | Mengatur batas waktu koneksi URL (dalam milidetik) yang digunakan saat mengunduh data eksternal. | |
| DependencyCheckConnectionReadtimeout | Mengatur waktu baca URL (dalam milidetik) yang digunakan saat mengunduh data eksternal. | |
| DependencyCheckDataDirectory | Menetapkan direktori data untuk menahan konten SQL CVE. Ini umumnya tidak boleh diubah. | [JAR] Data |
| DependencyCheckDatabasedRiverName | Nama driver database. Contoh: org.h2.driver. | org.h2.driver |
| DependencyCheckDatabasedRiverPath | Jalur ke file jar basis data; Hanya digunakan jika driver tidak ada di jalur kelas. | |
| DependencyCheckConnectionstring | String koneksi yang digunakan untuk terhubung ke database, %s akan diganti dengan nama untuk database | jdbc: h2: file:%s; autocommit = on; mv_store = false; |
| DependencyCheckDatabaseUser | Nama pengguna yang digunakan saat menghubungkan ke database. | DCUSER |
| DependencyCheckDatabasepassword | Kata sandi yang digunakan saat menghubungkan ke database. | |
| DependencyCheckHostedSuppressionseNabled | Apakah file penindasan yang di -host akan digunakan. | BENAR |
| DependencyCheckHostedSuppresiForceUpdate | Apakah file penekan yang di -host akan memperbarui terlepas dari pengaturan dependencyCheckAutoUpdate . | PALSU |
| DependencyCheckHostedSuppresiSurl | URL ke salinan cermin dari file penekan yang di-host untuk lingkungan yang dibatasi internet. | https://jeremylong.github.io/dependencycheck/suppressions/publishedsuppressions.xml |
| DependencyCheckHostedSuppressionSvalidforHours | Menetapkan jumlah jam untuk menunggu sebelum memeriksa pembaruan baru dari NVD. | 2 |
Gunakan ruang lingkup Global atau ThisBuild jika Anda ingin menentukan pengaturan untuk semua proyek. Tentukan pada tingkat proyek jika Anda ingin menyimpang dari pengaturan default atau global/thisbuild untuk proyek tertentu.
build.sbt
Global / dependencyCheckFormats := Seq ( " HTML " , " JSON " )
lazy val root = (project in file( " . " ))
.aggregate(core)
.settings(
libraryDependencies += " com.github.t3hnar " %% " scala-bcrypt " % " 2.6 " % " test " ,
dependencyCheckSkipTestScope := false
)
lazy val util = (project in file( " util " ))
.settings(
libraryDependencies += " commons-beanutils " % " commons-beanutils " % " 1.9.1 "
)
lazy val core = project.dependsOn(util)
.settings(
libraryDependencies += " org.apache.commons " % " commons-collections4 " % " 4.1 " % " runtime " ,
dependencyCheckSkip := true
)
Hampir semua pengaturan hanya dievaluasi untuk proyek yang Anda jalankan, bukan untuk setiap sub-proyek individu. Pengecualian yang didukung untuk bekerja untuk proyek aggregate() dan dependsOn() , adalah pengaturan lompatan lingkup:
dependencyCheckSkipdependencyCheckSkipTestScopedependencyCheckSkipRuntimeScopedependencyCheckSkipProvidedScopedependencyCheckSkipOptionalScopeAnda harus mengatur ini secara individual untuk setiap proyek jika perlu.
Tambahkan yang berikut ke file build.sbt Anda untuk meningkatkan level log dari info default ke misalnya debug .
logLevel in dependencyCheck := Level.Debug
dan tambahkan -Dlog4j2.level=debug saat menjalankan cek:
sbt -Dlog4j2.level=debug dependencyCheck
Ganti dependencyCheck dengan nama tugas yang tepat yang Anda gunakan untuk proyek Anda.
Jika Anda ingin menerapkan beberapa konfigurasi default untuk semua proyek SBT Anda, Anda dapat menambahkannya sebagai pengaturan global:
Tambahkan plugin ke ~/.sbt/1.0/plugins/sbt-dependency-check.sbt
addSbtPlugin( " net.vonbuchholtz " % " sbt-dependency-check " % " 5.1.0 " ) Tambahkan pengaturan di ~/.sbt/1.0/global.sbt menggunakan nama mereka yang sepenuhnya memenuhi syarat (termasuk paket dan struktur objek bersarang). Misalnya
net.vonbuchholtz.sbt.dependencycheck. DependencyCheckPlugin .autoImport.dependencyCheckFormat := " All "Untuk informasi lebih lanjut tentang pengaturan global dan plugin, periksa dokumentasi SBT: https://www.scala-sbt.org/1.x/docs/global-settings.html
SBT dan sbt-dependency-check keduanya menghormati pengaturan proxy HTTP dan HTTPS standar untuk JVM.
sbt -Dhttp.proxyHost=proxy.example.com
-Dhttp.proxyPort=3218
-Dhttp.proxyUser=username
-Dhttp.proxyPassword=password
-DnoProxyHosts="localhost|http://www.google.com"
dependencyCheck
purgeDeletesDatabase run query Update PUBLIC.PROPERTIES t SET t."VALUE"= '<NEW_VERSION_NUMBER>' WHERE t.ID = 'version' Jalankan tugas release dan ikuti instruksi. Pastikan rilis itu mencapai Maven Central. Dibutuhkan hingga dua jam tambahan untuk diindeks untuk https://search.maven.org.
Hak Cipta (C) 2016-2022 Alexander Baron v. Buchholtz
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di
https://www.apache.org/licenses/license-2.0
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.