mops icon indicating copy to clipboard operation
mops copied to clipboard

How can you setup dfx.json to use mops.toml files in subdirectories for each canister?

Open jake-beardo opened this issue 10 months ago • 2 comments

I have this canisters and i have 2 different mops.toml files in this subdirectory backend/apps/app2/canister and this one backend/apps/app1/canister

{
    "canisters": {
        "app2": {
            "main": "backend/apps/app2/canister/src/main.mo",
            "build": "cd backend/apps/app2/canister && mops sources",
            "type": "motoko"
        },
        "app1": {
            "type": "motoko",
            "main": "backend/apps/app1/canister/src/main.mo",
            "build": "cd backend/apps/app1/canister && mops sources"
        }
    }
}

If i combine the packages in mops.toml and have that in the root of my folders and instead use this setup in my dfx.json it works

{
    "canisters": {
        "app2": {
            "main": "backend/apps/app2/canister/src/main.mo",
            "type": "motoko"
        },
        "app1": {
            "type": "motoko",
            "main": "backend/apps/app1/canister/src/main.mo",
        }
    },
    "defaults": {
        "build": {
            "packtool": "mops sources"
        }
    }
}

jake-beardo avatar Apr 16 '24 11:04 jake-beardo

Do i need to have a dfx.json for each sub directory

jake-beardo avatar Apr 16 '24 11:04 jake-beardo

Do i need to have a dfx.json for each sub directory

Yes, I think this is the only way - dfx.json and mops.toml for each sub directory

ZenVoich avatar Apr 22 '24 08:04 ZenVoich