|  | From 698f4d08fea51ada0ac3ed60d4b0b53fb2ead54e Mon Sep 17 00:00:00 2001 | 
|  | From: Alexandre Rostovtsev <arostovtsev@google.com> | 
|  | Date: Wed, 15 Jul 2020 12:44:44 -0400 | 
|  | Subject: [PATCH 2/2] Build environment for com.android.tools:sdk-common:25.0.0 | 
|  |  | 
|  | This patch does two things. | 
|  |  | 
|  | 1. Adds a pom.xml to allow building com.android.tools:sdk-common:25.0.0 | 
|  | using Maven instead of Gradle (the Gradle-based build appears to require | 
|  | a right version of the `sdk-java-lib` Gradle plugin, which is not easy to | 
|  | obtain short of doing an entire AOSP build). This pom file is based on | 
|  | https://repo1.maven.org/maven2/com/android/tools/sdk-common/25.0.0/sdk-common-25.0.0.pom | 
|  | but has numerous missing build dependencies added. | 
|  |  | 
|  | Note that the Guava version is set to 29.0 for compatibility with Bazel. | 
|  |  | 
|  | 2. Fixes incorrect @Override-s in RenderSecurityManager, which | 
|  | otherwise, with a modern Java toolchain, would cause the build to | 
|  | fail with the following error: | 
|  |  | 
|  | base/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java:[265,5] method does not override or implement a method from a supertype | 
|  | base/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java:[521,5] method does not override or implement a method from a supertype | 
|  | base/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java:[557,5] method does not override or implement a method from a supertype | 
|  | base/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java:[564,5] method does not override or implement a method from a supertype | 
|  | --- | 
|  | sdk-common/pom.xml                            | 98 +++++++++++++++++++ | 
|  | .../rendering/RenderSecurityManager.java      |  4 - | 
|  | 2 files changed, 98 insertions(+), 4 deletions(-) | 
|  | create mode 100644 sdk-common/pom.xml | 
|  |  | 
|  | diff --git a/sdk-common/pom.xml b/sdk-common/pom.xml | 
|  | new file mode 100644 | 
|  | index 0000000000..de7429d617 | 
|  | --- /dev/null | 
|  | +++ b/sdk-common/pom.xml | 
|  | @@ -0,0 +1,98 @@ | 
|  | +<?xml version="1.0" encoding="UTF-8"?> | 
|  | +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | 
|  | +  <modelVersion>4.0.0</modelVersion> | 
|  | + | 
|  | +  <groupId>com.android.tools</groupId> | 
|  | +  <artifactId>sdk-common</artifactId> | 
|  | +  <version>25.0.0</version> | 
|  | + | 
|  | +  <name>com.android.tools.sdk-common</name> | 
|  | +  <description>sdk-common library used by other Android tools libraries.</description> | 
|  | +  <url>http://tools.android.com/</url> | 
|  | +  <licenses> | 
|  | +    <license> | 
|  | +      <name>The Apache Software License, Version 2.0</name> | 
|  | +      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | 
|  | +      <distribution>repo</distribution> | 
|  | +    </license> | 
|  | +  </licenses> | 
|  | + | 
|  | +  <developers> | 
|  | +    <developer> | 
|  | +      <name>The Android Open Source Project</name> | 
|  | +    </developer> | 
|  | +  </developers> | 
|  | + | 
|  | +  <scm> | 
|  | +    <connection>git://android.googlesource.com/platform/tools/base.git</connection> | 
|  | +    <url>https://android.googlesource.com/platform/tools/base</url> | 
|  | +  </scm> | 
|  | + | 
|  | +  <properties> | 
|  | +    <maven.compiler.source>1.6</maven.compiler.source> | 
|  | +    <maven.compiler.target>1.6</maven.compiler.target> | 
|  | +  </properties> | 
|  | + | 
|  | +  <dependencies> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools</groupId> | 
|  | +      <artifactId>sdklib</artifactId> | 
|  | +      <version>25.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.google.guava</groupId> | 
|  | +      <artifactId>guava</artifactId> | 
|  | +      <version>29.0-jre</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.google.code.gson</groupId> | 
|  | +      <artifactId>gson</artifactId> | 
|  | +      <version>2.3</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>kxml2</groupId> | 
|  | +      <artifactId>kxml2</artifactId> | 
|  | +      <version>2.3.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools</groupId> | 
|  | +      <artifactId>common</artifactId> | 
|  | +      <version>25.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools</groupId> | 
|  | +      <artifactId>annotations</artifactId> | 
|  | +      <version>25.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools</groupId> | 
|  | +      <artifactId>repository</artifactId> | 
|  | +      <version>25.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools.layoutlib</groupId> | 
|  | +      <artifactId>layoutlib-api</artifactId> | 
|  | +      <version>25.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools.build</groupId> | 
|  | +      <artifactId>builder-test-api</artifactId> | 
|  | +      <version>2.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>com.android.tools.build</groupId> | 
|  | +      <artifactId>builder-model</artifactId> | 
|  | +      <version>2.0.0</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>org.bouncycastle</groupId> | 
|  | +      <artifactId>bcpkix-jdk15on</artifactId> | 
|  | +      <version>1.48</version> | 
|  | +    </dependency> | 
|  | +    <dependency> | 
|  | +      <groupId>org.bouncycastle</groupId> | 
|  | +      <artifactId>bcprov-jdk15on</artifactId> | 
|  | +      <version>1.48</version> | 
|  | +    </dependency> | 
|  | +  </dependencies> | 
|  | +</project> | 
|  | diff --git a/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java b/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java | 
|  | index d537bd3447..8b71083689 100644 | 
|  | --- a/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java | 
|  | +++ b/sdk-common/src/main/java/com/android/ide/common/rendering/RenderSecurityManager.java | 
|  | @@ -262,7 +262,6 @@ public class RenderSecurityManager extends SecurityManager { | 
|  | public void checkPackageAccess(String pkg) { | 
|  | } | 
|  |  | 
|  | -    @Override | 
|  | public void checkMemberAccess(Class<?> clazz, int which) { | 
|  | if (which == Member.DECLARED && isRelevant() && | 
|  | "com.android.ide.common.rendering.RenderSecurityManager".equals(clazz.getName())) { | 
|  | @@ -518,7 +517,6 @@ public class RenderSecurityManager extends SecurityManager { | 
|  | } | 
|  | } | 
|  |  | 
|  | -    @Override | 
|  | public void checkAwtEventQueueAccess() { | 
|  | if (isRelevant()) { | 
|  | throw RenderSecurityException.create("Event", null); | 
|  | @@ -554,14 +552,12 @@ public class RenderSecurityManager extends SecurityManager { | 
|  | } | 
|  | } | 
|  |  | 
|  | -    @Override | 
|  | public void checkSystemClipboardAccess() { | 
|  | if (isRelevant()) { | 
|  | throw RenderSecurityException.create("Clipboard", null); | 
|  | } | 
|  | } | 
|  |  | 
|  | -    @Override | 
|  | public boolean checkTopLevelWindow(Object context) { | 
|  | if (isRelevant()) { | 
|  | throw RenderSecurityException.create("Window", null); | 
|  | -- | 
|  | 2.28.0.rc0.105.gf9edc3c819-goog | 
|  |  |