How To Help Developing Lazarus/id

From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru)

Kebutuhan dasar untuk mengembangkan Lazarus

Ada dua hal yang perlu diperhatikan:

  • Anda harus memiliki FreePascal Compiler (FPC) Keluaran terakhir atau versi SVN terkini (misalnya versi yang akan datang). Untuk mendapatkan FPC, lihat FreePascal download.
  • Anda harus memiliki Lazarus versi paling baru dari SVN. Untuk mendapatkannya, lihat Mendapatkan Lazarus melalui SVN.

Bagian pengembangan

Jadi sekarang anda telah memiliki Lazarus versi terkahir dan akan memulai memperbaikinya, tetapi anda bertanya pada diri sendiri "Bagian mana saya harus memulai?" Baiklah, Hal ini sangat tergantung pada hal-hal lain.

Kesalahan-kesalahan yang diketahui

Bila anda tidak memiliki kesulitan yang berarti tentang Lazarus, tetapi sekedar ingin membantu, Maka saya akan mengusulkan agar anda melihat daftar kesalahan Bug Tracker Tentukan sebuah kesalahan yang menurut anda dapat anda perbaiki, lalu mulailah memperbaikinya. Tim Lazarus mementingkan Kesalahan - kesalahan terbuka dalam Perjalanan menuju 1.0.

Dokumentasi

Lazarus membutuhkan lebih banyak dokumentasi! Jika anda tidak ingin memperbaiki sebuah kesalahan, anda dapat membantu dengan menulis dokumentasi. Walaupun halaman ini terus berkembang. Bila anda memiliki informasi berguna untuk ditambahkan, silahkan perbaiki isi halaman ini sesuka hati.

Lihat Editor Dokumentasi Lazarus dan Perjalanan Dokumentasi LCL untk beberapa bantuan tentang bagaimana dan daftar unit-unit yang harus didokumentasikan.

Bantuan Online tentang IDE secara bertahap sedang dibuat sebagai bagian dari wiki. Akhir-akhir ini banyak sub-sub halaman dari dokumentasi Lazarus IDE tentang jendela-jendela IDE telah ditambahkan. Saat bekerja dengan IDE, jika anda membutuhkan bantua, tekan F1. Anda akan ditampilkan halamana bantuan wiki (mungkin kosong atau belum lengkap). Kembangkan, Jika anda memiliki pengetahuan.

IDE

Lihat tautan: Memperluas IDE, Perjalanan menuju 1.0.

Widgetset-Widgetset ("Antar muka")

widgetset (WS) adalah "kode perekat" antara bagian kode LCL yang tidak tergantung pada Sistem Operasi (OS-Operating System) sasaran dan Sistem Operasi itu sendiri. Untuk setiap OS sasaran yang didukung, unit-unit WS yang berhubungan dapat ditemui pada salah satu sub-direktori di C:\Lazarus\lcl\interfaces\.

Dibawah ini adalah langkah-langkah secara umum yang harus dilakukan, untuk mengembangkan WS (penjelasan disediakan oleh Mattias Gärtner pada "mailing list" Lazarus tanggal 15-07-2006). Saat membuat perubahan-perubahan pada WS, tidak diperlukan membangun ulang seluruhnya (Lazarus termasuk IDE), dengan maksud mencoba efek dari perubahan - perubahan itu. Lakukan sesuai berikut:

* Buat proyek Program_Percobaan anda (sebuah program yang mengandung 
  kode percobaan untuk perubahan-perubahan WS anda);
* Set tombol pintas papan ketik untuk 'Build Lazars' dan 'Configure Build Lazarus' 
  (pada IDE, pilih Editor Options/Keymapping);
repeat
 * Set "Build Lazarus" agar hanya membangun LCL
  (pada IDE, pilihh Tools/Configure "Build Lazarus");
 repeat
  * Buat pengembangan pada kode WS;
  * Bangun Lazarus (pada IDE, pilih Tools/Build Lazarus 
    - Ini hanya akan membangun ulang LCL, yang juga akan membangun ulang WS yang dipilih);
  * Sekarang compile Program_Percobaan anda;
  * Run dan debug program anda;
 until tidak ada kesalahan-kesalahan yang ditemukan pada perubahan yang dilakukan;
 * Konfigurasi ulang "Build Lazarus" agar membangun segalanya
   (pada IDE, pilih kembali Tools/Configure "Build Lazarus");
 * Bangun kembali Lazarus dan cek IDE;
until tidak ada kesalahan/penurunan gradasi yang ditemukan di IDE 
      berhubungan dengan perubahan yang anda lakukan;
* Buat sebuah tambalan (patch) dan kirimkan (lihat dibawah untuk lebih jelasnyas).

Bagaimana mengajukan perubahan-perubahan anda?

Anda harus membuat "patch" (lihat Membuat Patch). Cara pengajuan patch ke pengembang Lazarus yang disukai adalah dengan membuat pengumuman di pelacakan kesalahan (bug tracker) dan menyertakan patch-nya. Sebagai pilihan lain, anda dapat mengirimnya ke "mailing list" (ukuran maksimal 40 KiB) atau ke kotak surat untuk patch-patch patch@lazarus.dommelstein.net.

Dealing with regressions

From time to time changes on the Lazarus source code might cause features which worked before stop working. In case there is no clue of what caused the break it may be useful to do a iteration method to determine exactly which revision caused the problem.

This process is simple, althougth somewhat time consuming:

Suppose it works with rev 1000 and not with 5000. Then test with 3000. Testing requires updating the svn code, rebuilding lcl for desired widgetset, rebuilding a test application which uses the feature and testing this application. If it works, repeat with 3000 and 5000 as extremes. If not, use 1000 and 3000 as extremes.

After some time you should be able to isolate which revision broke it. This information makes fixing the problem much easier, so we encourage people helping to develop Lazarus to try this process and post this information on bug reports in case they are regressions with no clear clue of what went wrong.

To check to which data each revision correspondes one can use the Lazarus ViewCVS. After the interval of revisions was reduced to a relative small number, like 25 or so, it may be quicker to check the revisions with ViewCVS and check which are possible canditates for the break, to speed up the final part.

One can obtein a particular revision using the command:

svn update -r <revision number>

Need more help?

If you have any question you can ask them on one of the following places:

  • The Lazarus Mailing list (see Mailing list)
  • The #lazarus-ide IRC channel on irc.freenode.net.