afterEvaluate { rootProject.subprojects { project -> println project.name project.task("generateApiDoc", { group "javadoc" def rootProjectPath = rootProject.buildDir.absolutePath def projectPath = new File("").absolutePath def apiPackageFile = new File(projectPath, "apipackage.txt") def sourcePath = new File(projectPath, "src/main/java") def outputDocPath = new File(rootProjectPath, "javadoc/${project.name}") doFirst { println "javadoc -sourcepath ${sourcePath} -d ${outputDocPath} @${apiPackageFile}" if (!apiPackageFile.exists()) { throw new Exception("不是api模块") } } doLast { exec { commandLine "javadoc", "-sourcepath", sourcePath, "-d", outputDocPath, "-encoding", "UTF-8", "@${apiPackageFile}" } } }) } }