2017-09-07 28 views
5

Tôi đang cố gắng sử dụng plugin Dokka để tạo Javadoc cho ứng dụng Kotlin trên Android. Tôi thêm plugin gradle tôi:Dokka - bỏ qua việc tạo javadoc cho các gói android mặc định

classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.9.15" 

Sau đó, tôi đã thực hiện một cấu hình cơ bản theo hướng dẫn của dự án:

dokka { 
    outputFormat = 'javadoc' 
    outputDirectory = "$rootDir/docs" 
    skipEmptyPackages = true 
    noStdlibLink = true 
} 

tôi tạo ra tài liệu hướng dẫn cách sử dụng lệnh gradle cơ bản:

[[email protected] AppDir]$ bash gradlew dokka 

Output là tốt , nhưng nó bao gồm nhiều thư mục từ android hoặc plugin tôi đã thêm vào dự án của tôi, ví dụ:

android.R 
android.support 
com.google 
com.crashlytics 
. 
. 
. 
etc. 

Làm cách nào để bỏ qua các gói này? Có cách nào để tạo dock chỉ cho thư mục/app/scr/java của tôi và các tệp tôi đã tạo không? Bất kỳ trợ giúp được đánh giá cao.

Trả lời

2

dokka phiên bản 0.9.16 sẽ bao gồm một bugfix to remove generated files from documentation. Trong phiên bản 0.9.15, cam kết sau dường như giải quyết rằng "Suppress output of android.R and other generated stuff in dokka-android", nhưng rõ ràng sau khi tạo bản đồ suppresedFiles với thông tin cần thiết, nó không thực sự được sử dụng để lọc sourceSets.


CẬP NHẬT: Dokka 0.9.16 has been released với việc sửa chữa, trong số những cải tiến khác.

#224 lọc ra Android tạo ra các lớp học từ tài liệu

1

tạo một nhiệm vụ gradle để loại bỏ yêu cầu 'bỏ qua' gói:

task dokkaJavaDoc(type: org.jetbrains.dokka.gradle.DokkaTask) { 
    outputFormat = 'javadoc' 
    outputDirectory = "$rootDir/docs" 
} 

task deleteUnusedDokkaAssets(type: Delete) { 
    file("$rootDir/docs").listFiles().each { 
     if(it.name.contains("android.R")) project.delete it 
     if(it.name.contains("android.support")) project.delete it 
     if(it.name.contains("com.google")) project.delete it 
     if(it.name.contains("com.crashlytics")) project.delete it 
    } 
} 
+0

Vấn đề với phương pháp này là chỉ số được tham chiếu các tệp này, do đó kết quả cuối cùng sẽ là loại gãy. –

+0

@ bloque13 điều này không hoạt động đối với tôi –

Các vấn đề liên quan