#Erik Sipsma3294 fyi working on the Host

1 messages · Page 1 of 1 (latest)

stable void
#

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

blazing rover
#

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

stable void
#

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

blazing rover
#

by everything do you mean project/*?

stable void
#

some of the runtime stuff may be nicer to keep there

blazing rover
#

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

blazing rover
#

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.)

stable void
blazing rover
#

😆 i know that feeling, no rush, good luck

unreal jackal
stable void
unreal jackal
#

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