aboutsummaryrefslogtreecommitdiff
path: root/hooked (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup ds install and format hooked properlyMichael Gattozzi2020-01-021-3/+3
| | | | | | | | | | This cleans up the ds install command to use namespaced folders on digital ocean to hold assets. This will make it easier to install things in the future if we break it down by version, but really it just makes it easier to not have to do weird splitting logic to choose the right tool and download and install it. For some reason hooked was also not formatted properly when rustfmt was run on OSX so this was fixed to make the build not break.
* Make hooked and dev-suite git hooks cross platformMichael Gattozzi2020-01-012-36/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to this point hooked had been only designed to work on Windows, not because dev-suite didn't want to support it, but because doing so was an immense amount of work with no clear design due to how Unix and Window paths are not at all the same. While shebang notation works on them for both the paths are different. In order to get around this we wrap Ruby, Python, and Bash scripts on Windows with a different script that invokes the 'Git for Windows' sh.exe to run the actual interpreters on the script. These can work fine then as long as one has installed Git for Windows on their machine, and has a copy of py.exe or ruby.exe on their path to be invoked. There is one caveat. We have to assume that a user has installed their copy of Git for Windows in the default location. This means if they haven't the scripts will fail to run. There's not much we can do about this and it's just a necessary wart to provide cross platform capabilities for a project. All projects can be initialized now with one of the language choices and then have the proper files linked on their OS as part of the initialization. Those who need to just link them in an already existing project can just run `hooked link` in order to set their computer up. This again handles the differences between the platforms. This project is also updated to the new format of hooked so that collaboration is now not limited to just Unix based OSes.
* License all code under GPL-3.0Michael Gattozzi2019-12-101-0/+1
|
* Make the pre-commit script pedantic and fix errorsMichael Gattozzi2019-12-103-8/+12
| | | | | | | | This commit really ups the level and quality of the Rust code by setting clippy to pedantic mode. It also fixes an issue where bash continued to run scripts even if something failed with a non-zero exit status. We also deny all warnings so as to actually fail the builds and the commit hooks. This should make sure code quality stays at a high level.
* Add logging output to hookedMichael Gattozzi2019-11-262-2/+28
| | | | | | | | We really should be logging what's going on as each of these tools run. Before this change hooked just ran without any indication of what was going on. This change adds logging with info level for the end user by default, with debug and trace statements while developing the code being an option as well.
* Add 'hooked init' testMichael Gattozzi2019-11-252-0/+66
| | | | | | | | | Up to this point testing of our command line tools just hasn't been happening. That's not great. While locally testing things by hand is possible, overtime various workflows will be harder to test by hand. By automating these tests we can avoid regressions that we wouldn't think to catch. Future work will involve working on adding tests for tools as they integrate together.
* Add commit message linting hook to the repoMichael Gattozzi2019-11-222-1/+46
| | | | | | | | | This adds a commit to handle git commit linting to enforce style by not allowing less than 10 or more than 50 chars for titles and less than or equal to 72 chars for the body. Chars are measured in number of graphemes as 50 chars represented in the terminal is what we want to use not 50 bytes. This will eventually be an installable hook for end users if they want it.
* Add hooked and empty inited hooks from the toolMichael Gattozzi2019-11-223-0/+101
This adds the hooked binary to the dev-suite repo as well as a stub for a program to be used in this workflow! Hooked works by adding the hooks into the repo and setting them to executable and linking them into the hooks directory under .git. This means hooks get to travel with the repo and are source controlled. All a dev needs to do is run the init command and hooked will symlink them all for them. No need to remember how ln works. It's all handled for you. Future work will iterate about what hooks that dev-suite supplies as part of the script. This will involve configuration files and per repo settings are something that will need to be thought about. Closes Issue #2