Difference between revisions of "How To Help Developing Lazarus/ja"
m (→劣化、品質の低下に対応する: Remove defunct reference to git mirror) |
|||
(15 intermediate revisions by 6 users not shown) | |||
Line 12: | Line 12: | ||
== 開発する場所 == | == 開発する場所 == | ||
− | 最新の Lazarus | + | 最新の Lazarus を入手して開発の準備が整えました。けれども、“さて何から手を付けたらいいの?”という時に下記を参照してください。 |
=== 既知のバグ === | === 既知のバグ === | ||
Line 30: | Line 30: | ||
次のリンクを参照して下さい: [[Extending the IDE/ja]], [[Road To 1.0/ja|1.0に向けて]]. | 次のリンクを参照して下さい: [[Extending the IDE/ja]], [[Road To 1.0/ja|1.0に向けて]]. | ||
− | === | + | === ウイジェットセット ("interfaces") === |
− | + | ウイジェットセット(WS) はターゲットから独立しているLCLコードの部分と、ターゲットOSのためのコードを生成するための"グルーコード (訳注:glue code オブザーバーパターンを実装したり、置換するコードのことか?)" です。 | |
+ | サポートされているそれぞれのOSでは、依存しているWSのユニットは C:\Lazarus\lcl\interfaces\. | ||
+ | の中で見ることができます。 | ||
− | + | MattiasがLazarusメーリングリストに2006-07-15に提示したものによるとWSを改善するには、下記が、コードを追う際にフォローすべき概要です。WSに変更を加えるとき、変更の結果をたしかめるのに、(IDEに含まれるLazarusなど)すべてをリビルドする必要はありません。次のようにしてください:<br> | |
− | * | + | |
− | + | * テストするプロジェクトを作成します。(WSの変更のテストコードを含む小さいプログラムをつくります) | |
− | * | + | * 'Build Lazarus'と'Configure Build Lazarus' のためのキーボードショートカットを作ります。 |
− | ( | + | (IDEで Editor Options / Keymappingを選択); |
− | <u>''' | + | <u>'''繰り返します'''</u> |
− | * | + | * LCLのみをビルドするように"Build Lazarus"を設定します。 |
− | ( | + | (IDEで Tools/Configure "Build Lazarus"を選択); |
− | <u>''' | + | <u>'''繰り返します'''</u> |
− | * | + | * WSコードに変更を加えます。 |
− | * Build Lazarus ( | + | * Build Lazarus (IDEで Tools/Build Lazarus を選択 |
− | - | + | - これはLCLと選択されたWSのみリビルドします。) |
− | * | + | * テスト用のプロジェクトをコンパイルします。 |
− | * | + | * プログラムを実行してデバッグします。 |
− | <u>''' | + | <u>'''エラーがでなくなるまで繰り返します'''</u> |
− | * | + | * "Build Lazarus"をすべてビルドするように再設定します。 |
− | ( | + | (IDEで再び Tools/Configure "Build Lazarus"を選択); |
− | * | + | * LazarusをビルドしてIDEをテストします。 |
− | <u>''' | + | <u>'''IDEで変更したコードのよるエラーやでグレーションがなくなるまで繰り返します'''</u> |
− | * | + | * パッチを作って送ります |
+ | |||
+ | == あなたの修正や変更を反映する方法 == | ||
+ | |||
+ | [[Creating A Patch/ja]]をみて、パッチを作成してください。 | ||
+ | Lazarusの開発者にあなたのパッチを反映させる良い方法は、バグトラッカーに問題点のページをつくり、そこにパッチを添付することです。他の方法としては、Lazarusの開発者用のメーリングリストに投稿する方法があります。[mailto:patch@lazarus.dommelstein.net patch@lazarus.dommelstein.net] へ送ってください。(タイトルに必ず "patch"をいれてください。また、最大40Kbまでです) | ||
+ | |||
+ | == 劣化、品質の低下に対応する == | ||
+ | |||
+ | Lazarusソースコードは以前動いていたものが、時間がたつにつれ、動かなくなるかもしれません。 | ||
+ | こういった場合、問題の解決に手がかりがないことがありますが、どのリビジョンで問題が発生したのか繰り返しレビジョンを調べていくことができます。 | ||
+ | |||
+ | この方法はシンプルですが、次の点を考慮する必要があります: | ||
+ | |||
+ | レビジョン番号1000から5000の間で発生しているとすると、3000で一度テストしてみます。 | ||
+ | テストは、svnのコード、ターゲットとしているlclで、テストができるコードでおこないます。 | ||
+ | もし、テストがうまくいくなら、次は3000と5000の間で、うまくいかないなら、1000と3000の間で、というふうにします。 | ||
+ | |||
+ | 何度かすると、どのリビジョンの変更部分が問題を発生させたかを、切り分けることができます。 | ||
+ | これにより、問題の解決をより簡単なものにできます。 | ||
+ | 何が原因で品質低下をまねいたかはっきりできれば、Lazarusの開発者達にこの問題の再現やバグレポートなどを書くことができます。 | ||
+ | |||
+ | それぞれのリビジョンが、どのソースコードなどの変更に対応するかを調べるため、[http://svn.freepascal.org/cgi-bin/viewvc.cgi/?root=lazarus Lazarus svn browser (ViewVC)]を使うことができます。調べるリビジョンの間の間隔が比較的すくない(25くらい)になってくれば、ViewVCでチェックするのがより速くなり、最後は問題となりそうな部分を特定することが早く可能になります。 | ||
+ | |||
+ | 特定のリビジョンは次のコマンドで入手できます。 | ||
+ | |||
+ | svn update -r <revision number> | ||
+ | |||
+ | |||
+ | '''注意点'''もし、インターネットの接続が遅かったり、不安定だったりするならば、いろんなバージョンのリビジョンをSubVersionから取得するのは、時間やコストがかかります。それらは、インターネットからダウンロードされるからです。 | ||
+ | |||
+ | === 品質低下を自動的に探す === | ||
+ | |||
+ | ==== SubVersion ==== | ||
+ | Florianは、こういった品質低下によるエラーを発見する助けになる簡単なunix scriptをかきました。 | ||
+ | このスクリプトはこちらです。 | ||
+ | [http://svn.freepascal.org/cgi-bin/viewvc.cgi/scripts/florian/unix/searchrev?view=markup&root=fpcbuild searchrev]. | ||
+ | |||
+ | ==== Git mirrors ==== | ||
+ | Gitには 品質低下のバグを探すのに役立つ''bisect'' というコマンドがあります。 | ||
+ | これは、自動化されたテストをサポートします。小さなテストケースを書いて、Gitにそれぞれのリビジョンにバグの可能性があるかどうかを調べさせることができます。この自動切り分けにより、品質低下バグは数秒で見つかるかもしれません。''git bisect''コマンドについての詳しい情報は、[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#using-bisect Git User Manual] を見てください。 | ||
+ | |||
+ | == 手助けが必要なときは == | ||
+ | |||
+ | もし、疑問や質問があれば、次で質問することができます。 | ||
+ | * The Lazarus メーリングリスト(英語) (see [http://www.lazarus.freepascal.org/modules.php?op=modload&name=StaticPage&file=index&sURL=maill Mailing list]) | ||
+ | * The #lazarus-ide IRC チャンネル on irc.freenode.net. | ||
+ | |||
+ | ==関連項目== | ||
+ | |||
+ | * [[Lazarus Development Process]] | ||
+ | |||
+ | [[Category:Lazarus/ja]] | ||
+ | [[Category:Community/ja]] |
Latest revision as of 09:05, 15 January 2022
│
Deutsch (de) │
English (en) │
español (es) │
Bahasa Indonesia (id) │
日本語 (ja) │
português (pt) │
русский (ru) │
Lazarus自体の開発に用意するもの
次の2点が必要です:
- 最新のFreePascal コンパイラ(FPC)もしくは最近のSVNバージョン(最も新しいもの)を入手して下さい。FPC を入手するには、FreePascal downloadを参照して下さい。
- 次にSVNから最も新しいLazarusを入手する必要があります。これを入手するには、Getting Lazarus via SVNを参照して下さい。
開発する場所
最新の Lazarus を入手して開発の準備が整えました。けれども、“さて何から手を付けたらいいの?”という時に下記を参照してください。
既知のバグ
もしLazarusについて個人的に特別な問題がなく、単に手助けしたいなら、バグリスト Bug Trackerの参照を推奨します。ここなら該当するバグを見つけてフィックスしたり、ハッキングする事ができます。 Lazarusチームは、1.0 に向けてで公開されたバグに優先順位を決めています。
ドキュメンテーション
Lazarus はより多くのドキュメントを必要としています。もしバグを修正する作業を望まないなら、ドキュメントを書くことによって貢献することも出来ます。まさにこのページは作業が進行中です。 利用価値のある情報を加えたり、間違いを見つけたら、このページのコンテンツを自由に改善してください。
Lazarus文書エディタ とLCLに関する文書のロードマップには、ドキュメント作成の手順とドキュメント化された項目のリストがありますので参照して下さい。
オンラインIDEヘルプは、Wiki の一部として時間が経つにつれ作成されていきます。 最近、IDE ウィンドウに関する Lazarus IDE/ja ドキュメントの多数のページが追加されました。IDEの作業の際、ヘルプが必要になればF1キーを押してください。Wikiページからヘルプを参照することが出来ます(まだ作成されていなかったり、不完全だったりする場合があります)。適切な知識をお持ちであれば改善して下さい。
IDE
次のリンクを参照して下さい: Extending the IDE/ja, 1.0に向けて.
ウイジェットセット ("interfaces")
ウイジェットセット(WS) はターゲットから独立しているLCLコードの部分と、ターゲットOSのためのコードを生成するための"グルーコード (訳注:glue code オブザーバーパターンを実装したり、置換するコードのことか?)" です。 サポートされているそれぞれのOSでは、依存しているWSのユニットは C:\Lazarus\lcl\interfaces\. の中で見ることができます。
MattiasがLazarusメーリングリストに2006-07-15に提示したものによるとWSを改善するには、下記が、コードを追う際にフォローすべき概要です。WSに変更を加えるとき、変更の結果をたしかめるのに、(IDEに含まれるLazarusなど)すべてをリビルドする必要はありません。次のようにしてください:
* テストするプロジェクトを作成します。(WSの変更のテストコードを含む小さいプログラムをつくります) * 'Build Lazarus'と'Configure Build Lazarus' のためのキーボードショートカットを作ります。 (IDEで Editor Options / Keymappingを選択); 繰り返します * LCLのみをビルドするように"Build Lazarus"を設定します。 (IDEで Tools/Configure "Build Lazarus"を選択); 繰り返します * WSコードに変更を加えます。 * Build Lazarus (IDEで Tools/Build Lazarus を選択 - これはLCLと選択されたWSのみリビルドします。) * テスト用のプロジェクトをコンパイルします。 * プログラムを実行してデバッグします。 エラーがでなくなるまで繰り返します * "Build Lazarus"をすべてビルドするように再設定します。 (IDEで再び Tools/Configure "Build Lazarus"を選択); * LazarusをビルドしてIDEをテストします。 IDEで変更したコードのよるエラーやでグレーションがなくなるまで繰り返します * パッチを作って送ります
あなたの修正や変更を反映する方法
Creating A Patch/jaをみて、パッチを作成してください。 Lazarusの開発者にあなたのパッチを反映させる良い方法は、バグトラッカーに問題点のページをつくり、そこにパッチを添付することです。他の方法としては、Lazarusの開発者用のメーリングリストに投稿する方法があります。patch@lazarus.dommelstein.net へ送ってください。(タイトルに必ず "patch"をいれてください。また、最大40Kbまでです)
劣化、品質の低下に対応する
Lazarusソースコードは以前動いていたものが、時間がたつにつれ、動かなくなるかもしれません。 こういった場合、問題の解決に手がかりがないことがありますが、どのリビジョンで問題が発生したのか繰り返しレビジョンを調べていくことができます。
この方法はシンプルですが、次の点を考慮する必要があります:
レビジョン番号1000から5000の間で発生しているとすると、3000で一度テストしてみます。 テストは、svnのコード、ターゲットとしているlclで、テストができるコードでおこないます。 もし、テストがうまくいくなら、次は3000と5000の間で、うまくいかないなら、1000と3000の間で、というふうにします。
何度かすると、どのリビジョンの変更部分が問題を発生させたかを、切り分けることができます。 これにより、問題の解決をより簡単なものにできます。 何が原因で品質低下をまねいたかはっきりできれば、Lazarusの開発者達にこの問題の再現やバグレポートなどを書くことができます。
それぞれのリビジョンが、どのソースコードなどの変更に対応するかを調べるため、Lazarus svn browser (ViewVC)を使うことができます。調べるリビジョンの間の間隔が比較的すくない(25くらい)になってくれば、ViewVCでチェックするのがより速くなり、最後は問題となりそうな部分を特定することが早く可能になります。
特定のリビジョンは次のコマンドで入手できます。
svn update -r <revision number>
注意点もし、インターネットの接続が遅かったり、不安定だったりするならば、いろんなバージョンのリビジョンをSubVersionから取得するのは、時間やコストがかかります。それらは、インターネットからダウンロードされるからです。
品質低下を自動的に探す
SubVersion
Florianは、こういった品質低下によるエラーを発見する助けになる簡単なunix scriptをかきました。 このスクリプトはこちらです。 searchrev.
Git mirrors
Gitには 品質低下のバグを探すのに役立つbisect というコマンドがあります。 これは、自動化されたテストをサポートします。小さなテストケースを書いて、Gitにそれぞれのリビジョンにバグの可能性があるかどうかを調べさせることができます。この自動切り分けにより、品質低下バグは数秒で見つかるかもしれません。git bisectコマンドについての詳しい情報は、Git User Manual を見てください。
手助けが必要なときは
もし、疑問や質問があれば、次で質問することができます。
- The Lazarus メーリングリスト(英語) (see Mailing list)
- The #lazarus-ide IRC チャンネル on irc.freenode.net.