2017-03-10 3 views
1

私はGradleを使ってmysqlデータベースを操作しようと考えています。それは、ファイルシステムからいくつかのファイルを読み込み、解析し、それに応じてデータベースを読み込みます。プロジェクトクラスを持たないが、ビルドスクリプトにアクセス可能なカスタムクラスを持つプロジェクトをGradleしますか?

すべての出力がデータベーステーブルに送られるため、このようなプロジェクトではプロジェクトコードが生成されません。一方、gradleスクリプトは、いくつかのカスタムJavaまたはGroovyクラスにアクセスして、ソースデータの処理を容易にする必要があります。

これはGradleの使用が可能ですか?どこにクラスのアクセシブルクラスを置くのですか?私はこのプロジェクトのためにJARを作り、別のプロジェクトを持っていたくはありません。私は単一のプロジェクトをやっていないので、Gradleはまずクラスをコンパイルし、スクリプトでそれらを利用します。

これは可能ですか?

答えて

1

グラデルは拡張可能なので、このようなシナリオではbuildSrcを利用できます。それは次のように動作します:

  • build.gradleに沿って、プロジェクトで使用すると、プラグインやタスク

  • を実装し、スクリプトの依存関係自体を定義することができbuildSrc/build.gradleでカスタムbuild.gradle

  • buildSrc dirがあります最後にbuildSrcからbuild.gradleにプラグインを適用することができます。

これは非常に便利です。 IntelliJはそのようなプロジェクトをインポートして、コード補完を提供することができます。

別の方法は、build.gradle自体に必要なものをすべて入れることです。

このようなbuildSrcプロジェクトは、jarファイルにコンパイルしたり、プラグインとして提供したり、ダウンロードしてデータを操作するgithub上の別のプロジェクトにすることができます。また、Pluginを実装する必要はありません。静的メソッドを使用できます。 demoをご覧ください。

関連する問題