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

two pass build #58

Closed
robnagler opened this issue Dec 6, 2018 · 0 comments · Fixed by #59
Closed

two pass build #58

robnagler opened this issue Dec 6, 2018 · 0 comments · Fixed by #59
Assignees

Comments

@robnagler
Copy link
Member

Components need to communicate. Right now this is an ad hoc collection of calls, e.g. docker_cache.update_j2_ctx, nginx.install_vhost, and nginx.update_j2_ctx_and_install_access. Splitting the build into compile and write would allow simpler and clearer communication (including better assertions e.g. you can't have docker_cache and docker_registry on same host).

build.create_host should call require_component then write_component. components call back to the build object to add themselves to the write queue. Initially, this would be backward compatible, but eventually, two-pass should be required. Components currently have a compile and then write implementation, which wouldn't need to be split initially.

@robnagler robnagler added the 1 label Dec 6, 2018
@robnagler robnagler self-assigned this Dec 6, 2018
robnagler pushed a commit that referenced this issue Dec 6, 2018
Fix #58 if a component defines internal_build_compile, internal_build_write
will be called later.
fix #28 sasldb can't be created on master, because berkley db files change each
time so create them on them on the host and move into place
robnagler pushed a commit that referenced this issue Dec 6, 2018
Fix #58 if a component defines internal_build_compile, internal_build_write
will be called later.
fix #28 sasldb can't be created on master, because berkley db files change each
time so create them on them on the host and move into place
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 a pull request may close this issue.

1 participant