Skip to content

Commit 9e7a7c8

Browse files
committed
move to plugin
1 parent b177980 commit 9e7a7c8

File tree

6 files changed

+42
-6
lines changed

6 files changed

+42
-6
lines changed

Framework/AnalysisSupport/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ if(TARGET JAliEn::JAliEn)
1616
set(EXTRA_TARGETS XRootD::Client JAliEn::JAliEn)
1717
endif()
1818

19+
o2_add_library(FrameworkOnDemandTablesSupport
20+
SOURCES src/OnDemandPlugin.cxx
21+
src/AODReaderHelpers.cxx
22+
PRIVATE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/src
23+
PUBLIC_LINK_LIBRARIES O2::Framework ${EXTRA_TARGETS})
24+
1925
o2_add_library(FrameworkAnalysisSupport
2026
SOURCES src/Plugin.cxx
2127
src/DataInputDirector.cxx
File renamed without changes.
File renamed without changes.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright 2019-2025 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
#include "Framework/Plugins.h"
12+
#include "Framework/AlgorithmSpec.h"
13+
#include "AODReaderHelpers.h"
14+
15+
struct ExtendedTableSpawner : o2::framework::AlgorithmPlugin {
16+
o2::framework::AlgorithmSpec create(o2::framework::ConfigContext const& config) override
17+
{
18+
return o2::framework::readers::AODReaderHelpers::aodSpawnerCallback(config);
19+
}
20+
};
21+
22+
struct IndexTableBuilder : o2::framework::AlgorithmPlugin {
23+
o2::framework::AlgorithmSpec create(o2::framework::ConfigContext const& config) override
24+
{
25+
return o2::framework::readers::AODReaderHelpers::indexBuilderCallback(config);
26+
}
27+
};
28+
29+
DEFINE_DPL_PLUGINS_BEGIN
30+
DEFINE_DPL_PLUGIN_INSTANCE(ExtendedTableSpawner, CustomAlgorithm);
31+
DEFINE_DPL_PLUGIN_INSTANCE(IndexTableBuilder, CustomAlgorithm);
32+
DEFINE_DPL_PLUGINS_END

Framework/Core/src/ArrowSupport.cxx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
// or submit itself to any jurisdiction.
1111
#include "ArrowSupport.h"
1212

13-
#include "Framework/AODReaderHelpers.h"
1413
#include "Framework/ArrowContext.h"
1514
#include "Framework/ArrowTableSlicingCache.h"
1615
#include "Framework/DataProcessor.h"
@@ -619,7 +618,7 @@ o2::framework::ServiceSpec ArrowSupport::arrowBackendSpec()
619618
builder->outputs.clear();
620619
// replace AlgorithmSpec
621620
// FIXME: it should be made more generic, so it does not need replacement...
622-
builder->algorithm = readers::AODReaderHelpers::indexBuilderCallback(ctx);
621+
builder->algorithm = PluginManager::loadAlgorithmFromPlugin("O2FrameworkOnDemandTablesSupport", "IndexTablesBuilder", ctx);//readers::AODReaderHelpers::indexBuilderCallback(ctx);
623622
AnalysisSupportHelpers::addMissingOutputsToBuilder(ac.requestedIDXs, ac.requestedAODs, ac.requestedDYNs, *builder);
624623
}
625624

@@ -654,7 +653,7 @@ o2::framework::ServiceSpec ArrowSupport::arrowBackendSpec()
654653
spawner->inputs.clear();
655654
// replace AlgorithmSpec
656655
// FIXME: it should be made more generic, so it does not need replacement...
657-
spawner->algorithm = readers::AODReaderHelpers::aodSpawnerCallback(ctx);
656+
spawner->algorithm = PluginManager::loadAlgorithmFromPlugin("O2FrameworkOnDemandTablesSupport", "ExtendedTableSpawner", ctx);
658657
AnalysisSupportHelpers::addMissingOutputsToSpawner({}, ac.spawnerInputs, ac.requestedAODs, *spawner);
659658
}
660659

Framework/Core/src/WorkflowHelpers.cxx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include "WorkflowHelpers.h"
1212
#include "Framework/AnalysisSupportHelpers.h"
1313
#include "Framework/AlgorithmSpec.h"
14-
#include "Framework/AODReaderHelpers.h"
1514
#include "Framework/ConfigParamSpec.h"
1615
#include "Framework/ConfigParamsHelper.h"
1716
#include "Framework/CommonDataProcessors.h"
@@ -416,7 +415,7 @@ void WorkflowHelpers::injectServiceDevices(WorkflowSpec& workflow, ConfigContext
416415
"internal-dpl-aod-index-builder",
417416
{},
418417
{},
419-
readers::AODReaderHelpers::indexBuilderCallback(ctx),
418+
PluginManager::loadAlgorithmFromPlugin("O2FrameworkOnDemandTablesSupport", "IndexTableBuilder", ctx),//readers::AODReaderHelpers::indexBuilderCallback(ctx),
420419
{}};
421420
AnalysisSupportHelpers::addMissingOutputsToBuilder(ac.requestedIDXs, ac.requestedAODs, ac.requestedDYNs, indexBuilder);
422421

@@ -436,7 +435,7 @@ void WorkflowHelpers::injectServiceDevices(WorkflowSpec& workflow, ConfigContext
436435
"internal-dpl-aod-spawner",
437436
{},
438437
{},
439-
readers::AODReaderHelpers::aodSpawnerCallback(ctx),
438+
PluginManager::loadAlgorithmFromPlugin("O2FrameworkOnDemandTablesSupport", "ExtendedTableSpawner", ctx),//readers::AODReaderHelpers::aodSpawnerCallback(ctx),
440439
{}};
441440
AnalysisSupportHelpers::addMissingOutputsToSpawner({}, ac.spawnerInputs, ac.requestedAODs, aodSpawner);
442441

0 commit comments

Comments
 (0)