2017-07-18 6 views
0

私はgradleでビルドしたいJavaプロジェクトがあると仮定しますが、ソースツリーの特定のパッケージ/部分をスキップするようにします。ソースツリーは、非標準のレイアウトを持っている場合gradleでJavaをビルドするときのソースツリーの部分をスキップ

、私は次のようにこれを指定することができます:src/org/example/foo/barproject/uiですべてを無視するが、残りの部分を構築するためのGradle伝える方法が

sourceSets { 
    main { 
     java { 
      srcDirs = ['src'] 
     } 
     resources { 
      srcDirs = ['src'] 
     } 
    } 
} 

ありますか?もしそうなら、どうですか?

+0

'src/org/example/foo/barproject/ui'または' src/main/org/example/foo/barproject/ui'ですか? – chenrui

+0

@chenrui非標準の 'srcDirs'で示されているように – user149408

+0

でも、これはGradle 1.10だと思いますよね? – chenrui

答えて

1

は、ここに私のソリューションです:

apply plugin: 'java' 

sourceSets { 
    main { 
     java { 
      srcDir = ['src'] 
      exclude "main/*" 
      exclude "hello/*" 
      exclude "test/*" 
     } 
    } 
} 

マイフォルダレイアウト:

$ ls -R src 
Library.java hello  main   test 

src/hello: 
Application.java  HelloController.java 

src/main: 
java 

src/main/java: 
Library.java hello 

src/main/java/hello: 
Application.java  HelloController.java 

src/test: 
java 

src/test/java: 
LibraryTest.java 

出力:

$ ./gradlew clean build -x test 
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties. 
Deprecated dynamic property: "srcDir" on "source set 'main'", value: "[src]". 
:clean 
:compileJava 
:processResources UP-TO-DATE 
:classes 
:jar 
:assemble 
:check 
:build 

BUILD SUCCESSFUL 

Total time: 2.935 secs 

が、この作品なら、私に教えてください。

+0

ありがとう、これはそれでした。残念ながら、試してみると、コードベース全体に散らばっている他のクラスも除外する必要があります。これが期待している間は、別のアプローチを試さなければなりません。 – user149408

+0

いいね! :) – chenrui

関連する問題