2017-04-14 5 views
0

私は、アンドロイド用のYeomanプロジェクトジェネレータを構築しようとしています。これはユーザからパラメータを受け取り、それに応じて既に存在するファイルを更新することができます。それは、いくつかのボイラープレートコードをファイルに入れたり、実行時にbuild.gradleなどに依存関係を追加することができます。たとえば については動的にコードを追加するYeomanジェネレータ

Iプロンプトユーザー彼はファブリックのためのライブラリの依存関係を追加したい場合は、彼はイエス押すと、そのライブラリの依存関係

compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { transitive = true; }

はbuild.gradleに追加すべきと追加する必要がありますコードは、ApplicationクラスのonCreateメソッドのように、必要なファイルで、このライブラリは

Fabric.with(this, new Crashlytics());

とAndroid.Manifeが含まれている必要があり、セットアップに必要STは

<meta-data android:name="io.fabric.ApiKey" android:value="your key">

これを達成するための最良の方法は何が含まれている必要がありますか?

ありがとうございました

答えて

1

理想的には、ソースファイルからASTを解析して変更することをお勧めします。しかし、あなたがJavaコードのためのASTパーサを見つけるかどうかはわかりません(XMLコードの場合、それは簡単であるはずです)。 Javaコードの場合

const source = this.fs.read(this.destinationPath('file-to-modify.xml')); 
const manifest = parseXML(source); // any XML parser will work here 

// Here you write the code to modify the XML source 

this.fs.write(
    this.destinationPath('file-to-modify.xml'), 
    serializeXML(manifest) // with whichever XML serializer you want to use 
); 

、何の適切なASTパーサーがない場合、あなたは常にXMLの例と同様に、コード文字列に新しい行を挿入するために正規表現に頼ることができます。

関連する問題