fubarhouse / dvm

Drush version manager (DVM)
http://fubarhouse.github.io/dvm/
4 stars 2 forks source link

Rewrite in Go! #67

Closed fubarhouse closed 7 years ago

fubarhouse commented 7 years ago

This still may or may not proceed depending on the outcomes of the prototype I've been working on. There are some conventions I'd like to try to prevent using before this goes into git.

The program can now be viewed on the branch dev-2.x.

Structure preview

image

Currently needs work

Roadmap / Things to do

Additional features under consideration

fubarhouse commented 7 years ago

So the version management aspects are quite solid, other than the work to be done above.

I've segregated the entire system into many useful chunks, and even added some more, and I've started rewriting another program I maintain which uses bash to choose and run commands... It's a part of a much larger package which is a much larger scope Drupal management program for Linux.

This go rewrite has so much extra scope that this control system will likely be sucked into that, but the dvm program could simply be a project with imports dependencies which accomplish this refined task whilst keeping so many other useful drush things in one place.

The future is looking amazing, but I've a hell of a lot of work to do if I'm to proceed in any direction. Benefits of writing the extra stuff (a rewrite of the scripts I use at work) would include platform independence (huge win), ability to test the code (woot), readability (especially when converting sed commands) and project structure in general.

Again, I'm not certain how far down this rabbit hole I'll go - but I'm competent at a brand new language for it, the only things left in golang which'll really benefit me would be the templating system which will need work for some components.

fubarhouse commented 7 years ago

I don't believe I'll bother with travis tests in the initial release.

In all seriousness I'm happy if the test files pass and are publicly available for others to test when debugging - I'd prefer to get this out sooner as it's a significant improvement over the existing shell-based system.

I'll look into getting the documentation up to scratch tonight, open a ticket for the new flag system as I'm not completely happy with it - and start a bit later on the ansible role.