現在の位置
diff プラグインを使用中
- 追加された行はこの色です。
- 削除された行はこの色です。
- SproutCoreのハック へ行く。
- SproutCoreのハック の差分を削除
[[<< SproutCore ドキュメント翻訳トップ>SproutCore ドキュメント翻訳]] *SproutCoreのハック [#ta393b21] #contents SproutCoreのハックは簡単で楽しいです。 もしSproutCoreアプリケーションを書いていて、バグの修正や追加された新機能を見たい場合は、自分でフレームワークのコピーを入手したり、修正、改善をして、次のSproutcoreのパブリックリリースに含まれるようコミュニティにパッチを送ることができます。 : NOTE: |SproutCoreをハックするためには、'''git'''がインストールされている必要があります。インストールの説明については[[Git - Fast Version Control System>http://git.or.cz/]]を訪れてください。 **ステップ 1: 開発環境の準備 [#p1f3fa8a] このチュートリアルはSproutCoreベースのプロジェクトで作業していて、あなたのプロジェクトに関連してSproutCoreに変更を加えたい場合を想定しています。あなたが特にプロジェクトを持っていない場合、SproutCoreサンプルのテストハーネス((http://www.alles.or.jp/~torutk/oojava/codingStandard/javacodingstyle_c8.html#doc1_id1164))で作業することができます。SproutCoreのサンプルを入手するには以下のコマンドラインを使います。 $ git clone git://github.com/sproutit/sproutcore-samples ... output will clone the samples $ cd sproutcore-samples $ git submodule init $ git submodule update $ cd frameworks/sproutcore $ git checkout master **ステップ 2: フレームワークコードの取得 [#x36c84fe] RubyGemsからSproutCoreのビルドツールを入手すると、システム全域で有効なSproutCore版のJavaScriptコードが含まれています。しかしながら変更をするためには、編集可能なフレームワークのコピーを入手しあなたのプロジェクトにインストールする必要があるでしょう。 SproutCoreのサンプルプロジェクトを使用している場合は、その作業はすでに完了しています。自分のプロジェクトで作業している場合(そしてSproutCoreサンプルプロジェクトを使用していない場合)は、以下の通りにします。 $ cd MY-PROJECT (the directory with an sc-config.rb file in it) $ mkdir -p frameworks $ cd frameworks $ git clone git://github.com/sproutit/sproutcore.git sproutcore これでSproutCoreのJavaScriptコードをあなたのフレームワークディレクトリにチェックアウトすることになります。 それでは、'''sc-server'''インスタンスを再起動してください、するとRubyGemsでインストールされたSproutCoreの代わりに編集可能版SproutCoreが自動的にロードされます。 **ステップ 3: 変更! [#b2572509] さあ楽しいところです。バグをなおし、機能をついかしましょう。チェックアウトしたフレームワークの修正はあなたのクライアントのページを更新すると、すぐに反映されます。 大きな変更を行う前に、Gitで新しいローカルブランチに切り替えることをお進めします。この方法で変更を保存ができますが、いつでも変更していない状態のSproutCoreに復帰することが出来ます。ブランチに切り替えるには、変更を行う前に以下の通りにします。 $ cd MY-PROJECT/frameworks/sproutcore $ git checkout -b BRANCH-NAME ブランチには任意の名前をつけることができます。通常はいくつかの変更を加えた後に名前をつけます。たとえば'''git checkout -b add-commodore-64-support'''は'''branch add-commodore-64-support'''というブランチに変更を保存します。 後で、クリーンバージョンのSproutCoreに戻したい場合は、以下のようにします。 $ cd MY-PROJECT/frameworks/sproutcore $ git commit -a -m"Commit message to save any pending changes" $ git checkout master 修正バージョンに戻る準備ができたら、ブランチを再度チェックアウトするだけです。 $ cd MY-PROJECT/frameworks/sproutcore $ git checkout BRANCH-NAME **ステップ 4: テストの実行 [#f81c295a] 一度変更をしたら、http://localhost:4020/sproutcore/-testsで全てのテストを行う必要があります。全てのテストを通過することを確認してください。もし新しい機能を追加したりおかしなバグを修正したら、同様にその修正に対するテストを追加することを検討してください。ほとんどの変更は新規、もしくは既存のテストでカバーされていない場合は受け付けることが出来ません。(ドキュメントをテストするにはドキュメントを再構築し、正しく生成されているか確認してください。) 最低でもFireFoxとSafariでテストの実行を行ってください。同様にIE7も間もなく推奨環境に含まれます。さらに詳しい情報は、[[ユニットテスト]]をご覧ください。 **ステップ 5: パッチの投稿 [#wf359fc6] さぁあなたのコードを共有する準備ができました!変更を投稿するにはパッチを作成し、チケットとして投稿するだけです。Gitでは投稿するパッチの作成はとても簡単です。以下の様に入力するだけです。 $ cd MY-PROJECT/frameworks/sproutcore $ git commit -a -m"Write a message explaining your fix" $ git format-patch HEAD^ これでフレームワークに含めるために送信するチケットに添付するパッチファイルを生成することになります。私たちの“Lighthouse ticket system”: http://sproutit.lighthouseapp.com/projects/11697-sproutcore を訪れ、新規チケットを開いてください。あなたの行った修正を記述し、パッチを添付してください。そのときテストを含めるのを忘れずに! **Step 6: SproutCoreの最新アップデートの入手 [#o0242f2b] **ステップ 6: SproutCoreの最新アップデートの入手 [#o0242f2b] SproutCoreのメインブランチに変更があると、自分のリポジトリで自動的に反映することができます。以下のとおりにします。 $ cd MY-PROJECT/frameworks/sproutcore $ git checkout master $ git pull これでGitのヘッドからSproutCoreの最新バージョンの初期コピーを入手したことになります。自分のブランチで変更を加えていて、SproutCoreの更新を自分のブランチにマージしたい場合は、以下のようにします。 $ cd MY-PROJECT/frameworks/sproutcore $ git checkout BRANCH-NAME $ git merge master **ステップ 7: SproutCoreのアップデートとあなたの新発見の名声のお祝い[#v2dd1747] 我々はパッチの投稿をできるだけ早急に処理するよう努めています。あなたがパッチを投稿した後で、他の変更があなたのパッチの適用を阻害していた場合、あなたのSproutCoreコードの変更とパッチの再構築をお願いするかもしれません。こういった方法であなたの修正が機能するよう確認しています。 [[このページの原文>http://github.com/sproutit/sproutcore/wikis/hacking-sproutcore]]