summaryrefslogtreecommitdiffstats
path: root/ios/third_party/ochamcrest/BUILD.gn
blob: 527e5f29ceedbae87824daf1cf1126160f8c58d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# Copyright 2016 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.

# 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") {
  testonly = true
  visibility = [ ":ochamcrest" ]
  sources = [
    "src/Source/Core/HCAssertThat.h",
    "src/Source/Core/HCAssertThat.m",
    "src/Source/Core/HCBaseDescription.h",
    "src/Source/Core/HCBaseDescription.m",
    "src/Source/Core/HCBaseMatcher.h",
    "src/Source/Core/HCBaseMatcher.m",
    "src/Source/Core/HCDescription.h",
    "src/Source/Core/HCDiagnosingMatcher.h",
    "src/Source/Core/HCDiagnosingMatcher.m",
    "src/Source/Core/HCMatcher.h",
    "src/Source/Core/HCSelfDescribing.h",
    "src/Source/Core/HCStringDescription.h",
    "src/Source/Core/HCStringDescription.m",
    "src/Source/Core/Helpers/HCCollect.h",
    "src/Source/Core/Helpers/HCCollect.m",
    "src/Source/Core/Helpers/HCInvocationMatcher.h",
    "src/Source/Core/Helpers/HCInvocationMatcher.m",
    "src/Source/Core/Helpers/HCRequireNonNilObject.h",
    "src/Source/Core/Helpers/HCRequireNonNilObject.m",
    "src/Source/Core/Helpers/HCWrapInMatcher.h",
    "src/Source/Core/Helpers/HCWrapInMatcher.m",
    "src/Source/Core/Helpers/NSInvocation+OCHamcrest.h",
    "src/Source/Core/Helpers/NSInvocation+OCHamcrest.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCBoolReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCCharReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCDoubleReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCFloatReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCIntReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCLongLongReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCLongReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCObjectReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCReturnTypeHandlerChain.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCReturnValueGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCShortReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedCharReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedIntReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongLongReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedLongReturnGetter.m",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.h",
    "src/Source/Core/Helpers/ReturnValueGetters/HCUnsignedShortReturnGetter.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCGenericTestFailureReporter.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCSenTestFailureReporter.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailure.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailure.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporter.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCTestFailureReporterChain.m",
    "src/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.h",
    "src/Source/Core/Helpers/TestFailureReporters/HCXCTestFailureReporter.m",
    "src/Source/Library/Collection/HCEvery.h",
    "src/Source/Library/Collection/HCEvery.m",
    "src/Source/Library/Collection/HCHasCount.h",
    "src/Source/Library/Collection/HCHasCount.m",
    "src/Source/Library/Collection/HCIsCollectionContaining.h",
    "src/Source/Library/Collection/HCIsCollectionContaining.m",
    "src/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.h",
    "src/Source/Library/Collection/HCIsCollectionContainingInAnyOrder.m",
    "src/Source/Library/Collection/HCIsCollectionContainingInOrder.h",
    "src/Source/Library/Collection/HCIsCollectionContainingInOrder.m",
    "src/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.h",
    "src/Source/Library/Collection/HCIsCollectionContainingInRelativeOrder.m",
    "src/Source/Library/Collection/HCIsCollectionOnlyContaining.h",
    "src/Source/Library/Collection/HCIsCollectionOnlyContaining.m",
    "src/Source/Library/Collection/HCIsDictionaryContaining.h",
    "src/Source/Library/Collection/HCIsDictionaryContaining.m",
    "src/Source/Library/Collection/HCIsDictionaryContainingEntries.h",
    "src/Source/Library/Collection/HCIsDictionaryContainingEntries.m",
    "src/Source/Library/Collection/HCIsDictionaryContainingKey.h",
    "src/Source/Library/Collection/HCIsDictionaryContainingKey.m",
    "src/Source/Library/Collection/HCIsDictionaryContainingValue.h",
    "src/Source/Library/Collection/HCIsDictionaryContainingValue.m",
    "src/Source/Library/Collection/HCIsEmptyCollection.h",
    "src/Source/Library/Collection/HCIsEmptyCollection.m",
    "src/Source/Library/Collection/HCIsIn.h",
    "src/Source/Library/Collection/HCIsIn.m",
    "src/Source/Library/Decorator/HCDescribedAs.h",
    "src/Source/Library/Decorator/HCDescribedAs.m",
    "src/Source/Library/Decorator/HCIs.h",
    "src/Source/Library/Decorator/HCIs.m",
    "src/Source/Library/Logical/HCAllOf.h",
    "src/Source/Library/Logical/HCAllOf.m",
    "src/Source/Library/Logical/HCAnyOf.h",
    "src/Source/Library/Logical/HCAnyOf.m",
    "src/Source/Library/Logical/HCIsAnything.h",
    "src/Source/Library/Logical/HCIsAnything.m",
    "src/Source/Library/Logical/HCIsNot.h",
    "src/Source/Library/Logical/HCIsNot.m",
    "src/Source/Library/Number/HCIsCloseTo.h",
    "src/Source/Library/Number/HCIsCloseTo.m",
    "src/Source/Library/Number/HCIsEqualToNumber.h",
    "src/Source/Library/Number/HCIsEqualToNumber.m",
    "src/Source/Library/Number/HCIsTrueFalse.h",
    "src/Source/Library/Number/HCIsTrueFalse.m",
    "src/Source/Library/Number/HCNumberAssert.h",
    "src/Source/Library/Number/HCNumberAssert.m",
    "src/Source/Library/Number/HCOrderingComparison.h",
    "src/Source/Library/Number/HCOrderingComparison.m",
    "src/Source/Library/Object/HCArgumentCaptor.h",
    "src/Source/Library/Object/HCArgumentCaptor.m",
    "src/Source/Library/Object/HCClassMatcher.h",
    "src/Source/Library/Object/HCClassMatcher.m",
    "src/Source/Library/Object/HCConformsToProtocol.h",
    "src/Source/Library/Object/HCConformsToProtocol.m",
    "src/Source/Library/Object/HCHasDescription.h",
    "src/Source/Library/Object/HCHasDescription.m",
    "src/Source/Library/Object/HCHasProperty.h",
    "src/Source/Library/Object/HCHasProperty.m",
    "src/Source/Library/Object/HCIsEqual.h",
    "src/Source/Library/Object/HCIsEqual.m",
    "src/Source/Library/Object/HCIsInstanceOf.h",
    "src/Source/Library/Object/HCIsInstanceOf.m",
    "src/Source/Library/Object/HCIsNil.h",
    "src/Source/Library/Object/HCIsNil.m",
    "src/Source/Library/Object/HCIsSame.h",
    "src/Source/Library/Object/HCIsSame.m",
    "src/Source/Library/Object/HCIsTypeOf.h",
    "src/Source/Library/Object/HCIsTypeOf.m",
    "src/Source/Library/Object/HCThrowsException.h",
    "src/Source/Library/Object/HCThrowsException.m",
    "src/Source/Library/Text/HCIsEqualIgnoringCase.h",
    "src/Source/Library/Text/HCIsEqualIgnoringCase.m",
    "src/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.h",
    "src/Source/Library/Text/HCIsEqualIgnoringWhiteSpace.m",
    "src/Source/Library/Text/HCStringContains.h",
    "src/Source/Library/Text/HCStringContains.m",
    "src/Source/Library/Text/HCStringContainsInOrder.h",
    "src/Source/Library/Text/HCStringContainsInOrder.m",
    "src/Source/Library/Text/HCStringEndsWith.h",
    "src/Source/Library/Text/HCStringEndsWith.m",
    "src/Source/Library/Text/HCStringStartsWith.h",
    "src/Source/Library/Text/HCStringStartsWith.m",
    "src/Source/Library/Text/HCSubstringMatcher.h",
    "src/Source/Library/Text/HCSubstringMatcher.m",
    "src/Source/OCHamcrest.h",
  ]
  outputs = [
    "$root_gen_dir/ios/third_party/ochamcrest/OCHamcrest/{{source_file_part}}",
  ]
}

config("ochamcrest_config") {
  visibility = [ ":ochamcrest" ]
  libs = [ "XCTest.framework" ]
  include_dirs = [ "$root_gen_dir/ios/third_party/ochamcrest" ]
}

config("ochamcrest_private_config") {
  visibility = [ ":ochamcrest" ]
  cflags_objc = [ "-fobjc-arc" ]
}

source_set("ochamcrest") {
  testonly = true
  configs += [
    ":ochamcrest_config",
    ":ochamcrest_private_config",
    "//build/config/compiler:no_chromium_code",
  ]
  public_configs = [ ":ochamcrest_config" ]
  public_deps = [
    ":ochamcrest_copy_files",
  ]
  sources = get_target_outputs(":ochamcrest_copy_files")
}