Bagikan melalui


Membuat Modul Penyedia Anda Sendiri

Secara umum, untuk membuat modul penyedia Anda sendiri, Anda harus menerapkan serangkaian antarmuka berikut.

$module::SimpleUsage()

Tujuan
Menampilkan informasi penggunaan modul sederhana ke STDOUT.

Parameter
Tidak

Mengembalikan Nilai
Tidak

$module::VerboseUsage()

Tujuan
Menampilkan informasi penggunaan modul mendalam ke STDOUT.

Parameter
Tidak

Mengembalikan Nilai
Tidak

$objref = $module::new(@CommandArguments)

Tujuan
Menginisialisasi instance modul penyedia.

Parameter

@CommandArguments
Semua argumen @ARGV yang tidak dikenali oleh ssindex.cmd sebagai argumen umum.

Mengembalikan Nilai
Referensi yang dapat digunakan dalam operasi selanjutnya.

$objref->GatherFileInformation($SourcePath,$ServerHashReference)

Tujuan
Memungkinkan modul untuk mengumpulkan informasi pengindeksan sumber yang diperlukan untuk direktori yang ditentukan oleh parameter $SourcePath. Modul tidak boleh berasumsi bahwa entri ini hanya dipanggil sekali untuk setiap instans objek karena SSIndex dapat memanggilnya beberapa kali untuk jalur yang berbeda.

Parameter

$SourcePath
Direktori lokal yang berisi sumber yang akan diindeks.

$ServerHashReference
Referensi ke hash yang berisi semua entri dari file Srcsrv.ini yang ditentukan.

Mengembalikan Nilai
Tidak

($VariableHashReference,$FileEntry) = $objref->GetFileInfo($LocalFile)

Tujuan
Menyediakan informasi yang diperlukan untuk mengekstrak satu file tertentu dari sistem kontrol sumber.

Parameter

$LocalFile
Nama file yang sepenuhnya memenuhi syarat.

Mengembalikan Nilai

$VariableHashReference
Referensi hash dari variabel yang diperlukan untuk menginterpretasikan $FileEntryyang telah dikembalikan. Ssindex.cmd menyimpan variabel ini untuk setiap file sumber yang digunakan oleh satu file debug untuk mengurangi jumlah informasi yang ditulis ke aliran indeks sumber.

$FileEntry
Entri file yang akan ditulis ke aliran indeks sumber untuk memungkinkan SrcSrv mengekstrak file ini dari kontrol sumber. Format yang tepat dari baris ini khusus untuk sistem kontrol sumber.

$TextString= $objref->LongName()

Tujuan
Menyediakan string deskriptif untuk mengidentifikasi sistem kontrol sumber kepada pengguna akhir.

Parameter
Tidak

Mengembalikan Nilai

$TextString
Nama deskriptif sistem kontrol sumber.

@StreamVariableLines=$objref->SourceStreamVariables()

Tujuan
Memungkinkan sistem kontrol sumber untuk menambahkan variabel khusus kontrol sumber ke aliran sumber untuk setiap file debug. Modul sampel menggunakan metode ini untuk menulis variabel EXTRACT_CMD dan EXTRACT_TARGET yang diperlukan.

Parameter
Tidak

Mengembalikan Nilai

@StreamVariableLines
Daftar entri untuk variabel aliran sumber.