Welcome <@U02TRG8RPFA>! We invite you to say a lit...
# welcome
b
Welcome @hallowed-rocket-69880! We invite you to say a little something about you and your company, and how you discovered Pants. You'll be helping us improve outreach to future Pants fans. Thanks so much!
h
G'day! I'm that Chief Architect at a company called Aginic and I've joined to get an idea about the direction and roadmap of pants. I have a personal interest in developer experience and build tools so I've been keeping an eye out on the direction of the industry and I quite like Pants' ease of use.
👋 3
I'm planning on exploring the viability of Pants for our company as well, and that will primarily have to take the form of custom target/rule development I believe, since we work with many different clients and all can have different language requirements.
b
Fantastic! Your timing is excellent since we are conducting the annual roadmap survey at this very moment. Please do contribute suggestions of anything and everything that would make Pants more helpful to you or your varied clients. https://pantsbuild.slack.com/archives/C046T6T9U/p1641838906111400 Making Pants the most widely-useful and flexible modern build system is our mission, so we really value every insight the community generously shares with the team — and development priorities are very much driven by what our community members ask for.
Aside from the survey, all year long we encourage bringing in feedback, ideas, questions, docs updates, blog posts, PRs, etc. So please do feel free to fire up both your curiosity and vision. Both are appreciated here.
h
Welcome! Regarding custom rule development, we have put a lot of effort into making that straightforward (I try not to use the word "easy" since nothing is ever easy...) For example, the Plugin API is idiomatic async Python 3. And it's the same API that the built-in rules use, so there are plenty of code examples.
And if any custom rules end up being generally useful, we're often happy to upstream them into Pants itself
h
Amazing stuff! I've found the custom rule development to be more difficult compared to say a bazel or please just due to the amount of effort needed to get started, but I still have it on my list to get a full node stack setup running with pants at some point before I really have too many ideas
h
Sorry that it's been more difficult than you expected. What would have made it easier? More documentation? More examples?
h
I'd say the current big documentation/example gap is moving from Bash to a language with proper external dependencies, but also an example that's less complex than the built in rules
For example, I'd like to be able to start with a basic
npm_install(package_json="package.json")
that lets me do
./pants run main.ts
Starting from the bash rules is difficult to figure out where the npm_install part fits in, but looking at the core python rules makes it difficult to figure out how much of that is actually required just yet
h
Got it. So basically some examples in increasing order of complexity?
h
Yeah that would be terrific 🙂 maybe even a "building a xxx plugin from scratch" approach that starts with the basics and adds on to it
Something like Go, Ruby, or Node.js would be good for something like that I think because you can work your way up to the remote package management, but start with the easier stuff