- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
106 lines
5.8 KiB
Python
106 lines
5.8 KiB
Python
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"],
|
|
)
|