Generate Javadoc for each module individually

Notes:
- The VP9 one is failing claiming that the util package
  doesn't exist and that LibraryLoader cannot be found.
  Unsure why, since it appears to be setup exactly like
  other extensions (e.g. Opus) that does work.
- @link across modules will not work when generating
  Javadoc for a single module. This is WAI. I subsequent
  change will add an aggregated Javadoc generator that
  will generate Javadoc for all modules together and
  apply cross module @link correctly.

Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150864273
This commit is contained in:
olly 2017-03-22 04:21:16 -07:00 committed by Oliver Woodman
parent 7ce8125194
commit 88e74ef381
14 changed files with 92 additions and 33 deletions

View File

@ -39,3 +39,8 @@ dependencies {
androidTestCompile project(':library')
androidTestCompile 'com.android.support.test:runner:0.5'
}
ext {
javadocTitle = 'Cronet extension'
}
apply from: '../../library_javadoc.gradle'

View File

@ -32,3 +32,8 @@ android {
dependencies {
compile project(':library-core')
}
ext {
javadocTitle = 'FFmpeg extension'
}
apply from: '../../library_javadoc.gradle'

View File

@ -34,3 +34,7 @@ dependencies {
androidTestCompile project(':testutils')
}
ext {
javadocTitle = 'FLAC extension'
}
apply from: '../../library_javadoc.gradle'

View File

@ -28,6 +28,11 @@ dependencies {
compile 'com.google.vr:sdk-audio:1.30.0'
}
ext {
javadocTitle = 'GVR extension'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'extension-gvr'
releaseDescription = 'Google VR extension for ExoPlayer.'

View File

@ -35,6 +35,11 @@ dependencies {
}
}
ext {
javadocTitle = 'OkHttp extension'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'extension-okhttp'
releaseDescription = 'OkHttp extension for ExoPlayer.'

View File

@ -32,3 +32,8 @@ android {
dependencies {
compile project(':library-core')
}
ext {
javadocTitle = 'Opus extension'
}
apply from: '../../library_javadoc.gradle'

View File

@ -33,3 +33,7 @@ dependencies {
compile project(':library-core')
}
ext {
javadocTitle = 'VP9 extension'
}
apply from: '../../library_javadoc.gradle'

View File

@ -33,39 +33,6 @@ dependencies {
compile project(':library-ui')
}
android.libraryVariants.all { variant ->
def name = variant.buildType.name
if (name.equals(BuilderConstants.DEBUG)) {
return; // Skip debug builds.
}
def task = project.tasks.create "jar${name.capitalize()}", Jar
task.dependsOn variant.javaCompile
task.from variant.javaCompile.destinationDir
artifacts.add('archives', task);
}
android.libraryVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
title = "ExoPlayer library"
description "Generates Javadoc for $variant.name."
source = variant.javaCompile.source
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
options {
links "http://docs.oracle.com/javase/7/docs/api/"
linksOffline "https://developer.android.com/reference","${android.sdkDirectory}/docs/reference"
encoding = 'UTF-8'
}
exclude '**/BuildConfig.java'
exclude '**/R.java'
doLast {
copy {
from "src/main/javadoc"
into "$buildDir/docs/javadoc"
}
}
}
}
ext {
releaseArtifact = 'exoplayer'
releaseDescription = 'The ExoPlayer library (all modules).'

View File

@ -45,6 +45,11 @@ dependencies {
androidTestCompile 'org.mockito:mockito-core:1.9.5'
}
ext {
javadocTitle = 'Core'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'exoplayer-core'
releaseDescription = 'The ExoPlayer library core module.'

View File

@ -37,6 +37,11 @@ dependencies {
androidTestCompile 'org.mockito:mockito-core:1.9.5'
}
ext {
javadocTitle = 'DASH'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'exoplayer-dash'
releaseDescription = 'The ExoPlayer library DASH module.'

View File

@ -31,6 +31,11 @@ dependencies {
androidTestCompile 'org.mockito:mockito-core:1.9.5'
}
ext {
javadocTitle = 'HLS'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'exoplayer-hls'
releaseDescription = 'The ExoPlayer library HLS module.'

View File

@ -37,6 +37,11 @@ dependencies {
androidTestCompile 'org.mockito:mockito-core:1.9.5'
}
ext {
javadocTitle = 'SmoothStreaming'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'exoplayer-smoothstreaming'
releaseDescription = 'The ExoPlayer library SmoothStreaming module.'

View File

@ -28,6 +28,11 @@ dependencies {
compile 'com.android.support:support-annotations:25.2.0'
}
ext {
javadocTitle = 'UI'
}
apply from: '../../library_javadoc.gradle'
ext {
releaseArtifact = 'exoplayer-ui'
releaseDescription = 'The ExoPlayer library UI module.'

34
library_javadoc.gradle Normal file
View File

@ -0,0 +1,34 @@
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed 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.
android.libraryVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
description "Generates Javadoc for $variant.name."
title = javadocTitle
source = variant.javaCompile.source
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
options {
links "http://docs.oracle.com/javase/7/docs/api/"
linksOffline "https://developer.android.com/reference","${android.sdkDirectory}/docs/reference"
encoding = 'UTF-8'
}
exclude '**/BuildConfig.java'
exclude '**/R.java'
doLast {
copy {
from "src/main/javadoc"
into "$buildDir/docs/javadoc"
}
}
}
}