Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROOT.modulemap changed from single file to a distributed file set #16211

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pavlo-svirin
Copy link

This Pull request:

Converts ROOT.modulemap from a single file to a set of files where ROOT.modulemap includes per-component modulemaps, this will allow to implement packaging.

Changes or fixes:

CMakeLists.txt, cmake/modules/RootMacros.cmake

Checklist:

  • [ X] tested changes locally
  • updated the docs (if necessary)

This PR fixes #

Copy link

github-actions bot commented Aug 10, 2024

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 4ad2d9b.

♻️ This comment has been updated with latest results.

@vgvassilev
Copy link
Member

Can you rebase this PR, @pavlo-svirin?

@pavlo-svirin
Copy link
Author

Can you rebase this PR, @pavlo-svirin?

Done

@vgvassilev
Copy link
Member

@pavlo-svirin, can you rebase again?

@vgvassilev
Copy link
Member

I checked out your pull request locally and on OSX I get:

find include/
include/
include//ASImageGui.modulemap
include//GCocoa.modulemap
include//GuiHtml.modulemap
include//RooFitRDataFrameHelpers.modulemap
include//CPyCppyy
include//CPyCppyy/CommonDefs.h
include//CPyCppyy/PyResult.h
include//CPyCppyy/DispatchPtr.h
include//CPyCppyy/API.h
include//CPyCppyy/Reflex.h
include//CPyCppyy/PyException.h
include//Html.modulemap
include//Tree.modulemap
include//FitPanel.modulemap
include//ROOTBrowsable.modulemap
include//Spectrum.modulemap
include//Matrix.modulemap
include//Graf.modulemap
include//MLP.modulemap
include//GeomPainter.modulemap
include//MathCore.modulemap
include//RooFitXRooFit.modulemap
include//ROOT.modulemap.d
include//ROOT.modulemap.d/ASImageGui.modulemap
include//ROOT.modulemap.d/GCocoa.modulemap
include//ROOT.modulemap.d/GuiHtml.modulemap
include//ROOT.modulemap.d/RooFitRDataFrameHelpers.modulemap
include//ROOT.modulemap.d/Html.modulemap
include//ROOT.modulemap.d/Tree.modulemap
include//ROOT.modulemap.d/FitPanel.modulemap
include//ROOT.modulemap.d/ROOTBrowsable.modulemap
include//ROOT.modulemap.d/Spectrum.modulemap
include//ROOT.modulemap.d/Matrix.modulemap
include//ROOT.modulemap.d/Graf.modulemap
include//ROOT.modulemap.d/MLP.modulemap
include//ROOT.modulemap.d/GeomPainter.modulemap
include//ROOT.modulemap.d/MathCore.modulemap
include//ROOT.modulemap.d/RooFitXRooFit.modulemap
include//ROOT.modulemap.d/Smatrix.modulemap
include//ROOT.modulemap.d/Eve.modulemap
include//ROOT.modulemap.d/RooFitJSONInterface.modulemap
include//ROOT.modulemap.d/ASImage.modulemap
include//ROOT.modulemap.d/ROOTNTuple.modulemap
include//ROOT.modulemap.d/SpectrumPainter.modulemap
include//ROOT.modulemap.d/NetxNG.modulemap
include//ROOT.modulemap.d/TMVAGui.modulemap
include//ROOT.modulemap.d/Quadp.modulemap
include//ROOT.modulemap.d/Graf3d.modulemap
include//ROOT.modulemap.d/Net.modulemap
include//ROOT.modulemap.d/RooFitHS3.modulemap
include//ROOT.modulemap.d/RIO.modulemap
include//ROOT.modulemap.d/WebGui6.modulemap
include//ROOT.modulemap.d/Gui.modulemap
include//ROOT.modulemap.d/Gpad.modulemap
include//ROOT.modulemap.d/Physics.modulemap
include//ROOT.modulemap.d/HistPainter.modulemap
include//ROOT.modulemap.d/RGL.modulemap
include//ROOT.modulemap.d/Recorder.modulemap
include//ROOT.modulemap.d/GeomBuilder.modulemap
include//ROOT.modulemap.d/RCsg.modulemap
include//ROOT.modulemap.d/RHTTP.modulemap
include//ROOT.modulemap.d/TreePlayer.modulemap
include//ROOT.modulemap.d/Geom.modulemap
include//ROOT.modulemap.d/EG.modulemap
include//ROOT.modulemap.d/HistFactory.modulemap
include//ROOT.modulemap.d/RooStats.modulemap
include//ROOT.modulemap.d/Fumili.modulemap
include//ROOT.modulemap.d/RooFit.modulemap
include//ROOT.modulemap.d/GenVector.modulemap
include//ROOT.modulemap.d/TreeViewer.modulemap
include//ROOT.modulemap.d/Postscript.modulemap
include//ROOT.modulemap.d/Imt.modulemap
include//ROOT.modulemap.d/ROOTHistDraw.modulemap
include//ROOT.modulemap.d/MultiProc.modulemap
include//ROOT.modulemap.d/XMLIO.modulemap
include//ROOT.modulemap.d/ROOTNTupleUtil.modulemap
include//ROOT.modulemap.d/RDAVIX.modulemap
include//ROOT.modulemap.d/RooFitCore.modulemap
include//ROOT.modulemap.d/ROOTEve.modulemap
include//ROOT.modulemap.d/XMLParser.modulemap
include//ROOT.modulemap.d/ROOTVecOps.modulemap
include//ROOT.modulemap.d/ROOTFitPanelv7.modulemap
include//ROOT.modulemap.d/GuiBld.modulemap
include//ROOT.modulemap.d/ROOTTPython.modulemap
include//ROOT.modulemap.d/RSQLite.modulemap
include//ROOT.modulemap.d/TMVA.modulemap
include//ROOT.modulemap.d/Ged.modulemap
include//ROOT.modulemap.d/ROOTGraphicsPrimitives.modulemap
include//ROOT.modulemap.d/ROOTBrowserv7.modulemap
include//ROOT.modulemap.d/Gdml.modulemap
include//ROOT.modulemap.d/Core.modulemap
include//ROOT.modulemap.d/ROOTGpadv7.modulemap
include//ROOT.modulemap.d/Rint.modulemap
include//ROOT.modulemap.d/Foam.modulemap
include//ROOT.modulemap.d/SQLIO.modulemap
include//ROOT.modulemap.d/Hist.modulemap
include//ROOT.modulemap.d/Thread.modulemap
include//ROOT.modulemap.d/ROOTTreeViewer.modulemap
include//ROOT.modulemap.d/RHTTPSniff.modulemap
include//ROOT.modulemap.d/ROOTHist.modulemap
include//ROOT.modulemap.d/Gviz3d.modulemap
include//ROOT.modulemap.d/RootAuth.modulemap
include//ROOT.modulemap.d/Genetic.modulemap
include//ROOT.modulemap.d/Minuit.modulemap
include//ROOT.modulemap.d/Minuit2.modulemap
include//ROOT.modulemap.d/ROOTTMVASofie.modulemap
include//ROOT.modulemap.d/ROOTWebDisplay.modulemap
include//ROOT.modulemap.d/ROOTGeomViewer.modulemap
include//ROOT.modulemap.d/TMVAUtils.modulemap
include//ROOT.modulemap.d/SPlot.modulemap
include//ROOT.modulemap.d/ROOTDataFrame.modulemap
include//Smatrix.modulemap
include//Eve.modulemap
include//RooFitJSONInterface.modulemap
include//ASImage.modulemap
include//ROOTNTuple.modulemap
include//SpectrumPainter.modulemap
include//NetxNG.modulemap
include//TMVAGui.modulemap
include//Quadp.modulemap
include//Graf3d.modulemap
include//Net.modulemap
include//RooFitHS3.modulemap
include//module.modulemap.extra.tmp
include//RIO.modulemap
include//WebGui6.modulemap
include//Gui.modulemap
include//Gpad.modulemap
include//module.modulemap.extra
include//Physics.modulemap
include//HistPainter.modulemap
include//RGL.modulemap
include//Recorder.modulemap
include//module.modulemap.split.extra.tmp
include//GeomBuilder.modulemap
include//RCsg.modulemap
include//RHTTP.modulemap
include//TreePlayer.modulemap
include//Geom.modulemap
include//EG.modulemap
include//xrootd
include//HistFactory.modulemap
include//RooStats.modulemap
include//Fumili.modulemap
include//RooFit.modulemap
include//GenVector.modulemap
include//TreeViewer.modulemap
include//Postscript.modulemap
include//Imt.modulemap
include//ROOTHistDraw.modulemap
include//MultiProc.modulemap
include//XMLIO.modulemap
include//ROOTNTupleUtil.modulemap
include//RDAVIX.modulemap
include//RooFitCore.modulemap
include//ROOTEve.modulemap
include//XMLParser.modulemap
include//ROOTVecOps.modulemap
include//ROOTFitPanelv7.modulemap
include//ROOT
include//ROOT/TPyDispatcher.h
include//GuiBld.modulemap
include//ROOTTPython.modulemap
include//RSQLite.modulemap
include//TMVA.modulemap
include//Ged.modulemap
include//ROOTGraphicsPrimitives.modulemap
include//ROOTBrowserv7.modulemap
include//Gdml.modulemap
include//Core.modulemap
include//ROOTGpadv7.modulemap
include//Rint.modulemap
include//Foam.modulemap
include//SQLIO.modulemap
include//Hist.modulemap
include//Thread.modulemap
include//ROOTTreeViewer.modulemap
include//RHTTPSniff.modulemap
include//ROOTHist.modulemap
include//Gviz3d.modulemap
include//RootAuth.modulemap
include//Genetic.modulemap
include//Minuit.modulemap
include//Minuit2.modulemap
include//ROOTTMVASofie.modulemap
include//ROOTWebDisplay.modulemap
include//ROOTGeomViewer.modulemap
include//TMVAUtils.modulemap
include//module.modulemap.split.extra
include//SPlot.modulemap
include//ROOTDataFrame.modulemap

Do you expect everything to be duplicated many times and to have tmp leftovers?

@pavlo-svirin
Copy link
Author

I checked out your pull request locally and on OSX I get:

find include/
include/
include//ASImageGui.modulemap
include//GCocoa.modulemap
include//GuiHtml.modulemap
include//RooFitRDataFrameHelpers.modulemap
include//CPyCppyy
include//CPyCppyy/CommonDefs.h
include//CPyCppyy/PyResult.h
include//CPyCppyy/DispatchPtr.h
include//CPyCppyy/API.h
include//CPyCppyy/Reflex.h
include//CPyCppyy/PyException.h
include//Html.modulemap
include//Tree.modulemap
include//FitPanel.modulemap
include//ROOTBrowsable.modulemap
include//Spectrum.modulemap
include//Matrix.modulemap
include//Graf.modulemap
include//MLP.modulemap
include//GeomPainter.modulemap
include//MathCore.modulemap
include//RooFitXRooFit.modulemap
include//ROOT.modulemap.d
include//ROOT.modulemap.d/ASImageGui.modulemap
include//ROOT.modulemap.d/GCocoa.modulemap
include//ROOT.modulemap.d/GuiHtml.modulemap
include//ROOT.modulemap.d/RooFitRDataFrameHelpers.modulemap
include//ROOT.modulemap.d/Html.modulemap
include//ROOT.modulemap.d/Tree.modulemap
include//ROOT.modulemap.d/FitPanel.modulemap
include//ROOT.modulemap.d/ROOTBrowsable.modulemap
include//ROOT.modulemap.d/Spectrum.modulemap
include//ROOT.modulemap.d/Matrix.modulemap
include//ROOT.modulemap.d/Graf.modulemap
include//ROOT.modulemap.d/MLP.modulemap
include//ROOT.modulemap.d/GeomPainter.modulemap
include//ROOT.modulemap.d/MathCore.modulemap
include//ROOT.modulemap.d/RooFitXRooFit.modulemap
include//ROOT.modulemap.d/Smatrix.modulemap
include//ROOT.modulemap.d/Eve.modulemap
include//ROOT.modulemap.d/RooFitJSONInterface.modulemap
include//ROOT.modulemap.d/ASImage.modulemap
include//ROOT.modulemap.d/ROOTNTuple.modulemap
include//ROOT.modulemap.d/SpectrumPainter.modulemap
include//ROOT.modulemap.d/NetxNG.modulemap
include//ROOT.modulemap.d/TMVAGui.modulemap
include//ROOT.modulemap.d/Quadp.modulemap
include//ROOT.modulemap.d/Graf3d.modulemap
include//ROOT.modulemap.d/Net.modulemap
include//ROOT.modulemap.d/RooFitHS3.modulemap
include//ROOT.modulemap.d/RIO.modulemap
include//ROOT.modulemap.d/WebGui6.modulemap
include//ROOT.modulemap.d/Gui.modulemap
include//ROOT.modulemap.d/Gpad.modulemap
include//ROOT.modulemap.d/Physics.modulemap
include//ROOT.modulemap.d/HistPainter.modulemap
include//ROOT.modulemap.d/RGL.modulemap
include//ROOT.modulemap.d/Recorder.modulemap
include//ROOT.modulemap.d/GeomBuilder.modulemap
include//ROOT.modulemap.d/RCsg.modulemap
include//ROOT.modulemap.d/RHTTP.modulemap
include//ROOT.modulemap.d/TreePlayer.modulemap
include//ROOT.modulemap.d/Geom.modulemap
include//ROOT.modulemap.d/EG.modulemap
include//ROOT.modulemap.d/HistFactory.modulemap
include//ROOT.modulemap.d/RooStats.modulemap
include//ROOT.modulemap.d/Fumili.modulemap
include//ROOT.modulemap.d/RooFit.modulemap
include//ROOT.modulemap.d/GenVector.modulemap
include//ROOT.modulemap.d/TreeViewer.modulemap
include//ROOT.modulemap.d/Postscript.modulemap
include//ROOT.modulemap.d/Imt.modulemap
include//ROOT.modulemap.d/ROOTHistDraw.modulemap
include//ROOT.modulemap.d/MultiProc.modulemap
include//ROOT.modulemap.d/XMLIO.modulemap
include//ROOT.modulemap.d/ROOTNTupleUtil.modulemap
include//ROOT.modulemap.d/RDAVIX.modulemap
include//ROOT.modulemap.d/RooFitCore.modulemap
include//ROOT.modulemap.d/ROOTEve.modulemap
include//ROOT.modulemap.d/XMLParser.modulemap
include//ROOT.modulemap.d/ROOTVecOps.modulemap
include//ROOT.modulemap.d/ROOTFitPanelv7.modulemap
include//ROOT.modulemap.d/GuiBld.modulemap
include//ROOT.modulemap.d/ROOTTPython.modulemap
include//ROOT.modulemap.d/RSQLite.modulemap
include//ROOT.modulemap.d/TMVA.modulemap
include//ROOT.modulemap.d/Ged.modulemap
include//ROOT.modulemap.d/ROOTGraphicsPrimitives.modulemap
include//ROOT.modulemap.d/ROOTBrowserv7.modulemap
include//ROOT.modulemap.d/Gdml.modulemap
include//ROOT.modulemap.d/Core.modulemap
include//ROOT.modulemap.d/ROOTGpadv7.modulemap
include//ROOT.modulemap.d/Rint.modulemap
include//ROOT.modulemap.d/Foam.modulemap
include//ROOT.modulemap.d/SQLIO.modulemap
include//ROOT.modulemap.d/Hist.modulemap
include//ROOT.modulemap.d/Thread.modulemap
include//ROOT.modulemap.d/ROOTTreeViewer.modulemap
include//ROOT.modulemap.d/RHTTPSniff.modulemap
include//ROOT.modulemap.d/ROOTHist.modulemap
include//ROOT.modulemap.d/Gviz3d.modulemap
include//ROOT.modulemap.d/RootAuth.modulemap
include//ROOT.modulemap.d/Genetic.modulemap
include//ROOT.modulemap.d/Minuit.modulemap
include//ROOT.modulemap.d/Minuit2.modulemap
include//ROOT.modulemap.d/ROOTTMVASofie.modulemap
include//ROOT.modulemap.d/ROOTWebDisplay.modulemap
include//ROOT.modulemap.d/ROOTGeomViewer.modulemap
include//ROOT.modulemap.d/TMVAUtils.modulemap
include//ROOT.modulemap.d/SPlot.modulemap
include//ROOT.modulemap.d/ROOTDataFrame.modulemap
include//Smatrix.modulemap
include//Eve.modulemap
include//RooFitJSONInterface.modulemap
include//ASImage.modulemap
include//ROOTNTuple.modulemap
include//SpectrumPainter.modulemap
include//NetxNG.modulemap
include//TMVAGui.modulemap
include//Quadp.modulemap
include//Graf3d.modulemap
include//Net.modulemap
include//RooFitHS3.modulemap
include//module.modulemap.extra.tmp
include//RIO.modulemap
include//WebGui6.modulemap
include//Gui.modulemap
include//Gpad.modulemap
include//module.modulemap.extra
include//Physics.modulemap
include//HistPainter.modulemap
include//RGL.modulemap
include//Recorder.modulemap
include//module.modulemap.split.extra.tmp
include//GeomBuilder.modulemap
include//RCsg.modulemap
include//RHTTP.modulemap
include//TreePlayer.modulemap
include//Geom.modulemap
include//EG.modulemap
include//xrootd
include//HistFactory.modulemap
include//RooStats.modulemap
include//Fumili.modulemap
include//RooFit.modulemap
include//GenVector.modulemap
include//TreeViewer.modulemap
include//Postscript.modulemap
include//Imt.modulemap
include//ROOTHistDraw.modulemap
include//MultiProc.modulemap
include//XMLIO.modulemap
include//ROOTNTupleUtil.modulemap
include//RDAVIX.modulemap
include//RooFitCore.modulemap
include//ROOTEve.modulemap
include//XMLParser.modulemap
include//ROOTVecOps.modulemap
include//ROOTFitPanelv7.modulemap
include//ROOT
include//ROOT/TPyDispatcher.h
include//GuiBld.modulemap
include//ROOTTPython.modulemap
include//RSQLite.modulemap
include//TMVA.modulemap
include//Ged.modulemap
include//ROOTGraphicsPrimitives.modulemap
include//ROOTBrowserv7.modulemap
include//Gdml.modulemap
include//Core.modulemap
include//ROOTGpadv7.modulemap
include//Rint.modulemap
include//Foam.modulemap
include//SQLIO.modulemap
include//Hist.modulemap
include//Thread.modulemap
include//ROOTTreeViewer.modulemap
include//RHTTPSniff.modulemap
include//ROOTHist.modulemap
include//Gviz3d.modulemap
include//RootAuth.modulemap
include//Genetic.modulemap
include//Minuit.modulemap
include//Minuit2.modulemap
include//ROOTTMVASofie.modulemap
include//ROOTWebDisplay.modulemap
include//ROOTGeomViewer.modulemap
include//TMVAUtils.modulemap
include//module.modulemap.split.extra
include//SPlot.modulemap
include//ROOTDataFrame.modulemap

Do you expect everything to be duplicated many times and to have tmp leftovers?

I will check whether this can be de-duplicated.

@vgvassilev
Copy link
Member

@pavlo-svirin, I think I understand the problem. The errors are because we have to make the headers relative to the modulemap, meaning we have to prefix very header file in every modulemap with ../.

However, I think we should move back to the previous model where the modulemap are in the ROOTSYS/include folder. That'd help us progress with this PR.

On a later stage, when/if we decide to resolve #16327

@vgvassilev
Copy link
Member

@pavlo-svirin, can you rebase this PR?

@pavlo-svirin
Copy link
Author

@pavlo-svirin, can you rebase this PR?

done

@pavlo-svirin pavlo-svirin force-pushed the distributed_modulemap branch 3 times, most recently from ca2cf8d to 4ad2d9b Compare October 27, 2024 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants