2015-09-25 19 views
9

上のエラーを引き起こして除外します。私たちは、公共の消費のためではないクラス(主に内部で使用されるクラス)からjavadocを除外しようとしています。のJavadocは、私は私の会社が生産するライブラリのJavadocを微調整しているよ輸入

プロジェクトはビルドシステムとしてのGradle使用しており、私たちはbuild.gradleファイルで除外したいパッケージ/クラスをマークしました。しかし、これによりエラーが発生しています。私は除外されているクラスに@linkがあります場合は、警告、またはエラーが出ることを期待しますが、これらの除外クラスが単純にインポートされるとき、それはまた、エラーを投げています。クラス/パッケージを「インクルード」する方法はありますか?javadocをエクスポートしないでください。

編集:

task gendocs(type: Javadoc) { 
    options.stylesheetFile = new File("./assets/doc_style.css") 
    String v = "${SEMVER}" 
    version = v.replace("_", '.') 
    title = "SweetBlue ${version} API" 
    options.windowTitle = "SweetBlue" 
    options.memberLevel = JavadocMemberLevel.PROTECTED 
    options.author = true 
    options.linksOffline('http://d.android.com/reference', System.getenv("ANDROID_HOME") + '/docs/reference')  
    destinationDir = new File("${BUNDLE_FOLDER}/docs/api") 
    source = sourceSets.main.allJava 
    classpath += configurations.compile 
    exclude "com/idevicesinc/sweetblue/backend" 
    exclude "com/idevicesinc/sweetblue/utils/Utils**.java" 
    exclude "com/idevicesinc/sweetblue/utils/UpdateLoop.java" 
    exclude "com/idevicesinc/sweetblue/utils/Pointer.java" 
    exclude "com/idevicesinc/sweetblue/utils/HistoricalDataQuery.java" 
} 

編集2:中除外する

それが表示されます。

SweetBlue/src/com/idevicesinc/sweetblue/BleCharacteristic.java:5: error: cannot find symbol 
import com.idevicesinc.sweetblue.utils.Utils;          
symbol: class Utils 
location: package com.idevicesinc.sweetblue.utils 

編集3:ここで私が話しているの誤差があります。ここの関連のjavadocタスクがありますgradled javadocタスクは、javadocでコマンドラインで-excludeを使うのと同じではありません。私はCLIのjavadoc生成を使ってテストを実行しましたが、Gradleを使用しているときに私が見つけたエラーは見つかりませんでした。

+0

エラーの詳細を知らせないときに、どうやって何が起こっているのかを診断できますか?それは重要ではないかもしれませんが、私は "Utils **。java"パターンが何か役に立つことを疑っています。おそらくそれはちょうど "Utils * .java"でなければなりません。 –

+0

私が言及していたエラーでOPを更新しました。私は以前は十分分かりませんでした。私がUtilsのために持っているものはうまく働いています(Utilsで始まる複数のクラスがあります)。それらは適切に除外されています。 –

+0

私はアイデアがありません。 Gradleフォーラムに詳しいメモを投稿してください。 –

答えて

2

Javadocはインポートされたクラスについて知る必要があります。 javadocにクラスパスを持つJavaソースコードではなくクラスファイルをどこに見つけるか教えてください!

私はXJCと同じ問題がアリ環境で多数のJavadocエラーを生成するコードを生成していました。 はJavadocをドキュメントからそれらを除外しますが、まだ満足させるために、私は単純にbinフォルダの中に見てのjavadocタスクに次のように語った。

<target name="javadoc" description="create Javadoc documentation"> 
    <javadoc ...lots of irrelevant attributes skipped...> 
     <fileset dir="src"> 
      <include name="**/*.java"/> 
      <exclude name="my/jaxb/generated/source/*.java"/> 
     </fileset> 
     <classpath> 
      <path refid="myclasspath_to_referenced_libraries"/> 
      <pathelement location="bin"/> 
     </classpath> 
    </javadoc> 
</target> 
0

が問題であるあなたは、外部の輸入が置かれているのJavadocタスクを伝える必要があり、そのため、Javadoc HTMLに(ハイパー)リンクを作成することができます。 Gradle Docによると

task gendocs(type: Javadoc) { 
    failOnError false 
    ... 
} 

:あなたは、外部クラスへのリンクを気にしない場合は、と論文の問題を無視することができ

エラーがJavadocの生成時に遭遇したときに、このタスクが失敗するかどうかを指定します。 trueの場合、このタスクはJavadocエラーで失敗します。 falseの場合、このタスクはJavadocのエラーを無視します

関連する問題