#Erik Sipsma3294 fyi working on the Host
1 messages · Page 1 of 1 (latest)
Oh okay nice, I am making a bunch of changes to the project related code at the moment, figured I'd update it to use Directory instead of Filesystem after
glad I checked, that's basically what I started doing 😆 but I backed out and now I'm doing the straight schema -> core/schema/ refactor so hopefully this syncs up well
I think if you try to use core.Directory right now you'll hit an import cycle
-"I think" (I tried)
@stable void sanity check: should core.Project live in core or project? there's a strong dependency from project -> core for using things like core.Directory but core.Project currently has fields of type project.Script and project.Extension, introducing a cycle
i think i could just hoist those types over, since they're dumb structs
I was wondering about that too during my recent refactoring of all that code in the code-first schema PR
I think it will be simpler to move everything to core, but don't worry about doing that unless there's an immediate need, it will create tons of conflicts with the other open PR
I need to rebase that PR but afterwards I will be merging it so shouldn't be too long
by everything do you mean project/*?
yeah essentially. I'm not sure about literally everything, but at least "a lot" from project/
some of the runtime stuff may be nicer to keep there
gotcha
huh this refactor was a lot easier than I expected
er, except I based it on my secrets PR. oops.
@stable void when you get a chance, https://github.com/dagger/dagger/pull/3272 could use a review 😅 sorry, I tried rebasing the refactor to drop the dependency but it might be faster to just merge this first if everything looks OK
nevermind - did the rebase, so no rush/pressure, will have a new PR up soon
https://github.com/dagger/dagger/pull/3289 cc @unreal jackal @upper vector - this probably disrupts any core API work in progress; it moves fooSchema implementations under core/schema to help mitigate circular dependencies in the future. (it also just feels like a more natural split.)
Sorry was just finishing up the dagger.json stuff, just checking messages again now.
I will get to your PRs asap. I also need to do some rebasing of my PRs so they can get merged so my other PRs based on them can rebase etc.etc.etc. 😵💫
😆 i know that feeling, no rush, good luck
Do we still need to have a strong dependency between the two?
We used not to, the it was introduced for server side generation which is going away with @stable void’s latest stuff I Believe
You load projects from filesystems, that's the connection point, so not incredibly strong but it's there
As for the sanity check: “project” used to be called “extension” (primary function being extension.Load)
So the architecture was:
- router: generic gql router, that can have multiple schemas and merge them together into a single one
- extension.Load (now project): load an external router.Schema
- core: a built-in router.Schema