mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 05:40:08 +00:00
96798c42f0
Setting the locale to C will stabilize sed, so it won't stop processing the mvn output when it encounters invalid characters (like binary data) This makes it also more viable to add the `alias mvn='mvn-color`, as the coloring is less obtrusive, and there won't be any issues with sed breaking because of an invalid character inside the stream
172 lines
8 KiB
Bash
172 lines
8 KiB
Bash
# mvn-color based on https://gist.github.com/1027800
|
|
export BOLD=`tput bold`
|
|
export UNDERLINE_ON=`tput smul`
|
|
export UNDERLINE_OFF=`tput rmul`
|
|
export TEXT_BLACK=`tput setaf 0`
|
|
export TEXT_RED=`tput setaf 1`
|
|
export TEXT_GREEN=`tput setaf 2`
|
|
export TEXT_YELLOW=`tput setaf 3`
|
|
export TEXT_BLUE=`tput setaf 4`
|
|
export TEXT_MAGENTA=`tput setaf 5`
|
|
export TEXT_CYAN=`tput setaf 6`
|
|
export TEXT_WHITE=`tput setaf 7`
|
|
export BACKGROUND_BLACK=`tput setab 0`
|
|
export BACKGROUND_RED=`tput setab 1`
|
|
export BACKGROUND_GREEN=`tput setab 2`
|
|
export BACKGROUND_YELLOW=`tput setab 3`
|
|
export BACKGROUND_BLUE=`tput setab 4`
|
|
export BACKGROUND_MAGENTA=`tput setab 5`
|
|
export BACKGROUND_CYAN=`tput setab 6`
|
|
export BACKGROUND_WHITE=`tput setab 7`
|
|
export RESET_FORMATTING=`tput sgr0`
|
|
|
|
|
|
# Wrapper function for Maven's mvn command.
|
|
mvn-color()
|
|
{
|
|
(
|
|
# Filter mvn output using sed. Before filtering set the locale to C, so invalid characters won't break some sed implementations
|
|
unset LANG
|
|
LC_CTYPE=C mvn $@ | sed -e "s/\(\[INFO\]\)\(.*\)/${TEXT_BLUE}${BOLD}\1${RESET_FORMATTING}\2/g" \
|
|
-e "s/\(\[INFO\]\ BUILD SUCCESSFUL\)/${BOLD}${TEXT_GREEN}\1${RESET_FORMATTING}/g" \
|
|
-e "s/\(\[WARNING\]\)\(.*\)/${BOLD}${TEXT_YELLOW}\1${RESET_FORMATTING}\2/g" \
|
|
-e "s/\(\[ERROR\]\)\(.*\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}\2/g" \
|
|
-e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/${BOLD}${TEXT_GREEN}Tests run: \1${RESET_FORMATTING}, Failures: ${BOLD}${TEXT_RED}\2${RESET_FORMATTING}, Errors: ${BOLD}${TEXT_RED}\3${RESET_FORMATTING}, Skipped: ${BOLD}${TEXT_YELLOW}\4${RESET_FORMATTING}/g"
|
|
|
|
# Make sure formatting is reset
|
|
echo -ne ${RESET_FORMATTING}
|
|
)
|
|
}
|
|
|
|
# Override the mvn command with the colorized one.
|
|
#alias mvn="mvn-color"
|
|
|
|
# aliases
|
|
alias mvncie='mvn clean install eclipse:eclipse'
|
|
alias mvnci='mvn clean install'
|
|
alias mvne='mvn eclipse:eclipse'
|
|
alias mvnce='mvn clean eclipse:clean eclipse:eclipse'
|
|
alias mvnd='mvn deploy'
|
|
alias mvnp='mvn package'
|
|
alias mvnc='mvn clean'
|
|
alias mvncom='mvn compile'
|
|
alias mvnt='mvn test'
|
|
alias mvnag='mvn archetype:generate'
|
|
|
|
function listMavenCompletions {
|
|
reply=(
|
|
# common lifecycle
|
|
clean process-resources compile process-test-resources test-compile test package verify install deploy site
|
|
|
|
# common plugins
|
|
deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt
|
|
|
|
# deploy
|
|
deploy:deploy-file
|
|
# failsafe
|
|
failsafe:integration-test failsafe:verify
|
|
# install
|
|
install:install-file
|
|
# site
|
|
site:site site:deploy site:run site:stage site:stage-deploy
|
|
# surefire
|
|
surefire:test
|
|
|
|
# checkstyle
|
|
checkstyle:checkstyle checkstyle:check
|
|
# javadoc
|
|
javadoc:javadoc javadoc:jar javadoc:aggregate
|
|
# jxr
|
|
jxr:jxr
|
|
# pmd
|
|
pmd:pmd pmd:cpd pmd:check pmd:cpd-check
|
|
|
|
# ant
|
|
ant:ant ant:clean
|
|
# antrun
|
|
antrun:run
|
|
# archetype
|
|
archetype:generate archetype:create-from-project archetype:crawl
|
|
# assembly
|
|
assembly:single assembly:assembly
|
|
# dependency
|
|
dependency:analyze dependency:analyze-dep-mgt dependency:analyze-only dependency:analyze-report dependency:build-classpath dependency:copy dependency:copy-dependencies dependency:get dependency:go-offline dependency:list dependency:purge-local-repository dependency:resolve dependency:resolve-plugins dependency:sources dependency:tree dependency:unpack dependency:unpack-dependencies
|
|
# enforcer
|
|
enforcer:enforce
|
|
# gpg
|
|
gpg:sign gpg:sign-and-deploy-file
|
|
# help
|
|
help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
|
|
# release
|
|
release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
|
|
# repository
|
|
repository:bundle-create repository:bundle-pack
|
|
# source
|
|
source:aggregate source:jar source:jar-no-fork
|
|
|
|
# eclipse
|
|
eclipse:clean eclipse:eclipse
|
|
# idea
|
|
idea:clean idea:idea
|
|
|
|
# jetty
|
|
jetty:run jetty:run-exploded
|
|
# cargo
|
|
cargo:start cargo:run cargo:stop cargo:deploy cargo:undeploy cargo:help
|
|
# jboss
|
|
jboss:start jboss:stop jboss:deploy jboss:undeploy jboss:redeploy
|
|
# tomcat
|
|
tomcat:start tomcat:stop tomcat:deploy tomcat:undeploy tomcat:redeploy
|
|
# tomcat6
|
|
tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
|
|
# tomcat7
|
|
tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy
|
|
# exec
|
|
exec:exec exec:java
|
|
# versions
|
|
versions:display-dependency-updates versions:display-plugin-updates versions:display-property-updates versions:update-parent versions:update-properties versions:update-child-modules versions:lock-snapshots versions:unlock-snapshots versions:resolve-ranges versions:set versions:use-releases versions:use-next-releases versions:use-latest-releases versions:use-next-snapshots versions:use-latest-snapshots versions:use-next-versions versions:use-latest-versions versions:commit versions:revert
|
|
# scm
|
|
scm:add scm:checkin scm:checkout scm:update scm:status
|
|
# buildnumber
|
|
buildnumber:create buildnumber:create-timestamp buildnumber:help buildnumber:hgchangeset
|
|
|
|
# war
|
|
war:war war:exploded war:inplace war:manifest
|
|
# ear
|
|
ear:ear ear:generate-application-xml
|
|
# ejb
|
|
ejb:ejb
|
|
# android
|
|
android:apk android:apklib android:deploy android:deploy-dependencies android:dex android:emulator-start android:emulator-stop android:emulator-stop-all android:generate-sources android:help android:instrument android:manifest-update android:pull android:push android:redeploy android:run android:undeploy android:unpack android:version-update android:zipalign android:devices
|
|
# nexus
|
|
nexus:staging-list nexus:staging-close nexus:staging-drop nexus:staging-release nexus:staging-build-promotion nexus:staging-profiles-list nexus:settings-download
|
|
# repository
|
|
repository:bundle-create repository:bundle-pack repository:help
|
|
|
|
# sonar
|
|
sonar:sonar
|
|
# license
|
|
license:format license:check
|
|
# hibernate3
|
|
hibernate3:hbm2ddl hibernate3:help
|
|
# liquibase
|
|
liquibase:changelogSync liquibase:changelogSyncSQL liquibase:clearCheckSums liquibase:dbDoc liquibase:diff liquibase:dropAll liquibase:help liquibase:migrate liquibase:listLocks liquibase:migrateSQL liquibase:releaseLocks liquibase:rollback liquibase:rollbackSQL liquibase:status liquibase:tag liquibase:update liquibase:updateSQL liquibase:updateTestingRollback
|
|
# flyway
|
|
flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
|
|
# gwt
|
|
gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test
|
|
|
|
# options
|
|
-Dmaven.test.skip=true -DskipTests -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven
|
|
|
|
# arguments
|
|
-am -amd -B -C -c -cpu -D -e -emp -ep -f -fae -ff -fn -gs -h -l -N -npr -npu -nsu -o -P -pl -q -rf -s -T -t -U -up -V -v -X
|
|
|
|
cli:execute cli:execute-phase
|
|
archetype:generate generate-sources
|
|
cobertura:cobertura
|
|
-Dtest= `if [ -d ./src/test/java ] ; then find ./src/test/java -type f -name '*.java' | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`
|
|
);
|
|
}
|
|
|
|
compctl -K listMavenCompletions mvn
|