blob: 7d8cc53ebdf3bdbfae6ef21fd7e1e421ec4b69d5 [file] [log] [blame]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/ios/ios_sdk.gni")
import("//build/config/ios/rules.gni")
import("//third_party/protobuf/proto_library.gni")
config("config") {
include_dirs = [ "src/Classes" ]
}
# GTXiLibCore.m uses `-keyWindow` method which is deprecated since iOS 13.0.
# Disable the warning until the library is updated to a version thats do not
# use the deprecated method. See https://crbug.com/1237312 for progress.
config("disable_deprecated_declarations") {
cflags_objcc = [ "-Wno-deprecated-declarations" ]
cflags_objc = cflags_objcc
}
proto_library("proto") {
sources = [ "src/OOPClasses/Protos/gtx.proto" ]
cc_generator_options = "lite"
allow_optional = true
}
source_set("oop_classes") {
testonly = true
sources = [
"src/OOPClasses/accessibility_label_not_punctuated_check.cc",
"src/OOPClasses/accessibility_label_not_punctuated_check.h",
"src/OOPClasses/check.cc",
"src/OOPClasses/check.h",
"src/OOPClasses/check_result.cc",
"src/OOPClasses/check_result.h",
"src/OOPClasses/contrast_check.cc",
"src/OOPClasses/contrast_check.h",
"src/OOPClasses/contrast_swatch.cc",
"src/OOPClasses/contrast_swatch.h",
"src/OOPClasses/element_type.h",
"src/OOPClasses/error_message.cc",
"src/OOPClasses/error_message.h",
"src/OOPClasses/gtx_types.cc",
"src/OOPClasses/gtx_types.h",
"src/OOPClasses/image_color_utils.cc",
"src/OOPClasses/image_color_utils.h",
"src/OOPClasses/localized_strings_manager.cc",
"src/OOPClasses/localized_strings_manager.h",
"src/OOPClasses/minimum_tappable_area_check.cc",
"src/OOPClasses/minimum_tappable_area_check.h",
"src/OOPClasses/no_label_check.h",
"src/OOPClasses/parameters.cc",
"src/OOPClasses/parameters.h",
"src/OOPClasses/string_utils.cc",
"src/OOPClasses/string_utils.h",
"src/OOPClasses/toolkit.cc",
"src/OOPClasses/toolkit.h",
"src/OOPClasses/ui_element.cc",
"src/OOPClasses/ui_element.h",
]
deps = [ ":proto" ]
# Don't use the gtx provided compiled protobuf header. Use an -include here to
# force that.
cflags_cc = [
"-include",
rebase_path(
"$root_out_dir/gen/ios/third_party/gtx/src/OOPClasses/Protos/gtx.pb.h",
root_build_dir),
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:enable_arc" ]
}
ios_framework_bundle("gtx") {
output_name = "GTXiLib"
info_plist = "Info.plist"
testonly = true
sources = [
"src/Classes/GTXAccessibilityTree.h",
"src/Classes/GTXAccessibilityTree.m",
"src/Classes/GTXAnalytics.h",
"src/Classes/GTXAnalytics.m",
"src/Classes/GTXAnalyticsUtils.h",
"src/Classes/GTXAnalyticsUtils.m",
"src/Classes/GTXAssertions.h",
"src/Classes/GTXCheckBlock.h",
"src/Classes/GTXCheckBlock.m",
"src/Classes/GTXCheckResult.h",
"src/Classes/GTXCheckResult.m",
"src/Classes/GTXChecking.h",
"src/Classes/GTXChecksCollection.h",
"src/Classes/GTXChecksCollection.m",
"src/Classes/GTXCommon.h",
"src/Classes/GTXElementReference.h",
"src/Classes/GTXElementReference.m",
"src/Classes/GTXElementResultCollection.h",
"src/Classes/GTXElementResultCollection.m",
"src/Classes/GTXError.h",
"src/Classes/GTXError.m",
"src/Classes/GTXErrorReporter.h",
"src/Classes/GTXErrorReporter.m",
"src/Classes/GTXExcludeListBlock.h",
"src/Classes/GTXExcludeListBlock.m",
"src/Classes/GTXExcludeListFactory.h",
"src/Classes/GTXExcludeListFactory.m",
"src/Classes/GTXExcludeListing.h",
"src/Classes/GTXHierarchyResultCollection.h",
"src/Classes/GTXHierarchyResultCollection.m",
"src/Classes/GTXImageAndColorUtils.h",
"src/Classes/GTXImageAndColorUtils.mm",
"src/Classes/GTXImageRGBAData+GTXOOPAdditions.h",
"src/Classes/GTXImageRGBAData+GTXOOPAdditions.mm",
"src/Classes/GTXImageRGBAData.h",
"src/Classes/GTXImageRGBAData.m",
"src/Classes/GTXLogging.h",
"src/Classes/GTXPluginXCTestCase.h",
"src/Classes/GTXPluginXCTestCase.m",
"src/Classes/GTXReport.h",
"src/Classes/GTXReport.m",
"src/Classes/GTXResult.h",
"src/Classes/GTXResult.m",
"src/Classes/GTXSwizzler.h",
"src/Classes/GTXSwizzler.m",
"src/Classes/GTXTestCase.h",
"src/Classes/GTXTestCase.m",
"src/Classes/GTXTestEnvironment.h",
"src/Classes/GTXTestEnvironment.m",
"src/Classes/GTXTestSuite.h",
"src/Classes/GTXTestSuite.m",
"src/Classes/GTXToolKit+GTXOOPAdditions.h",
"src/Classes/GTXToolKit.h",
"src/Classes/GTXToolKit.mm",
"src/Classes/GTXXCUIApplicationProxy.h",
"src/Classes/GTXXCUIApplicationProxy.m",
"src/Classes/GTXXCUIElementProxy.h",
"src/Classes/GTXXCUIElementProxy.m",
"src/Classes/GTXXCUIElementQueryProxy.h",
"src/Classes/GTXXCUIElementQueryProxy.m",
"src/Classes/GTXiLib.h",
"src/Classes/GTXiLibCore.h",
"src/Classes/GTXiLibCore.m",
"src/Classes/NSError+GTXAdditions.h",
"src/Classes/NSError+GTXAdditions.m",
"src/Classes/NSObject+GTXAdditions.h",
"src/Classes/NSObject+GTXAdditions.mm",
"src/Classes/NSString+GTXAdditions.h",
"src/Classes/NSString+GTXAdditions.mm",
"src/Classes/UIColor+GTXAdditions.h",
"src/Classes/UIColor+GTXAdditions.m",
"src/Classes/UIColor+GTXOOPAdditions.h",
"src/Classes/UIColor+GTXOOPAdditions.mm",
]
public_headers = [
"src/Classes/GTXAccessibilityTree.h",
"src/Classes/GTXAnalytics.h",
"src/Classes/GTXAnalyticsUtils.h",
"src/Classes/GTXAssertions.h",
"src/Classes/GTXExcludeListBlock.h",
"src/Classes/GTXExcludeListFactory.h",
"src/Classes/GTXExcludeListing.h",
"src/Classes/GTXCheckBlock.h",
"src/Classes/GTXChecking.h",
"src/Classes/GTXChecksCollection.h",
"src/Classes/GTXCommon.h",
"src/Classes/GTXErrorReporter.h",
"src/Classes/GTXImageAndColorUtils.h",
"src/Classes/GTXImageRGBAData.h",
"src/Classes/GTXLogging.h",
"src/Classes/GTXPluginXCTestCase.h",
"src/Classes/GTXTestCase.h",
"src/Classes/GTXTestEnvironment.h",
"src/Classes/GTXTestSuite.h",
"src/Classes/GTXToolKit.h",
"src/Classes/GTXiLib.h",
"src/Classes/GTXiLibCore.h",
"src/Classes/NSError+GTXAdditions.h",
"src/Classes/GTXImageRGBAData+GTXOOPAdditions.h",
"src/Classes/GTXError.h",
"src/Classes/GTXReport.h",
"src/Classes/UIColor+GTXAdditions.h",
"src/Classes/GTXCheckResult.h",
"src/Classes/GTXElementReference.h",
"src/Classes/GTXElementResultCollection.h",
"src/Classes/GTXHierarchyResultCollection.h",
"src/Classes/GTXResult.h",
"src/Classes/GTXSwizzler.h",
"src/Classes/GTXXCUIApplicationProxy.h",
"src/Classes/GTXXCUIElementProxy.h",
"src/Classes/GTXXCUIElementQueryProxy.h",
"src/Classes/NSObject+GTXAdditions.h",
"src/Classes/NSString+GTXAdditions.h",
"src/Classes/UIColor+GTXOOPAdditions.h",
"src/Classes/GTXToolKit+GTXOOPAdditions.h",
]
deps = [
":oop_classes",
"//build/config/ios:xctest",
]
# Don't use the gtx provided compiled protobuf header. Use an -include here to
# force that.
cflags_objcc = [
"-include",
rebase_path(
"$root_out_dir/gen/ios/third_party/gtx/src/OOPClasses/Protos/gtx.pb.h",
root_build_dir),
]
include_dirs = [
"src/OOPClasses",
"../../../third_party/protobuf/src",
]
frameworks = [
"CoreGraphics.framework",
"Foundation.framework",
"QuartzCore.framework",
"UIKit.framework",
"XCTest.framework",
]
public_configs = [ ":config" ]
configs -= [
"//build/config/gcc:symbol_visibility_hidden",
"//build/config/compiler:chromium_code",
]
configs += [
"//build/config/compiler:enable_arc",
"//build/config/gcc:symbol_visibility_default",
":disable_deprecated_declarations",
]
}