Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Unified Diff: ios/third_party/ochamcrest/BUILD.gn

Issue 1879493002: [iOS/GN] Convert //ios/third_party/ochamcrest to build a framework. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-framework-bundle
Patch Set: Add a comment to explain the "set_sources_assignment_filter" in "ios_framework_bundle" template Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/config/ios/rules.gni ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/third_party/ochamcrest/BUILD.gn
diff --git a/ios/third_party/ochamcrest/BUILD.gn b/ios/third_party/ochamcrest/BUILD.gn
index 47f613594b040c2969f3280b041421c18abac4b2..402942789aa5e2ad7edc9d6b8fa6d814fc85059a 100644
--- a/ios/third_party/ochamcrest/BUILD.gn
+++ b/ios/third_party/ochamcrest/BUILD.gn
@@ -2,20 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-# OCHamcrest sources contains import rules using relative file names
-# ("HCAssertThat.h") and other using paths in an installed framework
-# (<OCHamcrest/HCMatcher.h>). In order to build, copy all the sources
-# to <(SHARED_INTERMEDIATE_DIR)/ios/third_party/ochmacrest/OCHamcrest
-# so that both type of import work (another option considered was to
-# build forwarding headers but this required duplicating the list of
-# files in GN build and was ruled out).
-#
-# To avoid ODR violation, direct import of ios/third_party/ochamcrest
-# is forbidden in ios/DEPS and code should instead use import as if
-# OCHamcrest was in a framework (i.e. #import <OCHamcrest/OCHamcrest.h>).
-copy("ochamcrest_copy_files") {
+import("//build/config/ios/rules.gni")
+
+ios_framework_bundle("ochamcrest") {
testonly = true
- visibility = [ ":ochamcrest" ]
+ output_name = "OCHamcrest"
sources = [
"src/Source/Core/HCAssertThat.h",
"src/Source/Core/HCAssertThat.m",
@@ -170,27 +161,72 @@ copy("ochamcrest_copy_files") {
"src/Source/Library/Text/HCSubstringMatcher.m",
"src/Source/OCHamcrest.h",
]
- outputs = [
- "$root_gen_dir/ios/third_party/ochamcrest/OCHamcrest/{{source_file_part}}",
+ public_headers = [
+ "src/Source/Core/HCAssertThat.h",
+ "src/Source/Core/HCBaseDescription.h",
+ "src/Source/Core/HCBaseMatcher.h",
+ "src/Source/Core/HCDescription.h",
+ "src/Source/Core/HCDiagnosingMatcher.h",
+ "src/Source/Core/HCMatcher.h",
+ "src/Source/Core/HCSelfDescribing.h",
+ "src/Source/Core/HCStringDescription.h",
+ "src/Source/Core/Helpers/HCCollect.h",
+ "src/Source/Core/Helpers/HCInvocationMatcher.h",
+ "src/Source/Core/Helpers/HCRequireNonNilObject.h",
+ "src/Source/Core/Helpers/HCWrapInMatcher.h",
+ "src/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h",
+ "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h",
+ "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h",
+ "src/Source/Library/Collection/HCEvery.h",
+ "src/Source/Library/Collection/HCHasCount.h",
+ "src/Source/Library/Collection/HCIsCollectionContaining.h",
+ "src/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h",
+ "src/Source/Library/Collection/HCIsCollectionContainingInOrder.h",
+ "src/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h",
+ "src/Source/Library/Collection/HCIsCollectionOnlyContaining.h",
+ "src/Source/Library/Collection/HCIsDictionaryContaining.h",
+ "src/Source/Library/Collection/HCIsDictionaryContainingEntries.h",
+ "src/Source/Library/Collection/HCIsDictionaryContainingKey.h",
+ "src/Source/Library/Collection/HCIsDictionaryContainingValue.h",
+ "src/Source/Library/Collection/HCIsEmptyCollection.h",
+ "src/Source/Library/Collection/HCIsIn.h",
+ "src/Source/Library/Decorator/HCDescribedAs.h",
+ "src/Source/Library/Decorator/HCIs.h",
+ "src/Source/Library/Logical/HCAllOf.h",
+ "src/Source/Library/Logical/HCAnyOf.h",
+ "src/Source/Library/Logical/HCIsAnything.h",
+ "src/Source/Library/Logical/HCIsNot.h",
+ "src/Source/Library/Number/HCIsCloseTo.h",
+ "src/Source/Library/Number/HCIsEqualToNumber.h",
+ "src/Source/Library/Number/HCIsTrueFalse.h",
+ "src/Source/Library/Number/HCNumberAssert.h",
+ "src/Source/Library/Number/HCOrderingComparison.h",
+ "src/Source/Library/Object/HCArgumentCaptor.h",
+ "src/Source/Library/Object/HCClassMatcher.h",
+ "src/Source/Library/Object/HCConformsToProtocol.h",
+ "src/Source/Library/Object/HCHasDescription.h",
+ "src/Source/Library/Object/HCHasProperty.h",
+ "src/Source/Library/Object/HCIsEqual.h",
+ "src/Source/Library/Object/HCIsInstanceOf.h",
+ "src/Source/Library/Object/HCIsNil.h",
+ "src/Source/Library/Object/HCIsSame.h",
+ "src/Source/Library/Object/HCIsTypeOf.h",
+ "src/Source/Library/Object/HCThrowsException.h",
+ "src/Source/Library/Text/HCIsEqualIgnoringCase.h",
+ "src/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h",
+ "src/Source/Library/Text/HCStringContains.h",
+ "src/Source/Library/Text/HCStringContainsInOrder.h",
+ "src/Source/Library/Text/HCStringEndsWith.h",
+ "src/Source/Library/Text/HCStringStartsWith.h",
+ "src/Source/Library/Text/HCSubstringMatcher.h",
+ "src/Source/OCHamcrest.h",
]
-}
-
-config("config") {
- visibility = [ ":ochamcrest" ]
- libs = [ "XCTest.framework" ]
- include_dirs = [ "$root_gen_dir/ios/third_party/ochamcrest" ]
-}
-source_set("ochamcrest") {
- testonly = true
- configs += [
- ":config",
- "//build/config/compiler:enable_arc",
- "//build/config/compiler:no_chromium_code",
+ libs = [
+ "Foundation.framework",
+ "UIKit.framework",
]
- public_configs = [ ":config" ]
- public_deps = [
- ":ochamcrest_copy_files",
- ]
- sources = get_target_outputs(":ochamcrest_copy_files")
+
+ configs += [ "//build/config/compiler:enable_arc" ]
+ configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
}
« no previous file with comments | « build/config/ios/rules.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698