Skip to content

Commit 652fa8f

Browse files
committed
cardano-api.cabal update
1 parent ae11b68 commit 652fa8f

File tree

2 files changed

+99
-31
lines changed

2 files changed

+99
-31
lines changed

cardano-api/cardano-api.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ library
7272
Cardano.Api.Internal.Block
7373
Cardano.Api.Internal.Convenience.Query
7474
Cardano.Api.Internal.DRepMetadata
75-
Cardano.Api.Internal.Eon.ShelleyBasedEra
7675
Cardano.Api.Internal.Eras
7776
Cardano.Api.Internal.Error
7877
Cardano.Api.Internal.Fees
@@ -188,6 +187,7 @@ library
188187
yaml,
189188

190189
other-modules:
190+
Cardano.Api.Internal.Eon.ShelleyBasedEra
191191
Cardano.Api.Internal.Anchor
192192
Cardano.Api.Internal.CIP.Cip129
193193
Cardano.Api.Internal.Certificate

refactor.hs

Lines changed: 98 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,68 +29,137 @@ import Control.Monad.Trans.Maybe (runMaybeT)
2929

3030
type ModuleName = Text
3131

32-
-- renames without prefix: [(new name, old name)]
32+
------------------------
33+
-- The refactor strategy
34+
------------------------
35+
36+
-- renames without Cardano.Api prefix: [(new name, old name)]
3337
renames :: [(ModuleName, ModuleName)]
3438
renames = map (bimap prependModulePrefix prependModulePrefix)
3539
[ ("Byron.Internal.Key", "Internal.Keys.Byron")
36-
,("Address", "Internal.Address")
40+
41+
, ("Address", "Internal.Address")
42+
3743
, ("Block", "Internal.Block")
3844

39-
-- TODO reexport through Cardano.Api.Tx
45+
-- TODO reexport everything through Cardano.Api.Tx
46+
, ("Tx.Internal.Body", "Internal.Tx.Body")
4047
, ("Tx.Internal.Convenience", "Internal.Convenience.Construction")
4148
, ("Tx.Internal.Fees", "Internal.Fees")
42-
-- TODO reexport through Cardano.Api.Query
43-
,("Query.Internal.Convenience", "Internal.Convenience.Query")
49+
, ("Tx.Internal.Sign", "Internal.Tx.Sign")
4450

45-
-- TODO reexport everything through Cardano.Api.Era
51+
, ("Query", "Internal.Query")
52+
, ("Query.Internal.Convenience", "Internal.Convenience.Query") -- TODO reexport through Query module
53+
54+
-- TODO reexport everything through Era
4655
, ("Era", "Internal.Eras")
4756
, ("Era.Internal.Case", "Internal.Eras.Case")
4857
, ("Era.Internal.Core", "Internal.Eras.Core")
49-
, ("Era.Internal.Eon.AllegraEraOnwards" ,"Internal.Eon.AllegraEraOnwards")
50-
, ("Era.Internal.Eon.AlonzoEraOnwards" ,"Internal.Eon.AlonzoEraOnwards")
51-
, ("Era.Internal.Eon.BabbageEraOnwards" ,"Internal.Eon.BabbageEraOnwards")
52-
, ("Era.Internal.Eon.ByronToAlonzoEra" ,"Internal.Eon.ByronToAlonzoEra")
53-
, ("Era.Internal.Eon.Convert" ,"Internal.Eon.Convert")
54-
, ("Era.Internal.Eon.ConwayEraOnwards" ,"Internal.Eon.ConwayEraOnwards")
55-
, ("Era.Internal.Eon.MaryEraOnwards" ,"Internal.Eon.MaryEraOnwards")
56-
, ("Era.Internal.Eon.ShelleyBasedEra" ,"Internal.Eon.ShelleyBasedEra")
57-
, ("Era.Internal.Eon.ShelleyEraOnly" ,"Internal.Eon.ShelleyEraOnly")
58-
, ("Era.Internal.Eon.ShelleyToAllegraEra" ,"Internal.Eon.ShelleyToAllegraEra")
59-
, ("Era.Internal.Eon.ShelleyToAlonzoEra" ,"Internal.Eon.ShelleyToAlonzoEra")
60-
, ("Era.Internal.Eon.ShelleyToBabbageEra" ,"Internal.Eon.ShelleyToBabbageEra")
61-
, ("Era.Internal.Eon.ShelleyToMaryEra" ,"Internal.Eon.ShelleyToMaryEra")
58+
, ("Era.Internal.Eon.AllegraEraOnwards", "Internal.Eon.AllegraEraOnwards")
59+
, ("Era.Internal.Eon.AlonzoEraOnwards", "Internal.Eon.AlonzoEraOnwards")
60+
, ("Era.Internal.Eon.BabbageEraOnwards", "Internal.Eon.BabbageEraOnwards")
61+
, ("Era.Internal.Eon.ByronToAlonzoEra", "Internal.Eon.ByronToAlonzoEra")
62+
, ("Era.Internal.Eon.Convert", "Internal.Eon.Convert")
63+
, ("Era.Internal.Eon.ConwayEraOnwards", "Internal.Eon.ConwayEraOnwards")
64+
, ("Era.Internal.Eon.MaryEraOnwards", "Internal.Eon.MaryEraOnwards")
65+
, ("Era.Internal.Eon.ShelleyBasedEra", "Internal.Eon.ShelleyBasedEra")
66+
, ("Era.Internal.Eon.ShelleyEraOnly", "Internal.Eon.ShelleyEraOnly")
67+
, ("Era.Internal.Eon.ShelleyToAllegraEra", "Internal.Eon.ShelleyToAllegraEra")
68+
, ("Era.Internal.Eon.ShelleyToAlonzoEra", "Internal.Eon.ShelleyToAlonzoEra")
69+
, ("Era.Internal.Eon.ShelleyToBabbageEra", "Internal.Eon.ShelleyToBabbageEra")
70+
, ("Era.Internal.Eon.ShelleyToMaryEra", "Internal.Eon.ShelleyToMaryEra")
6271

6372
, ("Error", "Internal.Error")
6473

6574
, ("Genesis", "Internal.Genesis")
66-
-- TODO reexport through Genesis module
67-
, ("Genesis.Internal.Parameters", "Internal.GenesisParameters")
68-
75+
, ("Genesis.Internal.Parameters", "Internal.GenesisParameters") -- TODO reexport through Genesis module
76+
77+
-- TODO export everything through Governance module
78+
, ("Governance.Internal.Action.ProposalProcedure", "Internal.Governance.Actions.ProposalProcedure")
79+
, ("Governance.Internal.Action.VotingProcedure", "Internal.Governance.Actions.VotingProcedure")
80+
, ("Governance.Internal.Anchor", "Internal.Anchor")
81+
, ("Governance.Internal.Metadata.DrepRegistration", "Internal.Governance.Metadata.DrepRegistration")
82+
, ("Governance.Internal.Metadata.GovAction", "Internal.Governance.Metadata.GovAction")
83+
, ("Governance.Internal.Metadata.Parsers", "Internal.Governance.Metadata.Parsers")
6984
, ("Governance.Internal.Metadata.Validation", "Internal.Governance.Metadata.Validation")
85+
, ("Governance.Internal.Poll", "Internal.Governance.Poll")
7086

87+
-- TODO reexport everything through IO
7188
, ("IO", "Internal.IO")
89+
, ("IO.Internal.Base", "Internal.IO.Base")
90+
, ("IO.Internal.Compat", "Internal.IO.Compat")
91+
, ("IO.Internal.Posix", "Internal.IO.Posix")
92+
, ("IO.Internal.Win32", "Internal.IO.Win32")
7293

7394
, ("IPC", "Internal.IPC")
74-
-- TODO reexport through IPC module
75-
, ("IPC.Internal.Monad", "Internal.IPC.Monad")
95+
, ("IPC.Internal.Monad", "Internal.IPC.Monad") -- TODO reexport through IPC module
96+
, ("IPC.Internal.Version", "Internal.IPC.Version") -- TODO reexport through IPC module
7697

7798
, ("LedgerState", "Internal.LedgerState")
7899

79-
, ("Consensus", "Internal.LedgerState")
100+
, ("Consensus.Internal.Mode", "Internal.Modes") -- TODO reexport through Consensus module
101+
, ("Consensus.Internal.InMode", "Internal.InMode") -- TODO reexport through Consensus module -- should we get rid of this?
102+
103+
, ("Pretty", "Internal.Pretty")
104+
105+
, ("Plutus", "Internal.Plutus")
106+
, ("Plutus.Script", "Internal.Script")
107+
, ("Plutus.ScriptData", "Internal.ScriptData")
108+
109+
, ("ProtocolParameters", "Internal.ProtocolParameters")
110+
111+
, ("Serialise.Cbor.Canonical", "Internal.Serialise.Cbor.Canonical")
112+
, ("Serialise.TextEnvelope", "Internal.SerialiseTextEnvelope")
113+
, ("Serialise.Cip129", "Internal.CIP.Cip129"
114+
, ("Serialise.DeserialiseAnyOf", "Internal.DeserialiseAnyOf")
115+
, ("Serialise.Internal.Json", "Internal.Json")
116+
-- TODO this module needs to be removed: the conversion functions need to go into their respective places
117+
-- TODO remove references to CDDL
118+
, ("Serialise.TextEnvelope.Internal", "Internal.SerialiseLedgerCddl")
119+
120+
, ("Ledger.Internal", "Internal.ReexposeLedger")
121+
122+
, ("Network.Internal", "Internal.ReexposeNetwork")
123+
124+
, ("Certificate", "Internal.Certificate")
125+
126+
, ("Compatible.Tx", "Internal.Compatible.Tx")
127+
128+
, ("Experimental.Era", "Internal.Experimental.Eras")
129+
, ("Experimental.Plutus.IndexedPlutusScriptWitness", "Internal.Experimental.Plutus.IndexedPlutusScriptWitness")
130+
, ("Experimental.Plutus.Script", "Internal.Experimental.Plutus.Script")
131+
, ("Experimental.Plutus.ScriptWitness", "Internal.Experimental.Plutus.ScriptWitness")
132+
, ("Experimental.Plutus.Shim.LegacyScripts", "Internal.Experimental.Plutus.Shim.LegacyScripts")
133+
, ("Experimental.Simple.Script", "Internal.Experimental.Simple.Script")
134+
, ("Experimental.Tx", "Internal.Experimental.Tx")
135+
, ("Experimental.Witness.AnyWitness", "Internal.Experimental.Witness.AnyWitness")
136+
, ("Experimental.Witness.TxScriptWitnessRequirements", "Internal.Experimental.Witness.TxScriptWitnessRequirements")
137+
138+
, ("Feature", "Internal.Feature")
139+
140+
, ("HasTypeProxy", "Internal.HasTypeProxy")
141+
142+
, ("Hash", "Hash")
80143
]
81144

82-
-- TODO remove Cardano.Api.Shelley
145+
-- TODO remove Cardano.Api.Shelley, and make sure that everything is exported from `Cardano.Api`
146+
-- TODO move Cardano.Api.Internal.Tx.UTxO to Cardano.Api.Tx.UTxO - we don't need extra layer of redirection
83147
where
84148
prependModulePrefix t = modulePrefix <> "." <> t
85149
modulePrefix = "Cardano.Api"
86150

87151
-- TODO commits order:
88152
-- 1. Update refactor.hs
89153
-- 2. Adjust single function exports from modules, delete modules
90-
-- 3. Move modules not being exported to other-modules in cardano-api.cabal
91-
-- * caveat, some modules will still have to be exported
154+
-- 3. Move some modules not being exported to other-modules in cardano-api.cabal
155+
-- * caveat, some modules will still have to be exported, for e.g. for tests purposes
92156
-- 4. Run refactor.hs renaming modules
93157

158+
159+
-------------------------------------
160+
-- The internals of the refactor code
161+
-------------------------------------
162+
94163
type MonadApp e m = (HasCallStack, MonadIO m, MonadReader e m, HasLogFunc e)
95164

96165
substituteModuleNames :: [(ModuleName, ModuleName)] -> Text -> Text
@@ -120,8 +189,7 @@ main = runSimpleApp $ do
120189
forM_ allFiles $ \file -> do
121190
if ".hs" `isSuffixOf` file
122191
then do
123-
let shelley = ("Cardano.Api", "Cardano.Api.Shelley")
124-
updateFile (shelley:renames) file
192+
updateFile renames file
125193
else
126194
removeEmptyDirectory file
127195

0 commit comments

Comments
 (0)