Improve Javadoc postprocessing

- Remove stray extra "/" from postprocessed oracle URLs
- Remove date lines so the Javadoc diff better shows what
  actually changed between releases

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=190973079
This commit is contained in:
olly 2018-03-29 13:01:11 -07:00 committed by Oliver Woodman
parent 3a98f7aa99
commit 64b2b34798
3 changed files with 18 additions and 10 deletions

View File

@ -49,7 +49,7 @@ class CombinedJavadocPlugin implements Plugin<Project> {
}
}
doLast {
project.javadocFixLinks()
project.fixJavadoc()
}
}
}

View File

@ -37,7 +37,7 @@ android.libraryVariants.all { variant ->
project.android.getBootClasspath())
}
doLast {
project.javadocFixLinks()
project.fixJavadoc()
}
}
}

View File

@ -11,21 +11,29 @@
// 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.
ext.javadocFixLinks = {
ext.fixJavadoc = {
def javadocPath = "${project.buildDir}/docs/javadoc"
// Fix external Android links to target the top frame.
def androidRoot = "https://developer.android.com/reference/"
def androidLink = "<a href=\"(${androidRoot}.*?)\\?is-external=true\""
def androidFixed = "<a href=\"\\1\" target=\"_top\""
ant.replaceregexp(
match:androidLink, replace:androidFixed, flags:'g', byline:true) {
fileset(dir: "${project.buildDir}/docs/javadoc")
ant.replaceregexp(match:androidLink, replace:androidFixed, flags:'g') {
fileset(dir: "${javadocPath}", includes: "**/*.html")
}
// Fix external Oracle links to use frames and target the top frame.
def oracleRoot = "https://docs.oracle.com/javase/7/docs/api/"
def oracleLink = "<a href=\"(${oracleRoot})(.*?)\\?is-external=true\""
def oracleFixed = "<a href=\"\\1/index.html\\?\\2\" target=\"_top\""
ant.replaceregexp(
match:oracleLink, replace:oracleFixed, flags:'g', byline:true) {
fileset(dir: "${project.buildDir}/docs/javadoc")
def oracleFixed = "<a href=\"\\1index.html\\?\\2\" target=\"_top\""
ant.replaceregexp(atch:oracleLink, replace:oracleFixed, flags:'g') {
fileset(dir: "${javadocPath}", includes: "**/*.html")
}
// Remove date metadata that changes every time Javadoc is generated.
def javadocGeneratedBy = "<!-- Generated by javadoc.*?-->\n"
ant.replaceregexp(match:javadocGeneratedBy, replace:"") {
fileset(dir: "${javadocPath}", includes: "**/*.html")
}
def dateMeta = "<meta name=\"date\".*?>\n"
ant.replaceregexp(match:dateMeta, replace:"") {
fileset(dir: "${javadocPath}", includes: "**/*.html")
}
}