Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从gradle javadoc任务中排除源树_Java_Gradle_Javadoc - Fatal编程技术网

如何从gradle javadoc任务中排除源树

如何从gradle javadoc任务中排除源树,java,gradle,javadoc,Java,Gradle,Javadoc,我相信这很简单,但是找不到任何从生成的java文档中删除源代码树的示例。我的源代码树是 src/main/java/... src/test/java/... src/samples/java/... 我试过两项任务,两项似乎都不起作用 javadoc { exclude "src/test/**" exclude "src/samples/**" } task gendocs(type: Javadoc) {

我相信这很简单,但是找不到任何从生成的java文档中删除源代码树的示例。我的源代码树是

src/main/java/...
src/test/java/...
src/samples/java/...
我试过两项任务,两项似乎都不起作用

javadoc {
    exclude               "src/test/**"
    exclude               "src/samples/**"
}

task gendocs(type: Javadoc) {
    source = sourceSets.main.allJava
    classpath += configurations.compile
    exclude               "src/test/java/**/*"
}
下面是完整的文件(更新后尝试Lance Java的建议),但没有乐趣

apply plugin: 'java'
apply plugin: 'distribution'
apply plugin: 'maven-publish'

group = 'com.ibm.watson.iot.sound'
version = '0.0.1'

description = 'IoT Sound project build configurations'

sourceSets.all { set ->
    def jarTask = task("${set.name}Jar", type: Jar) {
        baseName = baseName + "-$set.name"
        from set.output
    }
    artifacts { archives jarTask }
}

sourceSets {
    main {
        java {
            srcDir "src/main/java"
            srcDir "src/client/java"
            srcDir "src/test/java"  
        }
        resources {
            srcDir "src/main/java"
            srcDir "src/client/java"
            srcDir "src/test/java"  
        }
    }

    client {
        java {
            srcDir "src/client/java"
        }
        resources {
            srcDir "src/client/java"
        }
        compileClasspath += sourceSets.main.compileClasspath    
        compileClientJava {
            sourceCompatibility = "1.7"
            targetCompatibility = "1.7"
        }
    }
}


// Make so javadoc errors do not cause the gradle command to fail
if (JavaVersion.current().isJava8Compatible()) {
    allprojects {
      tasks.withType(Javadoc) {
        options.addStringOption('Xdoclint:none', '-quiet')
      }
    }
}

javadoc {
    source = sourceSets.main.allJava.matching {
        exclude 'src/test/**'
        exclude 'src/samples/**'
    }
}

test { 
    testLogging {
        events "PASSED", "STARTED", "FAILED", "SKIPPED"
    }
    exclude 'com/ibm/watson/iot/sound/*/**/*'
    include 'com/ibm/watson/iot/sound/*TestSuite*'
}

task release(type: Zip, dependsOn : [javadoc,mainJar, clientJar, publishToMavenLocal]) {
    description = 'Builds the release zip for this project'
            into ('caa') {
                from ('resources') {
                    include '*.properties'
                }
            }
            into('caa/lib')  {
                // from ('build/libs/IoT-Sound-0.0.1.jar')  
                from clientJar.outputs.files    
                from (configurations.compile)  
                from jar.outputs.files          
                from ('src/client/java/logback.xml')
                from ('caa.properties')
                from ('wpml.properties')
            }
            into('caa/bin') {
                from ('scripts') 
                fileMode 0755
            }
            into('caa/samples') {
                from ('src/samples/java') 
            }
            into ('caa/docs') {
                from ('build/docs') 
            }
}

println release.archiveName
println relativePath(release.destinationDir)
println relativePath(release.archivePath)

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
        api(MavenPublication) {
            artifactId 'IoT-Sound-Client' 
            artifact clientJar 
       }
    }
}

configurations {
    all*.exclude group: 'org.bytedeco', module: 'javacpp-presets' 
    all*.exclude group: 'com.github.fommil.netlib', module: 'all'
}

repositories {

     maven { url "https://repo.eclipse.org/content/repositories/paho-releases/" }
     maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
     maven { url "http://repo.maven.apache.org/maven2" }
}


dependencies {
    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.2'
    compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.2'
    compile group: 'org.mongodb', name: 'mongo-java-driver', version:'3.2.2'
    compile group: 'org.apache.commons', name: 'commons-csv', version:'1.2'
    compile 'com.google.code.gson:gson:2.3.1'
    compile group: 'log4j', name: 'log4j', version: '1.2.17'    // need by SII
    compile fileTree(dir: 'lib', include: '*.jar')
    compile group: 'org.apache.commons', name: 'commons-math', version:'2.1'
    compile group: 'org.apache.commons', name: 'commons-math3', version:'3.4.1'
    compile group: 'gov.sandia.foundry', name: 'cognitive-foundry', version:'3.4.3'
    compile group: 'tw.edu.ntu.csie', name: 'libsvm', version: '3.17' 
    compile group: 'junit', name: 'junit', version:'4.12'   
    compile group: 'org.deeplearning4j', name: 'deeplearning4j-core', version:'0.5.0'  
    compile group: 'org.nd4j', name: 'nd4j-native-platform', version:'0.5.0' 
}

你的脚本有很多问题,因此我们将在单独的答案中解决它们

  • src/test/x
    不应在
    sourceset.main
    下(它已经在
    sourceset.test
    下)。将测试源放在主源集中意味着测试类最终会被打包到jar中
  • java
    文件夹不应位于
    sourceset.x.resources
    下。Java文件夹应仅包含
    *.Java
    文件。任何资源(例如
    *.xml
    *.properties
    )都应该位于
    src/x/resources
    文件夹中。将
    java
    文件夹放在您的资源中将意味着您的普通
    *。java
    文件也将在jar中结束
  • 如果您只希望特定文件夹包含在
    javadoc
    中,那么不要从
    sourceset.main.allJava
    开始。只需按照@Stanislav的建议添加所需的特定文件夹
  • FileTree.matching{}
    中的
    exclude
    FileTree
    根相关<代码>排除'src/test/**'和
    排除'src/samples/**'
    此时无效。
    exclude
    内部
    javadoc
    也是如此。查看
    测试
    任务下的
    排除
    。这些是正确的根相对

  • 你的脚本有很多问题,因此我们将在单独的答案中解决它们

  • src/test/x
    不应在
    sourceset.main
    下(它已经在
    sourceset.test
    下)。将测试源放在主源集中意味着测试类最终会被打包到jar中
  • java
    文件夹不应位于
    sourceset.x.resources
    下。Java文件夹应仅包含
    *.Java
    文件。任何资源(例如
    *.xml
    *.properties
    )都应该位于
    src/x/resources
    文件夹中。将
    java
    文件夹放在您的资源中将意味着您的普通
    *。java
    文件也将在jar中结束
  • 如果您只希望特定文件夹包含在
    javadoc
    中,那么不要从
    sourceset.main.allJava
    开始。只需按照@Stanislav的建议添加所需的特定文件夹
  • FileTree.matching{}
    中的
    exclude
    FileTree
    根相关<代码>排除'src/test/**'和
    排除'src/samples/**'
    此时无效。
    exclude
    内部
    javadoc
    也是如此。查看
    测试
    任务下的
    排除
    。这些是正确的根相对

  • 谢谢你指出我所有的缺点,但你还没有回答这个问题。是的,我回答了“如果你只希望javadoc包含特定文件夹,那么不要从sourceset.main.allJava开始。只需按照@Stanislav的建议添加你需要的特定文件夹”我不想指定我需要的文件夹。我想指定我不需要的文件夹。
    FileTree
    是由接口表示的抽象概念。在本例中,多个根文件夹用于构建单个
    FileTree
    集合。一旦创建了
    FileTree
    ,根文件夹就会因抽象而丢失/隐藏。您不能在排除中使用它们,也不能通过
    FileTree
    界面“查看”它们。排除只能相对于
    FileTree
    root(根文件夹下的文件和子文件夹的合并集)进行。感谢您指出我的所有缺点,但您尚未回答问题。是的,我回答了“如果您只希望javadoc包含特定文件夹,那么不要从sourceset.main.allJava开始。只需按照@Stanislav的建议添加所需的特定文件夹“我不想指定我需要的文件夹。我想指定我不需要的文件夹。
    FileTree
    是由接口表示的抽象概念。在本例中,多个根文件夹用于构建单个
    FileTree
    集合。一旦创建了
    FileTree
    ,根文件夹就会因抽象而丢失/隐藏。您不能在排除中使用它们,也不能通过
    FileTree
    界面“查看”它们。排除只能相对于
    FileTree
    root(根文件夹下的文件和子文件夹的合并集)执行。