diff options
author | android-build-prod (mdb) <android-build-team-robot@google.com> | 2020-03-24 22:02:21 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-03-24 22:02:21 +0000 |
commit | dd43a30ffdcee878b661f373ea1d680577ec5ec6 (patch) | |
tree | b7ce1a9db7dd24bb8107be96f40cc5d52b6fd9f5 | |
parent | d58e63f351ac75bb778abcad5a5ed1cc5a946585 (diff) | |
parent | 4fc5d4ca06f832204301e8e20ffa7ab313bdd7f7 (diff) | |
download | platform_external_doclava-androidx-core-core-role-release.tar.gz platform_external_doclava-androidx-core-core-role-release.tar.bz2 platform_external_doclava-androidx-core-core-role-release.zip |
Merge "Snap for 6328954 from 17bfa62ff68222b7333f74238caa73b908ceb2a0 to androidx-core-core-role-release" into androidx-core-core-role-releaseandroidx-core-core-role-release
-rw-r--r-- | build.gradle | 19 | ||||
-rw-r--r-- | res/assets/templates-sdk/compatchanges.cs | 23 | ||||
-rw-r--r-- | src/com/google/doclava/CompatInfo.java | 42 |
3 files changed, 65 insertions, 19 deletions
diff --git a/build.gradle b/build.gradle index 3096e0e..7cd0f09 100644 --- a/build.gradle +++ b/build.gradle @@ -22,13 +22,6 @@ apply plugin: 'maven' group = 'com.android' version = '1.0.6' -def currentJvmVersion = org.gradle.api.JavaVersion.current() -if (currentJvmVersion.getMajorVersion() != "8") { - throw new Exception("Unsupported java version '" + currentJvmVersion.toString() + "'. Please install java 8.\n" + -"\n" + -"If you have already installed java 8, you can instruct Gradle to use it by setting the environment variable JAVA_HOME equal to its file path.") -} - /* * With the build server you are given two env variables: * 1. The OUT_DIR is a temporary directory you can use to put things during the build. @@ -85,7 +78,17 @@ dependencies { testCompile 'junit:junit:4.12' // tools.jar required for com.sun.javadoc - compile files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()) + def currentJvmVersion = org.gradle.api.JavaVersion.current() + def toolsJar; + if (currentJvmVersion.getMajorVersion() == "8") { + toolsJar = ((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs() + } else if (System.env.JAVA_TOOLS_JAR != null) { + toolsJar = System.env.JAVA_TOOLS_JAR + } else { + throw new Exception("If you are not using Java 8, JAVA_TOOLS_JAR env variable " + + "needs to be set to build Doclava") + } + compile files(toolsJar) } sourceSets { diff --git a/res/assets/templates-sdk/compatchanges.cs b/res/assets/templates-sdk/compatchanges.cs index bcb0def..001b937 100644 --- a/res/assets/templates-sdk/compatchanges.cs +++ b/res/assets/templates-sdk/compatchanges.cs @@ -16,13 +16,22 @@ <?cs each:change=change ?> <h3 class="api-name" id="<?cs var:change.name ?>"><?cs var:change.name ?></h3> <div>Value: <?cs var:change.id ?></div> - <!-- TODO: This will do the wrong thing for disabled changes; need to plumb through the - disabled flag --> - <div>Enabled for <?cs if:change.enableAfterTargetSdk ?> - apps with a <code>targetSdkVersion</code> of greater than <?cs var:change.enableAfterTargetSdk ?>. - <?cs else ?> - all apps. - <?cs /if ?> + <div> + <?cs if:change.loggingOnly ?> + Used for logging only. + <?cs else ?> + <?cs if:change.disabled ?> + Disabled for all apps. + <?cs else ?> + Enabled for + <?cs if:change.enableAfterTargetSdk ?> + apps with a <code>targetSdkVersion</code> of greater than + <?cs var:change.enableAfterTargetSdk ?>. + <?cs else ?> + all apps. + <?cs /if ?> + <?cs /if ?> + <?cs /if ?> </div> <?cs call:description(change) ?> diff --git a/src/com/google/doclava/CompatInfo.java b/src/com/google/doclava/CompatInfo.java index 5747d93..167f6ab 100644 --- a/src/com/google/doclava/CompatInfo.java +++ b/src/com/google/doclava/CompatInfo.java @@ -42,16 +42,22 @@ public class CompatInfo { public final String definedInClass; public final String sourceFile; public final int sourceLine; + public final boolean disabled; + public final boolean loggingOnly; public final int enableAfterTargetSdk; + CompatChange(String name, long id, String description, String definedInClass, - String sourceFile, int sourceLine, int enableAfterTargetSdk) { + String sourceFile, int sourceLine, boolean disabled, boolean loggingOnly, + int enableAfterTargetSdk) { this.name = name; this.id = id; this.description = description; this.definedInClass = definedInClass; this.sourceFile = sourceFile; this.sourceLine = sourceLine; + this.disabled = disabled; + this.loggingOnly = loggingOnly; this.enableAfterTargetSdk = enableAfterTargetSdk; } @@ -62,12 +68,14 @@ public class CompatInfo { private String mDefinedInClass; private String mSourceFile; private int mSourceLine; + private boolean mDisabled; + private boolean mLoggingOnly; private int mEnableAfterTargetSdk; CompatChange build() { return new CompatChange( mName, mId, mDescription, mDefinedInClass, mSourceFile, mSourceLine, - mEnableAfterTargetSdk); + mDisabled, mLoggingOnly, mEnableAfterTargetSdk); } Builder name(String name) { @@ -106,6 +114,24 @@ public class CompatInfo { return this; } + boolean parseBool(String value) { + if (value == null) { + return false; + } + boolean result = Boolean.parseBoolean(value); + return result; + } + + Builder disabled(String disabled) { + mDisabled = parseBool(disabled); + return this; + } + + Builder loggingOnly(String loggingOnly) { + mLoggingOnly = parseBool(loggingOnly); + return this; + } + Builder enableAfterTargetSdk(String enableAfter) throws SAXException { if (enableAfter == null) { mEnableAfterTargetSdk = 0; @@ -138,8 +164,10 @@ public class CompatInfo { throw new SAXException("<compat-change> id is not a valid long", nfe); } mCurrentChange.name(attributes.getValue("name")) - .description(attributes.getValue("description")) - .enableAfterTargetSdk(attributes.getValue("enableAfterTargetSdk")); + .description(attributes.getValue("description")) + .enableAfterTargetSdk(attributes.getValue("enableAfterTargetSdk")) + .disabled(attributes.getValue("disabled")) + .loggingOnly(attributes.getValue("loggingOnly")); } else if (qName.equals("meta-data")) { if (mCurrentChange == null) { @@ -215,6 +243,12 @@ public class CompatInfo { hdf.setValue(path + ".enableAfterTargetSdk", Integer.toString(change.enableAfterTargetSdk)); } + if (change.loggingOnly) { + hdf.setValue(path + ".loggingOnly", Boolean.toString(true)); + } + if (change.disabled) { + hdf.setValue(path + ".disabled", Boolean.toString(true)); + } TagInfo.makeHDF(hdf, path + ".descr", comment.tags()); } } |