allow packages to be excluded and added kotlin-jdbc to the API

This commit is contained in:
James Strachan
2012-03-13 07:13:52 +00:00
parent 1700777f9b
commit dc37fca143
5 changed files with 31 additions and 4 deletions
+2 -2
View File
@@ -2,10 +2,10 @@ import kotlin.modules.*
fun project() {
module("apidocs") {
classpath += "kunit/lib/junit-4.9.jar"
classpath += "../kunit/lib/junit-4.9.jar"
addSourceFiles("../stdlib/ktSrc")
addSourceFiles("../stdlib/src")
addSourceFiles("../kunit/src/main/kotlin")
addSourceFiles("../kotlin-jdbc/src/main/kotlin")
}
}
@@ -3,6 +3,7 @@ package org.jetbrains.kotlin.doc
import kotlin.*
import kotlin.util.*
import java.util.*
import org.jetbrains.kotlin.doc.model.KPackage
/**
* The configuration used with KDoc
@@ -24,6 +25,11 @@ class KDocConfig() {
*/
public val packagePrefixToUrls: Map<String, String> = TreeMap<String, String>(LongestFirstStringComparator())
/**
* Returns a Set of the package name prefixes to ignore from the KDoc report
*/
public val ignorePackages: Set<String> = HashSet<String>()
/**
* Returns true if a warning should be generated if there are no comments
* on documented function or property
@@ -78,6 +84,13 @@ class KDocConfig() {
}
return ""
}
/**
* Returns true if the package should be included in the report
*/
fun includePackage(pkg: KPackage): Boolean {
return !ignorePackages.any{ pkg.name.startsWith(it) }
}
}
protected class LongestFirstStringComparator() : Comparator<String> {
@@ -165,7 +165,7 @@ class KModel(var context: BindingContext, val config: KDocConfig) {
/** Returns the local packages */
public val packages: Collection<KPackage>
get() = allPackages.filter{ it.local }
get() = allPackages.filter{ it.local && config.includePackage(it) }
public val classes: Collection<KClass>
get() = packages.flatMap{ it.classes }
@@ -0,0 +1,11 @@
import kotlin.modules.*
fun project() {
module("apidocs") {
classpath += "kunit/lib/junit-4.9.jar"
addSourceFiles("../stdlib/src")
addSourceFiles("../kunit/src/main/kotlin")
addSourceFiles("../kotlin-jdbc/src/main/kotlin")
}
}
@@ -24,12 +24,15 @@ class GenerateSiteTest : TestCase() {
copyDocResources(outDir)
val args = KDocArguments()
args.setSrc("../stdlib/src")
args.setModule("../kdoc/ApiDocsModule.kt")
args.setDocOutputDir(outDir.toString())
args.setOutputDir("target/classes-stdlib")
val config = args.docConfig
config.title = "Kotlin API ($version)"
config.version = version
config.ignorePackages.add("org.jetbrains.kotlin")
config.ignorePackages.add("kotlin.template.experiment")
val compiler = KDocCompiler()
compiler.exec(System.out, args)