github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/src/dbnode/generated-source-files.mk (about) 1 SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 2 include $(SELF_DIR)/../../.ci/common.mk 3 4 gopath_prefix := $(GOPATH)/src 5 m3db_package := github.com/m3db/m3 6 m3db_package_path := $(gopath_prefix)/$(m3db_package) 7 m3x_package := github.com/m3db/m3/src/x 8 m3x_package_path := $(gopath_prefix)/$(m3x_package) 9 10 # Generation rule for all generated types 11 .PHONY: genny-all 12 genny-all: genny-map-all genny-arraypool-all genny-leakcheckpool-all genny-list-all 13 14 # Map generation rule for all generated maps 15 .PHONY: genny-map-all 16 genny-map-all: \ 17 genny-map-client-received-blocks \ 18 genny-map-storage-block-retriever \ 19 genny-map-storage-bootstrap-namespaces \ 20 genny-map-storage-bootstrap-namespace-results \ 21 genny-map-storage-bootstrap-result \ 22 genny-map-storage \ 23 genny-map-storage-namespace-metadata \ 24 genny-map-storage-repair \ 25 genny-map-storage-index-results \ 26 genny-map-storage-index-aggregate-values \ 27 genny-map-storage-index-aggregation-results \ 28 29 # Map generation rule for client/receivedBlocksMap 30 .PHONY: genny-map-client-received-blocks 31 genny-map-client-received-blocks: 32 cd $(m3x_package_path) && make hashmap-gen \ 33 pkg=client \ 34 key_type=idAndBlockStart \ 35 value_type=receivedBlocks \ 36 target_package=$(m3db_package)/src/dbnode/client \ 37 rename_type_prefix=receivedBlocks 38 # Rename generated map file 39 mv -f $(m3db_package_path)/src/dbnode/client/map_gen.go $(m3db_package_path)/src/dbnode/client/received_blocks_map_gen.go 40 41 # Map generation rule for storage/block/retrieverMap 42 .PHONY: genny-map-storage-block-retriever 43 genny-map-storage-block-retriever: 44 cd $(m3x_package_path) && make idhashmap-gen \ 45 pkg=block \ 46 value_type=DatabaseBlockRetriever \ 47 target_package=$(m3db_package)/src/dbnode/storage/block \ 48 rename_type_prefix=retriever \ 49 rename_constructor=newRetrieverMap \ 50 rename_constructor_options=retrieverMapOptions 51 # Rename both generated map and constructor files 52 mv -f $(m3db_package_path)/src/dbnode/storage/block/map_gen.go $(m3db_package_path)/src/dbnode/storage/block/retriever_map_gen.go 53 mv -f $(m3db_package_path)/src/dbnode/storage/block/new_map_gen.go $(m3db_package_path)/src/dbnode/storage/block/retriever_new_map_gen.go 54 55 # Map generation rule for storage/bootstrap/NamespacesMap 56 .PHONY: genny-map-storage-bootstrap-namespaces 57 genny-map-storage-bootstrap-namespaces: 58 cd $(m3x_package_path) && make idhashmap-gen \ 59 pkg=bootstrap \ 60 value_type=Namespace \ 61 target_package=$(m3db_package)/src/dbnode/storage/bootstrap \ 62 rename_type_prefix=Namespaces \ 63 rename_constructor=NewNamespacesMap \ 64 rename_constructor_options=NamespacesMapOptions 65 # Rename both generated map and constructor files 66 mv -f $(m3db_package_path)/src/dbnode/storage/bootstrap/map_gen.go $(m3db_package_path)/src/dbnode/storage/bootstrap/namespaces_map_gen.go 67 mv -f $(m3db_package_path)/src/dbnode/storage/bootstrap/new_map_gen.go $(m3db_package_path)/src/dbnode/storage/bootstrap/namespaces_new_map_gen.go 68 69 # Map generation rule for storage/bootstrap/NamespaceResultsMap 70 .PHONY: genny-map-storage-bootstrap-namespace-results 71 genny-map-storage-bootstrap-namespace-results: 72 cd $(m3x_package_path) && make idhashmap-gen \ 73 pkg=bootstrap \ 74 value_type=NamespaceResult \ 75 target_package=$(m3db_package)/src/dbnode/storage/bootstrap \ 76 rename_type_prefix=NamespaceResults \ 77 rename_constructor=NewNamespaceResultsMap \ 78 rename_constructor_options=NamespaceResultsMapOptions 79 # Rename both generated map and constructor files 80 mv -f $(m3db_package_path)/src/dbnode/storage/bootstrap/map_gen.go $(m3db_package_path)/src/dbnode/storage/bootstrap/namespace_results_map_gen.go 81 mv -f $(m3db_package_path)/src/dbnode/storage/bootstrap/new_map_gen.go $(m3db_package_path)/src/dbnode/storage/bootstrap/namespace_results_new_map_gen.go 82 83 # Map generation rule for storage/bootstrap/result/Map 84 .PHONY: genny-map-storage-bootstrap-result 85 genny-map-storage-bootstrap-result: 86 cd $(m3x_package_path) && make idhashmap-gen \ 87 pkg=result \ 88 value_type=DatabaseSeriesBlocks \ 89 target_package=$(m3db_package)/src/dbnode/storage/bootstrap/result 90 91 # Map generation rule for storage package maps (to avoid double build over each other 92 # when generating map source files in parallel, run these sequentially) 93 .PHONY: genny-map-storage 94 genny-map-storage: \ 95 genny-map-storage-shard \ 96 genny-map-storage-dirty-series \ 97 98 # Map generation rule for storage/shardMap 99 .PHONY: genny-map-storage-shard 100 genny-map-storage-shard: 101 cd $(m3x_package_path) && make idhashmap-gen \ 102 pkg=storage \ 103 value_type=shardListElement \ 104 target_package=$(m3db_package)/src/dbnode/storage \ 105 rename_type_prefix=shard \ 106 rename_constructor=newShardMap \ 107 rename_constructor_options=shardMapOptions 108 # Rename both generated map and constructor files 109 mv -f $(m3db_package_path)/src/dbnode/storage/map_gen.go $(m3db_package_path)/src/dbnode/storage/shard_map_gen.go 110 mv -f $(m3db_package_path)/src/dbnode/storage/new_map_gen.go $(m3db_package_path)/src/dbnode/storage/shard_new_map_gen.go 111 112 # Map generation rule for storage/namespace/metadataMap 113 .PHONY: genny-map-storage-namespace-metadata 114 genny-map-storage-namespace-metadata: 115 cd $(m3x_package_path) && make idhashmap-gen \ 116 pkg=namespace \ 117 value_type=Metadata \ 118 target_package=$(m3db_package)/src/dbnode/namespace \ 119 rename_type_prefix=metadata \ 120 rename_constructor=newMetadataMap \ 121 rename_constructor_options=metadataMapOptions 122 # Rename both generated map and constructor files 123 mv -f $(m3db_package_path)/src/dbnode/namespace/map_gen.go $(m3db_package_path)/src/dbnode/namespace/metadata_map_gen.go 124 mv -f $(m3db_package_path)/src/dbnode/namespace/new_map_gen.go $(m3db_package_path)/src/dbnode/namespace/metadata_new_map_gen.go 125 126 # Map generation rule for storage/repair/Map 127 .PHONY: genny-map-storage-repair 128 genny-map-storage-repair: 129 cd $(m3x_package_path) && make idhashmap-gen \ 130 pkg=repair \ 131 value_type=ReplicaSeriesBlocksMetadata \ 132 target_package=$(m3db_package)/src/dbnode/storage/repair 133 134 # Map generation rule for persist/fs 135 .PHONY: genny-map-persist-fs 136 genny-map-persist-fs: 137 cd $(m3x_package_path) && make idhashmap-gen \ 138 pkg=fs \ 139 value_type=checked.Bytes \ 140 target_package=$(m3db_package)/src/dbnode/persist/fs \ 141 rename_constructor=newCheckedBytesByIDMap \ 142 rename_constructor_options=newCheckedBytesByIDMapOptions \ 143 rename_type_prefix=checkedBytes \ 144 rename_nogen_value=true 145 # Rename both generated map and constructor files 146 mv -f $(m3db_package_path)/src/dbnode/persist/fs/map_gen.go $(m3db_package_path)/src/dbnode/persist/fs/checked_bytes_by_id_map_gen.go 147 mv -f $(m3db_package_path)/src/dbnode/persist/fs/new_map_gen.go $(m3db_package_path)/src/dbnode/persist/fs/checked_bytes_by_id_new_map_gen.go 148 149 # Map generation rule for storage/index/ResultsMap 150 .PHONY: genny-map-storage-index-results 151 genny-map-storage-index-results: 152 cd $(m3x_package_path) && make byteshashmap-gen \ 153 pkg=index \ 154 value_type=doc.Document \ 155 target_package=$(m3db_package)/src/dbnode/storage/index \ 156 rename_nogen_key=true \ 157 rename_nogen_value=true \ 158 rename_type_prefix=Results 159 # Rename generated map file 160 mv -f $(m3db_package_path)/src/dbnode/storage/index/map_gen.go $(m3db_package_path)/src/dbnode/storage/index/results_map_gen.go 161 162 # Map generation rule for storage/index/AggregateValuesMap 163 .PHONY: genny-map-storage-index-aggregate-values 164 genny-map-storage-index-aggregate-values: 165 cd $(m3x_package_path) && make hashmap-gen \ 166 pkg=index \ 167 key_type=ident.ID \ 168 value_type=struct{} \ 169 rename_type_prefix=AggregateValues \ 170 rename_nogen_key=true \ 171 rename_nogen_value=true \ 172 target_package=$(m3db_package)/src/dbnode/storage/index 173 # Rename generated map file 174 mv -f $(m3db_package_path)/src/dbnode/storage/index/map_gen.go $(m3db_package_path)/src/dbnode/storage/index/aggregate_values_map_gen.go 175 176 # Map generation rule for storage/index/AggregateResultsMap 177 .PHONY: genny-map-storage-index-aggregation-results 178 genny-map-storage-index-aggregation-results: genny-map-storage-index-aggregate-values 179 cd $(m3x_package_path) && make idhashmap-gen \ 180 pkg=index \ 181 value_type=AggregateValues \ 182 rename_type_prefix=AggregateResults \ 183 target_package=$(m3db_package)/src/dbnode/storage/index 184 # Rename generated map file 185 mv -f $(m3db_package_path)/src/dbnode/storage/index/map_gen.go $(m3db_package_path)/src/dbnode/storage/index/aggregate_results_map_gen.go 186 # This map has a custom constructor; delete the genny generated one 187 rm -f $(m3db_package_path)/src/dbnode/storage/index/new_map_gen.go 188 189 # Map generation rule for storage/DirtySeriesMap 190 .PHONY: genny-map-storage-dirty-series 191 genny-map-storage-dirty-series: 192 cd $(m3x_package_path) && make hashmap-gen \ 193 pkg=storage \ 194 key_type=idAndBlockStart \ 195 value_type=*idElement \ 196 value_type_alias=idElement \ 197 target_package=$(m3db_package)/src/dbnode/storage \ 198 rename_type_prefix=dirtySeries 199 # Rename both generated map and constructor files 200 mv -f $(m3db_package_path)/src/dbnode/storage/map_gen.go $(m3db_package_path)/src/dbnode/storage/dirty_series_map_gen.go 201 # This map has a custom constructor; delete the genny generated one 202 rm -f $(m3db_package_path)/src/dbnode/storage/new_map_gen.go 203 204 # Generation rule for all generated arraypools 205 .PHONY: genny-arraypool-all 206 genny-arraypool-all: \ 207 genny-arraypool-node-segments \ 208 genny-arraypool-aggregate-results-entry \ 209 210 # arraypool generation rule for ./network/server/tchannelthrift/node/segmentsArrayPool 211 .PHONY: genny-arraypool-node-segments 212 genny-arraypool-node-segments: 213 cd $(m3x_package_path) && make genny-arraypool \ 214 pkg=node \ 215 elem_type=*rpc.Segments \ 216 target_package=$(m3db_package)/src/dbnode/network/server/tchannelthrift/node \ 217 out_file=segments_arraypool_gen.go \ 218 rename_type_prefix=segments \ 219 rename_type_middle=Segments \ 220 rename_constructor=newSegmentsArrayPool 221 222 # arraypool generation rule for ./storage/index/AggregateResultsEntryArrayPool 223 .PHONY: genny-arraypool-aggregate-results-entry 224 genny-arraypool-aggregate-results-entry: 225 cd $(m3x_package_path) && make genny-arraypool \ 226 pkg=index \ 227 elem_type=AggregateResultsEntry \ 228 target_package=$(m3db_package)/src/dbnode/storage/index \ 229 out_file=aggregate_results_entry_arraypool_gen.go \ 230 rename_type_prefix=AggregateResultsEntry \ 231 rename_type_middle=AggregateResultsEntry \ 232 rename_constructor=NewAggregateResultsEntryArrayPool \ 233 rename_gen_types=true \ 234 235 # generation rule for all generated leakcheckpools 236 .PHONY: genny-leakcheckpool-all 237 genny-leakcheckpool-all: \ 238 genny-leakcheckpool-fetch-tagged-attempt \ 239 genny-leakcheckpool-fetch-state \ 240 genny-leakcheckpool-fetch-tagged-op \ 241 genny-leakcheckpool-aggregate-attempt \ 242 genny-leakcheckpool-aggregate-op 243 244 # leakcheckpool generation rule for ./client/fetchTaggedAttemptPool 245 .PHONY: genny-leakcheckpool-fetch-tagged-attempt 246 genny-leakcheckpool-fetch-tagged-attempt: 247 cd $(m3x_package_path) && make genny-leakcheckpool \ 248 pkg=client \ 249 elem_type=*fetchTaggedAttempt \ 250 elem_type_pool=fetchTaggedAttemptPool \ 251 target_package=$(m3db_package)/src/dbnode/client \ 252 out_file=fetch_tagged_attempt_leakcheckpool_gen_test.go 253 254 # leakcheckpool generation rule for ./client/fetchStatePool 255 .PHONY: genny-leakcheckpool-fetch-state 256 genny-leakcheckpool-fetch-state: 257 cd $(m3x_package_path) && make genny-leakcheckpool \ 258 pkg=client \ 259 elem_type=*fetchState \ 260 elem_type_pool=fetchStatePool \ 261 target_package=$(m3db_package)/src/dbnode/client \ 262 out_file=fetch_state_leakcheckpool_gen_test.go 263 264 # leakcheckpool generation rule for ./client/fetchTaggedOp 265 .PHONY: genny-leakcheckpool-fetch-tagged-op 266 genny-leakcheckpool-fetch-tagged-op: 267 cd $(m3x_package_path) && make genny-leakcheckpool \ 268 pkg=client \ 269 elem_type=*fetchTaggedOp \ 270 elem_type_pool=fetchTaggedOpPool \ 271 target_package=$(m3db_package)/src/dbnode/client \ 272 out_file=fetch_tagged_op_leakcheckpool_gen_test.go 273 274 # leakcheckpool generation rule for ./client/aggregateOp 275 .PHONY: genny-leakcheckpool-aggregate-op 276 genny-leakcheckpool-aggregate-op: 277 cd $(m3x_package_path) && make genny-leakcheckpool \ 278 pkg=client \ 279 elem_type=*aggregateOp \ 280 elem_type_pool=aggregateOpPool \ 281 target_package=$(m3db_package)/src/dbnode/client \ 282 out_file=aggregate_leakcheckpool_gen_test.go 283 284 # leakcheckpool generation rule for ./client/aggregateAttemptPool 285 .PHONY: genny-leakcheckpool-aggregate-attempt 286 genny-leakcheckpool-aggregate-attempt: 287 cd $(m3x_package_path) && make genny-leakcheckpool \ 288 pkg=client \ 289 elem_type=*aggregateAttempt \ 290 elem_type_pool=aggregateAttemptPool \ 291 target_package=$(m3db_package)/src/dbnode/client \ 292 out_file=aggregate_attempt_leakcheckpool_gen_test.go 293 294 # Generation rule for all generated lists 295 .PHONY: genny-list-all 296 genny-list-all: \ 297 genny-list-storage-id 298 299 # List generation rule for storage/idList 300 .PHONY: genny-list-storage-id 301 genny-list-storage-id: 302 cd $(m3x_package_path) && make genny-pooled-elem-list-gen \ 303 pkg=storage \ 304 value_type=doc.Metadata \ 305 rename_type_prefix=id \ 306 rename_type_middle=ID \ 307 target_package=github.com/m3db/m3/src/dbnode/storage 308 # Rename generated list file 309 mv -f $(m3db_package_path)/src/dbnode/storage/list_gen.go $(m3db_package_path)/src/dbnode/storage/id_list_gen.go