2017-09-07 22 views
5

Dokkaプラグインを使用してアンドロイドKotlinアプリケーションのJavadocを生成しようとしています。私は私のGradleにプラグインを追加しました:Dokka - デフォルトのアンドロイドパッケージのjavadocをスキップする

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

それから私は、プロジェクトの指示に従って、基本的な構成をした:

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

私は基本的なGradleのコマンドを使用してドキュメントを生成:

[[email protected] AppDir]$ bash gradlew dokka 

出力は大丈夫ですしかし、それは私のプロジェクトに追加したアンドロイドまたはプラグインからの複数のディレクトリを含みます:

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

これらのパッケージをスキップするにはどうすればよいですか?私の/ app/scr/javaフォルダと、作成したファイルのみにDockを生成する方法はありますか?どんな助けもありがとうございます。

答えて

2

Dokkaバージョン0.9.16はbugfix to remove generated files from documentationが含まれます。バージョン0.9.15で

、以下のコミットは「Suppress output of android.R and other generated stuff in dokka-android」という取り組むように見えたが、どうやら必要な情報をsuppresedFilesマップを作成した後、それは本当にsourceSetsをフィルタリングするために使用されませんでした。


UPDATE:他の改善の中で修正、とDokka 0.9.16 has been released。 Androidのフィルタアウト

#224このアプローチの問題は、インデックスがこのファイルを参照しているということなので、最終的な結果は、一種の壊れただろうドキュメント

1

必要を削除するにはGradleのタスクを作成するには、パッケージを 'スキップ':

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

からクラスを生成しました。 –

+0

@ bloque13これは私のために働いていません –

関連する問題