mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -07:00
Generate javadocs in {build}/docs/javadoc.
This commit is contained in:
parent
ffbe5491f2
commit
f563d274dd
4 changed files with 19 additions and 15 deletions
|
@ -22,7 +22,7 @@ class CompilerUtils @Inject constructor(val files: KFiles,
|
|||
class CompilerResult(val successResults: List<TaskResult>, val failedResult: TaskResult?)
|
||||
|
||||
fun invokeCompiler(project: Project, context: KobaltContext, compiler: ICompilerDescription,
|
||||
sourceDirectories: List<File>, isTest: Boolean): CompilerResult {
|
||||
sourceDirectories: List<File>, isTest: Boolean, buildDirectory: File): CompilerResult {
|
||||
val results = arrayListOf<TaskResult>()
|
||||
var failedResult: TaskResult? = null
|
||||
val contributedSourceDirs =
|
||||
|
@ -37,7 +37,7 @@ class CompilerUtils @Inject constructor(val files: KFiles,
|
|||
// TODO: createCompilerActionInfo recalculates the source files, only compute them
|
||||
// once and pass them
|
||||
val info = createCompilerActionInfo(project, context, compiler, isTest,
|
||||
sourceDirectories, sourceSuffixes = compiler.sourceSuffixes)
|
||||
sourceDirectories, sourceSuffixes = compiler.sourceSuffixes, buildDirectory = buildDirectory)
|
||||
val thisResult = invokeCompiler(project, context, compiler, info)
|
||||
results.addAll(thisResult.successResults)
|
||||
if (failedResult == null) {
|
||||
|
@ -68,7 +68,8 @@ class CompilerUtils @Inject constructor(val files: KFiles,
|
|||
* Runs all the contributors and interceptors relevant to that task.
|
||||
*/
|
||||
fun createCompilerActionInfo(project: Project, context: KobaltContext, compiler: ICompilerDescription,
|
||||
isTest: Boolean, sourceDirectories: List<File>, sourceSuffixes: List<String>): CompilerActionInfo {
|
||||
isTest: Boolean, sourceDirectories: List<File>, sourceSuffixes: List<String>, buildDirectory: File)
|
||||
: CompilerActionInfo {
|
||||
copyResources(project, context, SourceSet.of(isTest))
|
||||
|
||||
val fullClasspath = dependencyManager2.resolve(project, context, isTest, listOf(Scope.COMPILE, Scope.TEST))
|
||||
|
@ -83,11 +84,6 @@ class CompilerUtils @Inject constructor(val files: KFiles,
|
|||
// val d2 = dependencyManager2.resolve(project, context, isTest, listOf(Scope.COMPILE, Scope.TEST))
|
||||
// }
|
||||
|
||||
// The directory where the classes get compiled
|
||||
val buildDirectory =
|
||||
if (isTest) File(project.buildDirectory, KFiles.TEST_CLASSES_DIR)
|
||||
else File(project.classesDir(context))
|
||||
|
||||
File(project.directory, buildDirectory.path).mkdirs()
|
||||
|
||||
// Remove all the excluded dependencies from the classpath
|
||||
|
|
|
@ -177,9 +177,14 @@ open class JvmCompilerPlugin @Inject constructor(
|
|||
val hasKapt = project.projectProperties.get("kaptConfig") != null
|
||||
val allCompilersSorted = if (hasKapt) swapJavaAndKotlin(allCompilers) else allCompilers
|
||||
var done = false
|
||||
// The directory where the classes get compiled
|
||||
val buildDirectory =
|
||||
if (isTest) File(project.buildDirectory, KFiles.TEST_CLASSES_DIR)
|
||||
else File(project.classesDir(context))
|
||||
|
||||
allCompilersSorted.doWhile({ ! done }) { compiler ->
|
||||
val compilerResults = compilerUtils.invokeCompiler(project, context, compiler,
|
||||
sourceDirectories(project, context, isTest), isTest)
|
||||
sourceDirectories(project, context, isTest), isTest, buildDirectory)
|
||||
results.addAll(compilerResults.successResults)
|
||||
if (failedResult == null) failedResult = compilerResults.failedResult
|
||||
compilerResults.failedResult?.let { failedResult ->
|
||||
|
@ -216,6 +221,7 @@ open class JvmCompilerPlugin @Inject constructor(
|
|||
fun taskJavadoc(project: Project): TaskResult {
|
||||
val docGenerator = ActorUtils.selectAffinityActor(project, context, context.pluginInfo.docContributors)
|
||||
if (docGenerator != null) {
|
||||
val buildDirectory = File(project.buildDirectory, KFiles.JAVADOC_DIR)
|
||||
val contributors =
|
||||
ActorUtils.selectAffinityActors(project, context, context.pluginInfo.compilerContributors)
|
||||
var result: TaskResult? = null
|
||||
|
@ -224,7 +230,7 @@ open class JvmCompilerPlugin @Inject constructor(
|
|||
result = docGenerator.generateDoc(project, context,
|
||||
compilerUtils.createCompilerActionInfo(project, context, compiler,
|
||||
isTest = false, sourceDirectories = sourceDirectories(project, context, false),
|
||||
sourceSuffixes = compiler.sourceSuffixes))
|
||||
sourceSuffixes = compiler.sourceSuffixes, buildDirectory = buildDirectory))
|
||||
}
|
||||
}
|
||||
return result!!
|
||||
|
|
|
@ -71,6 +71,7 @@ class KFiles {
|
|||
private val SRC = "src"
|
||||
|
||||
val TEST_CLASSES_DIR : String = "test-classes"
|
||||
val JAVADOC_DIR: String = "docs/javadoc"
|
||||
|
||||
val NATIVES_DIR : String = "native"
|
||||
|
||||
|
|
|
@ -44,7 +44,8 @@ class KotlinCompiler @Inject constructor(
|
|||
}
|
||||
val cp = compilerFirst(info.dependencies.map { it.jarFile.get() })
|
||||
val infoDir = info.directory
|
||||
val outputDir = if (infoDir != null) {
|
||||
val outputDir =
|
||||
if (infoDir != null) {
|
||||
KFiles.joinDir(infoDir, info.outputDir.path)
|
||||
} else {
|
||||
info.outputDir.path
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue