load("//modules:module.bzl", "cc_everest_module") IMPLS = [ "auth_validator", "auth_provider", "data_transfer", "ocpp_generic", "session_cost", ] # Copy libocpp configuration files to the expected runtime structure genrule( name = "ocpp201_config_files", outs = [ # Component configuration files "share/everest/modules/OCPP201/component_config/standardized/AlignedDataCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/AuthCacheCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/AuthCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/ChargingStation.json", "share/everest/modules/OCPP201/component_config/standardized/ChargingStatusIndicator.json", "share/everest/modules/OCPP201/component_config/standardized/ClockCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/CustomizationCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/DeviceDataCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/DisplayMessageCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/ISO15118Ctrlr.json", "share/everest/modules/OCPP201/component_config/standardized/InternalCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/LocalAuthListCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/MonitoringCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/OCPPCommCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/ReservationCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/SampledDataCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/SecurityCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/SmartChargingCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/TariffCostCtrlr.json", "share/everest/modules/OCPP201/component_config/standardized/TxCtrlr.json", "share/everest/modules/OCPP201/component_config/custom/.gitkeep", # Core migration files (all available) "share/everest/modules/OCPP201/core_migrations/1_up-initial.sql", "share/everest/modules/OCPP201/core_migrations/2_down-auth_cache_management.sql", "share/everest/modules/OCPP201/core_migrations/2_up-auth_cache_management.sql", "share/everest/modules/OCPP201/core_migrations/3_down-persist-normal-messages.sql", "share/everest/modules/OCPP201/core_migrations/3_up-persist-normal-messages.sql", "share/everest/modules/OCPP201/core_migrations/4_down-transactions_db.sql", "share/everest/modules/OCPP201/core_migrations/4_up-transactions_db.sql", "share/everest/modules/OCPP201/core_migrations/5_down-charging_profiles_db.sql", "share/everest/modules/OCPP201/core_migrations/5_up-charging_profiles_db.sql", "share/everest/modules/OCPP201/core_migrations/6_down-charging_profiles_source_tx_id.sql", "share/everest/modules/OCPP201/core_migrations/6_up-charging_profiles_source_tx_id.sql", # Device model migration files (all available) "share/everest/modules/OCPP201/device_model_migrations/1_up-initial.sql", "share/everest/modules/OCPP201/device_model_migrations/2_down-variable_source.sql", "share/everest/modules/OCPP201/device_model_migrations/2_up-variable_source.sql", "share/everest/modules/OCPP201/device_model_migrations/3_down-variable_required.sql", "share/everest/modules/OCPP201/device_model_migrations/3_up-variable_required.sql", # Logging configuration "share/everest/modules/OCPP201/logging.ini", ], cmd = """ set -euo pipefail LIBOCPP_CONFIG_PATH="$(location //lib/everest/ocpp:config)" mkdir -p $(RULEDIR)/share/everest/modules/OCPP201/component_config/standardized mkdir -p $(RULEDIR)/share/everest/modules/OCPP201/component_config/custom mkdir -p $(RULEDIR)/share/everest/modules/OCPP201/core_migrations mkdir -p $(RULEDIR)/share/everest/modules/OCPP201/device_model_migrations cp $$LIBOCPP_CONFIG_PATH/common/component_config/standardized/*.json $(RULEDIR)/share/everest/modules/OCPP201/component_config/standardized/ cp $$LIBOCPP_CONFIG_PATH/v2/core_migrations/*.sql $(RULEDIR)/share/everest/modules/OCPP201/core_migrations/ cp $$LIBOCPP_CONFIG_PATH/common/device_model_migrations/*.sql $(RULEDIR)/share/everest/modules/OCPP201/device_model_migrations/ cp $$LIBOCPP_CONFIG_PATH/logging.ini $(RULEDIR)/share/everest/modules/OCPP201/logging.ini touch $(RULEDIR)/share/everest/modules/OCPP201/component_config/custom/.gitkeep """, srcs = [ "//lib/everest/ocpp:config", ], visibility = ["//visibility:public"], ) # OCPP201 module cc_everest_module( name = "OCPP201", srcs = [ "conversions.cpp", "conversions.hpp", "transaction_handler.cpp", "transaction_handler.hpp", "error_handling.hpp", "device_model/everest_device_model_storage.cpp", "device_model/everest_device_model_storage.hpp", "device_model/composed_device_model_storage.cpp", "device_model/composed_device_model_storage.hpp", "device_model/definitions.cpp", "device_model/definitions.hpp", ], deps = [ "//third-party/bazel/openssl:ssl", "//third-party/bazel/openssl:crypto", "@libcap//:libcap", "@everest-core//lib:util", "@everest-core//lib:ocpp", "@everest-core//lib:ocpp_evse_security", "@everest-core//lib:ocpp_conversions", "@everest-core//lib:external_energy_limits", ], impls = IMPLS, data = [":ocpp201_config_files"], )