首页 > 解决方案 > 基于构建类型生成 Javadoc?

问题描述

我在 Android 库项目 (build.gradle) 中定义了一些构建类型:

    android {
    
    defaultConfig {
        ...
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            testCoverageEnabled true
        }
        premium {
            initWith release
            matchingFallbacks = ['release']
        }
    }
    
    libraryVariants.all { variant ->
        variant.outputs.all {
            def variantName = variant.name == "release" ? "-" : "-${variant.name}-"
            outputFileName = "LibName${variantName}${defaultConfig.versionName}.aar"
        }
    } 
}

而且,我们在同一个 build.gradle 中提供了 Javadoc 任务:

   task javadoc(type: Javadoc) {
     source = android.sourceSets.main.java.srcDirs
     options.memberLevel = JavadocMemberLevel.PUBLIC
     exclude 'com/abc/some_package_name/implementation/**'
    }

现在,我会从 Javadoc 中排除一些高级课程:

 task javadoc(type: Javadoc) {
      ...
      exclude 'com/abc/some_package_name/premium/class_name.java'      
    }

我想创建一个额外的 Gradle 任务,这将有助于保留上述排除的 class_name.java(用于高级构建)。

是否可以使用自定义 gradle 任务?

标签: androidgradleandroid-gradle-pluginandroid-buildandroid-build-type

解决方案


推荐阅读