2013-11-15 16 views
6

私はCordovaプラグインのセットを開発しています。最初の実装はAndroidのみですので、今はプラグイン開発のためにEclipseでADTを使用できることに興味があります。私はドキュメントを読んで、最初のプラグインを完成させることができましたが、ワークフローはちょっとした痛みです。プラグイン開発のワークフローを具体的にサポートするドキュメントやツールをCordovaで見つけることができませんでした。私はそれが必要以上に困難になっているのだろうか?ここに私がやっていることがあります。Android用Cordova/PhoneGapプラグイン開発ワークフロー

プラグインは、cordovaプラグイン仕様に従ってセットアップされます。私は、ディレクトリ構造を設定し、サブライム内のファイルを編集して始めたので、私のようなものがあります:

  • Plugin.java
    • アンドロイド

      • $ PLUGIN_ROOT
        • SRCを
      • www
        • plugin.js
      • plugin.xmlの

    私は定型と初期の実装でそのすべてを設定します。 はその後、テストを開始するために、私は、コルドバプロジェクトを作成したAndroidプラットフォームを追加し、私のプラグインを追加して構築された:

    cordova create testProject 
    cd testProject 
    cordova platform add android 
    cordova plugin add $PLUGIN_ROOT 
    cordova build 
    cordova run 
    

    すべてのことをやった後、私はADTにtestProject /プラットフォーム/アンドロイドをインポートし、Plugin.javaの編集を開始しますおよびplugin.js、および資産/ wwwを使用してテストハーネスを追加します。

    私が望むようにすべての作業を行った後、変更されたファイル(加えたすべてのファイル)を$ PLUGIN_ROOTの適切な場所に手動でコピーする必要があります。おそらく$ PLUGIN_ROOT/testでテストハーネスを保存したいと思っています。これは最初はあまりにも悪くないですが、いくつかの反復の後では、すべてが少し扱いに​​くくなっています。また、手動で行うのがエラーになりがちですが、実際にはマージツールを使用してディレクトリ構造が異なるため、私はそれを行うことができません。私はスクリプトを書くことができましたが、私はさらにメンテナンスオーバーヘッドを追加します。つまり、私は現在、書きたいプラグインごとにこれを行うためのスクリプトを書くつもりです。

    良い方法がありますか?私はcordovaのプラグイン開発者がこれをどのように管理しているか聞いてみたいと思います。ありがとう。

+0

私はあなたの正確な問題を知っているかもしれません... –

+0

@ManetiVinay:私は私の質問でもできるように説明しました。基本的に、私が上で説明した開発ワークフローは不快ですが、プラグイン仕様で必要とされるファイル構成による唯一のアプローチのように思えます。私は使用している方法よりも良い方法があり、誰かがそれが何であるか教えてくれることを願っています。 – ajh158

+0

再利用する必要があるプロジェクトをエクスポートし、再インポートして、再度使用するときはいつでも名前を変更してください。 –

答えて

3

プラグインに属するファイルが変更されるたびにgruntのプラグインフォルダ(例:$ PLUGIN_ROOT)とrunsが適切なcordovaコマンドのような自動ビルドツールが必要です。

+0

ありがとうございます。 $ PLUGIN_ROOT内のファイルのみを編集するように提案しているようです。私がこのアプローチを採用すると、デバッグ中のファイルを編集することができなくなります。これは、私ができると思うことです。たぶん私は何かが欠けているかもしれません - もしそうなら、あなたの提案がどのように役立つかを精緻にしてください。私はあなたが 'cordova plugin add'を実行するときにプラグインファイルのすべてへのシンボリックリンクを作成したプラグマのカスタムバージョンに基づいたアプローチを考えていましたが、 'cordova prepare'を実行すると実際のファイルをプラットフォームにコピーしますディレクトリ。 – ajh158

+0

その場合は、プロジェクト内のファイルを操作し、変更時に必要なファイルだけをプラグインマスターに自動的にコピーするようにgrunt-watchタスクを構成する方がよいでしょう。 –

+1

あなたは答えに時間がかかっていて他に誰もしなかったので、私はあなたに賞金をあげますが、私は答えを受け入れていません。おそらくすべてのファイルを手動でコピーするよりも優れていますが、プラグイン単位で多くの手動設定と保守が必要です。もし私が最終的に期待していたものよりも良い結果を得るなら、私は戻ってあなたの答えを受け入れるでしょう。ありがとう。 – ajh158

関連する問題