SkQP: bring release.sh script into skqp/release branch.
am: 648ed10be0
Change-Id: I227c95afe090c80b78dae99677e3c7397c789c8e
diff --git a/Android.bp b/Android.bp
index 5a6468c..a11ba66 100644
--- a/Android.bp
+++ b/Android.bp
@@ -83,6 +83,7 @@
],
local_include_dirs: [
+ "experimental/svg/model/",
"gm/",
"include/android/",
"include/atlastext/",
@@ -141,6 +142,29 @@
srcs: [
"third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp",
"dm/DMGpuTestProcs.cpp",
+ "experimental/svg/model/SkSVGAttribute.cpp",
+ "experimental/svg/model/SkSVGAttributeParser.cpp",
+ "experimental/svg/model/SkSVGCircle.cpp",
+ "experimental/svg/model/SkSVGClipPath.cpp",
+ "experimental/svg/model/SkSVGContainer.cpp",
+ "experimental/svg/model/SkSVGDOM.cpp",
+ "experimental/svg/model/SkSVGEllipse.cpp",
+ "experimental/svg/model/SkSVGGradient.cpp",
+ "experimental/svg/model/SkSVGLine.cpp",
+ "experimental/svg/model/SkSVGLinearGradient.cpp",
+ "experimental/svg/model/SkSVGNode.cpp",
+ "experimental/svg/model/SkSVGPath.cpp",
+ "experimental/svg/model/SkSVGPattern.cpp",
+ "experimental/svg/model/SkSVGPoly.cpp",
+ "experimental/svg/model/SkSVGRadialGradient.cpp",
+ "experimental/svg/model/SkSVGRect.cpp",
+ "experimental/svg/model/SkSVGRenderContext.cpp",
+ "experimental/svg/model/SkSVGSVG.cpp",
+ "experimental/svg/model/SkSVGShape.cpp",
+ "experimental/svg/model/SkSVGStop.cpp",
+ "experimental/svg/model/SkSVGTransformableNode.cpp",
+ "experimental/svg/model/SkSVGUse.cpp",
+ "experimental/svg/model/SkSVGValue.cpp",
"gm/3dgm.cpp",
"gm/OverStroke.cpp",
"gm/aaa.cpp",
@@ -515,7 +539,6 @@
"src/codec/SkColorTable.cpp",
"src/codec/SkEncodedInfo.cpp",
"src/codec/SkGifCodec.cpp",
- "src/codec/SkHeifCodec.cpp",
"src/codec/SkIcoCodec.cpp",
"src/codec/SkJpegCodec.cpp",
"src/codec/SkJpegDecoderMgr.cpp",
@@ -1138,6 +1161,8 @@
"src/sksl/ir/SkSLSymbolTable.cpp",
"src/sksl/ir/SkSLType.cpp",
"src/sksl/ir/SkSLVariableReference.cpp",
+ "src/svg/SkSVGCanvas.cpp",
+ "src/svg/SkSVGDevice.cpp",
"src/utils/Sk3D.cpp",
"src/utils/SkAnimCodecPlayer.cpp",
"src/utils/SkBase64.cpp",
@@ -1178,6 +1203,9 @@
"src/utils/win/SkHRESULT.cpp",
"src/utils/win/SkIStream.cpp",
"src/utils/win/SkWGL_win.cpp",
+ "src/xml/SkDOM.cpp",
+ "src/xml/SkXMLParser.cpp",
+ "src/xml/SkXMLWriter.cpp",
"src/xps/SkXPSDevice.cpp",
"src/xps/SkXPSDocument.cpp",
"tests/AAClipTest.cpp",
@@ -1624,6 +1652,7 @@
"libz",
],
static_libs: [
+ "libexpat",
"libjpeg_static_ndk",
"libjsoncpp_ndk",
"libpng_ndk",
diff --git a/include/config/SkUserConfig.h b/include/config/SkUserConfig.h
index 208b3ee..3755818 100644
--- a/include/config/SkUserConfig.h
+++ b/include/config/SkUserConfig.h
@@ -10,7 +10,6 @@
#define SK_GAMMA_APPLY_TO_A8
#define SK_GAMMA_CONTRAST 0.0
#define SK_GAMMA_EXPONENT 1.4
-#define SK_HAS_HEIF_LIBRARY
#define SK_HAS_JPEG_LIBRARY
#define SK_HAS_PNG_LIBRARY
#define SK_HAS_WEBP_LIBRARY
@@ -18,3 +17,4 @@
#define SK_SUPPORT_ATLAS_TEXT 1
#define SK_TOOLS_REQUIRE_RESOURCES
#define SK_VULKAN
+#define SK_XML
diff --git a/include/config/SkUserConfigManual.h b/include/config/SkUserConfigManual.h
index e96b715..65b29d0 100644
--- a/include/config/SkUserConfigManual.h
+++ b/include/config/SkUserConfigManual.h
@@ -1,12 +1,8 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
+// Copyright 2019 Google LLC.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
#ifndef SkUserConfigManual_DEFINED
#define SkUserConfigManual_DEFINED
- // DON'T DEFINE THINGS HERE AS IT WILL RESULT IN DIFFERENCES WITH
- // THE VERSION OF SKQP PUBLISHED ON SKIA.ORG
+// DON'T DEFINE THINGS HERE AS IT WILL RESULT IN DIFFERENCES WITH
+// THE VERSION OF SKQP PUBLISHED ON SKIA.ORG
#endif // SkUserConfigManual_DEFINED
diff --git a/platform_tools/android/apps/skqp/src/main/Android.mk b/platform_tools/android/apps/skqp/src/main/Android.mk
index cdfdcd1..18f4a55 100644
--- a/platform_tools/android/apps/skqp/src/main/Android.mk
+++ b/platform_tools/android/apps/skqp/src/main/Android.mk
@@ -1,49 +1,18 @@
-# Copyright (C) 2018 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.
-
+# Copyright 2019 Google LLC.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
LOCAL_PATH:= $(call my-dir)
-
include $(CLEAR_VARS)
-
-# don't include this package in any target
LOCAL_MODULE_TAGS := tests optional
-
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-# Tag this module as a cts test artifact
LOCAL_COMPATIBILITY_SUITE := cts vts general-tests
-
LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
-
LOCAL_JNI_SHARED_LIBRARIES := libskqp_app
-
-# include both the 32 and 64 bit versions
LOCAL_MULTILIB := both
-
LOCAL_USE_AAPT2 := true
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
- android-support-design
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
- ctstestrunner-axt
-
+LOCAL_STATIC_ANDROID_LIBRARIES := android-support-design
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner-axt
LOCAL_SRC_FILES := $(call all-java-files-under, java)
-
LOCAL_PACKAGE_NAME := CtsSkQPTestCases
-
-# Enforce public / test api only
LOCAL_SDK_VERSION := test_current
-
include $(BUILD_CTS_PACKAGE)
diff --git a/platform_tools/android/apps/skqp/src/main/AndroidTest.xml b/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
index 5b0a7bb..03dc042 100644
--- a/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
+++ b/platform_tools/android/apps/skqp/src/main/AndroidTest.xml
@@ -1,29 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 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.
+<!--
+Copyright 2019 Google LLC.
+Use of this source code is governed by a BSD-style license that can be
+found in the LICENSE file.
-->
<configuration description="Config for CTS SkQP test cases">
- <option name="test-suite-tag" value="cts" />
- <option name="config-descriptor:metadata" key="component" value="uitoolkit" />
- <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
- <option name="config-descriptor:metadata" key="parameter" value="multi_abi" />
- <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
- <option name="cleanup-apks" value="true" />
- <option name="test-file-name" value="CtsSkQPTestCases.apk" />
- </target_preparer>
- <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
- <option name="package" value="org.skia.skqp" />
- <option name="runtime-hint" value="7m" />
- </test>
+<option name="test-suite-tag" value="cts" />
+<option name="config-descriptor:metadata" key="component" value="uitoolkit" />
+<option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+<option name="config-descriptor:metadata" key="parameter" value="multi_abi" />
+<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+<option name="cleanup-apks" value="true" />
+<option name="test-file-name" value="CtsSkQPTestCases.apk" />
+</target_preparer>
+<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+<option name="package" value="org.skia.skqp" />
+<option name="runtime-hint" value="7m" />
+</test>
</configuration>
diff --git a/tools/skqp/generate_gn_args b/tools/skqp/generate_gn_args
index 9559c53..856050d 100755
--- a/tools/skqp/generate_gn_args
+++ b/tools/skqp/generate_gn_args
@@ -8,22 +8,13 @@
import os
import sys
+from skqp_gn_args import SkqpGnArgs
+
fmt = '''
target_cpu = "{arch}"
-is_debug = {debug}
ndk = "{android_ndk_dir}"
+is_debug = {debug}
ndk_api = {api_level}
-skia_enable_fontmgr_empty = true
-skia_enable_pdf = false
-skia_skqp_global_error_tolerance = 8
-skia_use_dng_sdk = false
-skia_use_expat = true
-skia_use_icu = false
-skia_use_libheif = false
-skia_use_lua = false
-skia_use_piex = false
-skia_tools_require_resources = true
-extra_cflags = [ "-DSK_ENABLE_DUMP_GPU", "-DSK_BUILD_FOR_SKQP" ]
'''
def parse_args():
@@ -47,11 +38,19 @@
args.android_ndk_dir = os.path.abspath(args.android_ndk_dir)
return args
+def write_gn(o, args):
+ o.write(fmt.format(**args))
+ for (k,v) in SkqpGnArgs.iteritems():
+ o.write('%s = %s\n' % (k,v) )
+
def make_args_gn(out_dir, args):
+ if out_dir == '-':
+ write_gn(sys.stdout, args)
+ return
if not os.path.exists(out_dir):
os.makedirs(out_dir)
with open(os.path.join(out_dir, 'args.gn'), 'w') as o:
- o.write(fmt.format(**args))
+ write_gn(o, args)
if __name__ == '__main__':
args = parse_args()
diff --git a/tools/skqp/gn_to_bp.py b/tools/skqp/gn_to_bp.py
index 58d384e..d6b8495 100755
--- a/tools/skqp/gn_to_bp.py
+++ b/tools/skqp/gn_to_bp.py
@@ -23,6 +23,8 @@
import gn_to_bp_utils
+from skqp_gn_args import SkqpGnArgs
+
# First we start off with a template for Android.bp,
# with holes for source lists and include directories.
bp = string.Template('''// This file is autogenerated by tools/skqp/gn_to_bp.py.
@@ -105,6 +107,7 @@
"libz",
],
static_libs: [
+ "libexpat",
"libjpeg_static_ndk",
"libjsoncpp_ndk",
"libpng_ndk",
@@ -121,21 +124,6 @@
# setup skqp
'is_debug': 'false',
'ndk_api': '26',
- 'skia_skqp_global_error_tolerance': '8',
- 'skia_tools_require_resources': 'true',
-
- # setup vulkan
- 'skia_use_vulkan': 'true',
-
- # enable/disable skia subsystems
- 'skia_enable_fontmgr_empty': 'true',
- 'skia_enable_pdf': 'false',
- 'skia_enable_skottie': 'false',
- 'skia_use_expat': 'true',
- 'skia_use_dng_sdk': 'false',
- 'skia_use_icu': 'false',
- 'skia_use_lua': 'false',
- 'skia_use_piex': 'false',
# specify that the Android.bp will supply the necessary components
'skia_use_system_expat': 'true', # removed this when gn is fixed
@@ -146,6 +134,9 @@
'skia_use_system_zlib': 'true',
}
+for (k,v) in SkqpGnArgs.iteritems():
+ gn_args[k] = v
+
js = gn_to_bp_utils.GenerateJSONFromGN(gn_args)
def strip_slashes(lst):
diff --git a/tools/skqp/release.sh b/tools/skqp/release.sh
new file mode 100755
index 0000000..f96fb9f
--- /dev/null
+++ b/tools/skqp/release.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+# Copyright 2019 Google LLC.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+cd "$(dirname "$0")/../.."
+
+set -e -x
+
+[ -f platform_tools/android/apps/skqp/src/main/assets/files.checksum ] || exit 1
+[ -f platform_tools/android/apps/skqp/src/main/assets/skqp/rendertests.txt ] || exit 1
+[ -f platform_tools/android/apps/skqp/src/main/assets/skqp/unittests.txt ] || exit 1
+
+python tools/skqp/gn_to_bp.py
+python tools/skqp/download_model
+python tools/skqp/setup_resources
+
+touch MODULE_LICENSE_BSD
+
+cat > platform_tools/android/apps/skqp/src/main/Android.mk <<- "EOM"
+ # Copyright 2019 Google LLC.
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+ LOCAL_PATH:= $(call my-dir)
+ include $(CLEAR_VARS)
+ LOCAL_MODULE_TAGS := tests optional
+ LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+ LOCAL_COMPATIBILITY_SUITE := cts vts general-tests
+ LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
+ LOCAL_JNI_SHARED_LIBRARIES := libskqp_app
+ LOCAL_MULTILIB := both
+ LOCAL_USE_AAPT2 := true
+ LOCAL_STATIC_ANDROID_LIBRARIES := android-support-design
+ LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner-axt
+ LOCAL_SRC_FILES := $(call all-java-files-under, java)
+ LOCAL_PACKAGE_NAME := CtsSkQPTestCases
+ LOCAL_SDK_VERSION := test_current
+ include $(BUILD_CTS_PACKAGE)
+EOM
+
+cat > include/config/SkUserConfigManual.h <<- "EOM"
+ // Copyright 2019 Google LLC.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ #ifndef SkUserConfigManual_DEFINED
+ #define SkUserConfigManual_DEFINED
+ // DON'T DEFINE THINGS HERE AS IT WILL RESULT IN DIFFERENCES WITH
+ // THE VERSION OF SKQP PUBLISHED ON SKIA.ORG
+ #endif // SkUserConfigManual_DEFINED
+EOM
+
+cat > platform_tools/android/apps/skqp/src/main/AndroidTest.xml <<- "EOM"
+ <?xml version="1.0" encoding="utf-8"?>
+ <!--
+ Copyright 2019 Google LLC.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file.
+ -->
+ <configuration description="Config for CTS SkQP test cases">
+ <option name="test-suite-tag" value="cts" />
+ <option name="config-descriptor:metadata" key="component" value="uitoolkit" />
+ <option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
+ <option name="config-descriptor:metadata" key="parameter" value="multi_abi" />
+ <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+ <option name="cleanup-apks" value="true" />
+ <option name="test-file-name" value="CtsSkQPTestCases.apk" />
+ </target_preparer>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+ <option name="package" value="org.skia.skqp" />
+ <option name="runtime-hint" value="7m" />
+ </test>
+ </configuration>
+EOM
+
+[ -f platform_tools/android/apps/skqp/src/main/assets/.gitignore ] && \
+ git rm platform_tools/android/apps/skqp/src/main/assets/.gitignore
+
+git add \
+ Android.bp \
+ MODULE_LICENSE_BSD \
+ include/config/SkUserConfig.h \
+ include/config/SkUserConfigManual.h \
+ platform_tools/android/apps/skqp/src/main/Android.mk \
+ platform_tools/android/apps/skqp/src/main/AndroidTest.xml \
+ platform_tools/android/apps/skqp/src/main/assets
diff --git a/tools/skqp/skqp_gn_args.py b/tools/skqp/skqp_gn_args.py
new file mode 100644
index 0000000..1c55194
--- /dev/null
+++ b/tools/skqp/skqp_gn_args.py
@@ -0,0 +1,19 @@
+# Copyright 2019 Google LLC.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+SkqpGnArgs = {
+ 'extra_cflags': '[ "-DSK_ENABLE_DUMP_GPU", "-DSK_BUILD_FOR_SKQP" ]',
+ 'skia_enable_fontmgr_android': 'false',
+ 'skia_enable_fontmgr_empty': 'true',
+ 'skia_enable_pdf': 'false',
+ 'skia_enable_skottie': 'false',
+ 'skia_skqp_global_error_tolerance': '8',
+ 'skia_tools_require_resources': 'true',
+ 'skia_use_dng_sdk': 'false',
+ 'skia_use_expat': 'true',
+ 'skia_use_icu': 'false',
+ 'skia_use_libheif': 'false',
+ 'skia_use_lua': 'false',
+ 'skia_use_piex': 'false',
+ 'skia_use_vulkan': 'true',
+}