// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

// This file contains common tasks and configuration for documentation generation.

configurations {
  doclet
}

dependencies {
  doclet libs.yetusAnnotations
}

// Javadoc Configuration
// We use afterEvaluate to add additional configuration once all the definitions
// in the projects build script have been applied
afterEvaluate {
  tasks.withType(Javadoc) {
    if(JavaVersion.current().isJava10Compatible()) {
      // Disable Javadoc generation on Java 10+ until it is fixed.
      enabled = false
    }
    // Configure the Yetus doclet
    options.docletpath = configurations.doclet.files.asType(List)
    options.doclet = "org.apache.yetus.audience.tools.IncludePublicAnnotationsStandardDoclet"
    // Link to Java SE javadoc
    options.links "https://docs.oracle.com/javase/$javaCompatibility/docs/api/"
    // Hacky workaround to YETUS-627. Replace with options.noTimestamp
    // once this workaround is no longer needed.
    options.addStringOption("notimestamp", "org.apache.kudu")
  }
}