go-blueprint icon indicating copy to clipboard operation
go-blueprint copied to clipboard

Added the option use just as a builder

Open eggplannt opened this issue 7 months ago • 14 comments

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

Problem/Feature

Added the option to chose between just and make as a builder.

Description of Changes:

  • Abstracted makefile into builder option
  • Added Just as a builder option
  • Created Just template

Checklist

  • [x] I have self-reviewed the changes being requested
  • [x] I have updated the documentation (check issue ticket #218)

eggplannt avatar May 22 '25 05:05 eggplannt

will review if passes the checks!

Melkeydev avatar May 22 '25 05:05 Melkeydev

@eggplannt GitHub had an issue with the runners. Can you push a dummy commit so I don’t have to retrigger everything manually?

I also need to check and test the implementation after @Melkeydev’s review — you forgot to update the main docs (check the checklist).

I don’t understand why the tests are in the root of the go-blueprint project. Don’t they belong to a specific template that is created with go-blueprint?

https://github.com/Melkeydev/go-blueprint/tree/main/cmd/template/framework/files/tests

Ujstor avatar May 22 '25 10:05 Ujstor

https://github.com/actions/runner/issues/3868

Ujstor avatar May 22 '25 12:05 Ujstor

Ok I figured it out, since I added more options to create, it broke the linter

I not very familiar with GitHub actions and Linters, how would you go about fixing this

eggplannt avatar May 22 '25 18:05 eggplannt

There is one more update required when a new feature is implemented. There is a separate branch for the Blueprint UI — you can test it locally

https://github.com/Melkeydev/go-blueprint/tree/blueprint_ui/blueprint-ui

https://go-blueprint.dev/

Open a PR to the blueprint_ui branch. It hasn't been merged into main.

Ujstor avatar May 22 '25 20:05 Ujstor

Does the user need to install Just on Linux, Windows, or macOS before using it? Or is it included in the base system on any of those platforms?

Ujstor avatar May 22 '25 20:05 Ujstor

The user has to install just

eggplannt avatar May 22 '25 20:05 eggplannt

The user has to install just

This could be the issue. Until now, Blueprint worked out of the box, Makefile installed all the necessary dependencies, like Tailwind. Now we have a chicken-and-egg problem

Ujstor avatar May 22 '25 20:05 Ujstor

maybe it should be added as an advanced feature, cause docker isn't auto installed either

eggplannt avatar May 22 '25 20:05 eggplannt

maybe it should be added as an advanced feature, cause docker isn't auto installed either

I would argue that every serious developer uses Docker, Podman, containerd, etc. Now that I know this will break the project from working without additional dependencies, I'm having second thoughts. I need to check with @Melkeydev how to proceed

Adding it as an advanced flag will leave you with two identical configs that do the same thing.

I'm not sure what the benefits are. I saw that there's an open issue for Just, but I didn’t comment on it , my bad. Taskfile would make more sense to me if we choose to go down that path: https://taskfile.dev/

Ujstor avatar May 22 '25 20:05 Ujstor

how would task be different, it also needs to be installed by the user no?

eggplannt avatar May 22 '25 21:05 eggplannt

how would task be different, it also needs to be installed by the user no?

Yes, that’s the point. If we’re adding Makefile alternatives and forcing users to rely on external dependencies, then Taskfile makes more sense because it uses YAML and a different approach that can handle complex task orchestration. From what I understand, Just uses same syntax as Make. What’s the benefit? Make is preinstalled on most operating systems — at least on Unix-based ones

Ujstor avatar May 22 '25 21:05 Ujstor

Could also be a third option, so the options would be make, just, and task. Or do u think we should drop task all together.

eggplannt avatar May 22 '25 23:05 eggplannt

@eggplannt I need to have a consultation with Melkey, then we will make the final decision

Ujstor avatar May 25 '25 18:05 Ujstor

I decided not to accept the PR because we would be introducing another dependency. Make is the de facto standard

Ujstor avatar Jul 12 '25 16:07 Ujstor