bash

Optymalizacja pracy – bash

Pomimo tego, że na codzień korzystam z IntelliJ, to jednak do wykonywania buildów, obsługi GITa i kilku innych czynności używam basha. Jest to dla mnie znacznie wygodniejsze rozwiązanie, szczególnie biorąc pod uwagę moje zamiłowanie do korzystania z samej klawiatury dopóki to jest możliwe. Używanie myszki to osteczność :) Warto poświęcić chwilę, na zdefiniowanie aliasów do czynności, które wykonujemy najczęściej.

Tak więc – jeśli korzystasz z mavena pomocne będą napewno:
alias mci='mvn clean install'
alias mcist='mci -DskipTests'
alias mcp='mvn clean package'
alias mp='mvn package'
alias mvc='mvn clean'
alias mmt='mvn clean package org.pitest:pitest-maven:mutationCoverage'

Ostatnia opcja to odpalenie testów mutacyjnych. A co to są testy mutacyjne? Do czego służą i jak ich używać? O tym wszystkim możesz posłuchać na moim talku, link: http://www.youtube.com/watch?v=gMFNV1zeVmQ. Prezentacja odbyła się w ramach grupy lbn.sc, do której zapraszam.

Kolejne aliasy, zaciekawią wszystkich użytkowników GITa. W mojej ocenie wsparcie IntelliJ dla GITa nieco kuleje. W IJ moja praca GITem ogranicza się do przeglądania historii pliku. Pozostałe komendy wolę wykonywać z basha. Oto gitowe aliasy:
alias gl='git log --graph --pretty=format:"%h - %d %s (%cr) " --abbrev-commit'
alias glg='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue reverse)%Creset" --abbrev-commit'
alias gap='git add --patch'
alias gc='git checkout'
alias gs='git status'
alias gp='git pull'

Bardzo często korzystam z glg które w szybki sposób pozwala sprawdzić historię gałęzi:
glg

Mam również zdefiniowane aliasy cc, ci, cj, ce itp, które przenoszą mnie bezpośrednio do katalogu danego projektu. Wtedy zamiast pisac cd dluga/sciezka/do/projektu piszę tylko ci i już jestem w odpowiednim katalogu.

Kolejną rzeczą (i ostatnią na dziś) którą mam zdefiniowanym w swoim ~/.bash_profile jest kolorowanie outputu mavena. Bardzo wygodne, przydatne i do tego świetnie wygląda 😉
# thanks to: http://blog.blindgaenger.net/colorize_maven_output.html
# Colorize Maven Output
alias maven="command mvn"
color_maven() {
maven $* | sed -e 's/Tests run: ([^,]*), Failures: ([^,]*), Errors: ([^,]*), Skipped: ([^,]*)/Tests run: 1, Failures: 2, Errors: 3, Skipped: 4/g'
-e 's/([WARN].*)/1/g'
-e 's/(WARN.*)/1/g'
-e 's/([INFO].*)/1/g'
-e 's/([ERROR].*)/1/g'
-e 's/(BUILD FAILURE.*)/1/g'
-e 's/(FAILURE!.*)/1/g'
-e 's/(BUILD SUCCESS.*)/1/g'
-e 's/(SUCCESS.*)/1/g'

}
alias mvn=color_maven

Nieudany build:
build-fail

Udany build:
build-success

Będąc w temacie optymalizacji pracy koniecznie muszę wspomnieć o wykorzystaniu potęgi skrótów klawiszowych, której wiele osób niedocenia. Ale to dosyć obszerny temat, któremu poświęcony zostanie odrębny wpis :)

Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*