2017-04-23 11 views
0

私はすべてのサブディレクトリをgradleモジュールとして含めるにはどうすればよいですか?

... x/module1x/module2のように、私のメインのプロジェクトディレクトリxにサブモジュールの多くを持っているつもりです私はsettings.gradleにすべての単一のモジュールを追加する手動で避けることができますか?何らかの形でそれをスクリプトして、すべてのサブディレクトリを見つけて自動的に追加することはできますか?すでに述べたcricket_007として

+0

これはGroovyのプログラミング言語です。あなたは好きなものをスクリプト化することができます(つまり、Javaの 'File' APIを使用してディレクトリを再帰的にスキャンします) –

答えて

1

、Gradleのは(JVMで実行されるJavaのような、である、)Groovyのプログラミング言語に基づいており、settings.gradleファイルには、より多くの何もなく、Groovyのスクリプトではありません。

あなたがinclude 'project'を使用するたびにあなたの目標のために、あなたは、単にすべてのフォルダを反復処理ループを作成し、それらのそれぞれのincludeを呼び出すことができるように、Settingsインスタンスのincludeメソッドが呼び出されます。

より「groovyesque」アプローチはFileクラスGroovy SDK extensionによって提供される各サブディレクトリのため閉鎖、の使用次のようになります。

file('.').eachDir { sub -> 
    include sub.name 
} 

あなたの問題を解決するために複数の方法は、例えば、ありますincludeメソッドはプロジェクトパス文字列の配列を受け入れるので、必要なすべてのパスを最初に集約してすべて一緒に渡すこともできます。単にGradleのドキュメントに精通し、自分のものを決めるだけで、あなたのケースに最適なソリューションはどれですか。