-
Notifications
You must be signed in to change notification settings - Fork 28
Makefile - Make it a bit more usable #701
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does the leo
binary have a GO{OS,ARCH}
suffix? 🤔 I'd assume that local developers won't do that much cross-compilation.
leo-* | ||
|
||
# JetBrains IDEs | ||
.idea/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really dislike adding personal things to .gitignore
. People's personal setups should use .git/info/exclude
instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree here I'm afraid 🙏 😄 - it's an assumption that is very problematic. I also suggest to add common IDE .gitignore
s to any other repo if missing actually, there aren't many common IDE stuff to ignore to cover 95% of cases (super niche editors and custom metadata set-ups aren't relevant).
I think this an opinion vs pragmatism scenario;
Even if it would've been nice to have people systematically use personal configs in theory (good mechanism, that's what its for, might be nice to separate setup-based-ignores and project-based-ignores), in practice, most developers just don't bother with this.
It's enough that those exist in non-negligable numbers to justify removing this as a barrier imo.
Especially a must for open source repos IMO - We can't assume those things on external contributors even if we wanted to assume+enforce using personal git profiles inside a company.
For those who do use personal gitignores - this is harmless, for those who don't - omitting this for cleanliness/aesthetics reason will add needless friction which is real.
To illustrate/support:
- internal example - dvc's .gitignore
- external example for something that I know most people in iterative like - fastapi's .gitignore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another reason just occurred to me (re: cloud IDE) - the case for ephemeral dev boxes which may not be pre-configured in this way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think ide-specific exclude paths are perfectly fine in .gitignore. It's a low impact change that we're spending an unreasonable amount of time discussing.
@0x2b3bfa0 So - just personal preference / practice. If you (or anyone) find this detrimental I'll just remove 😄 |
This is too subjective to unbury my “detrimental sledgehammer” but I can't imagine any plausible case where cross-compiling this project during local development would become a commonplace practice. 🤷🏼♂️ |
be8945b
to
8359757
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing a better suggestion, 💅🏼
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! 🎉
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's just land this and move on. A simple Makefile change is stuck in the review phase for 5 days - this should have landed 4.5 days ago
GOARCH=${shell go env GOARCH} | ||
TF_PLUGIN_INSTALL_PATH=~/.terraform.d/plugins/${HOSTNAME}/${NAMESPACE}/${NAME}/${VERSION}/${GOOS}_${GOARCH} | ||
TPI_PATH ?= $(shell pwd) | ||
LEO_PATH ?= $(shell pwd)/cmd/leo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're only using these paths to specify the build entry point, they can be relative to the Makefile. Actually, since we're only using them in one single location, there's not much point in defining constants for them
leo-* | ||
|
||
# JetBrains IDEs | ||
.idea/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think ide-specific exclude paths are perfectly fine in .gitignore. It's a low impact change that we're spending an unreasonable amount of time discussing.
leo
andterraform-provider-iterative
binaries in repo rootbuild
target now uses the above instead of the current "check-build" (checks validity, but produces no binaries, which might be useful)install_tpi
target - built and installedleo
bin into tf plugins (probably unwanted behavior) - fixedmake targets
which acts as--help
)