mvn.plugin.zsh 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. # mvn-color based on https://gist.github.com/1027800
  2. export BOLD=`tput bold`
  3. export UNDERLINE_ON=`tput smul`
  4. export UNDERLINE_OFF=`tput rmul`
  5. export TEXT_BLACK=`tput setaf 0`
  6. export TEXT_RED=`tput setaf 1`
  7. export TEXT_GREEN=`tput setaf 2`
  8. export TEXT_YELLOW=`tput setaf 3`
  9. export TEXT_BLUE=`tput setaf 4`
  10. export TEXT_MAGENTA=`tput setaf 5`
  11. export TEXT_CYAN=`tput setaf 6`
  12. export TEXT_WHITE=`tput setaf 7`
  13. export BACKGROUND_BLACK=`tput setab 0`
  14. export BACKGROUND_RED=`tput setab 1`
  15. export BACKGROUND_GREEN=`tput setab 2`
  16. export BACKGROUND_YELLOW=`tput setab 3`
  17. export BACKGROUND_BLUE=`tput setab 4`
  18. export BACKGROUND_MAGENTA=`tput setab 5`
  19. export BACKGROUND_CYAN=`tput setab 6`
  20. export BACKGROUND_WHITE=`tput setab 7`
  21. export RESET_FORMATTING=`tput sgr0`
  22. # Wrapper function for Maven's mvn command.
  23. mvn-color()
  24. {
  25. (
  26. # Filter mvn output using sed. Before filtering set the locale to C, so invalid characters won't break some sed implementations
  27. unset LANG
  28. LC_CTYPE=C mvn $@ | sed -e "s/\(\[INFO\]\)\(.*\)/${TEXT_BLUE}${BOLD}\1${RESET_FORMATTING}\2/g" \
  29. -e "s/\(\[INFO\]\ BUILD SUCCESSFUL\)/${BOLD}${TEXT_GREEN}\1${RESET_FORMATTING}/g" \
  30. -e "s/\(\[WARNING\]\)\(.*\)/${BOLD}${TEXT_YELLOW}\1${RESET_FORMATTING}\2/g" \
  31. -e "s/\(\[ERROR\]\)\(.*\)/${BOLD}${TEXT_RED}\1${RESET_FORMATTING}\2/g" \
  32. -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"
  33. # Make sure formatting is reset
  34. echo -ne ${RESET_FORMATTING}
  35. )
  36. }
  37. # Override the mvn command with the colorized one.
  38. #alias mvn="mvn-color"
  39. # aliases
  40. alias mvncie='mvn clean install eclipse:eclipse'
  41. alias mvnci='mvn clean install'
  42. alias mvne='mvn eclipse:eclipse'
  43. alias mvnce='mvn clean eclipse:clean eclipse:eclipse'
  44. alias mvnd='mvn deploy'
  45. alias mvnp='mvn package'
  46. alias mvnc='mvn clean'
  47. alias mvncom='mvn compile'
  48. alias mvnt='mvn test'
  49. alias mvnag='mvn archetype:generate'
  50. alias mvn-updates='mvn versions:display-dependency-updates'
  51. function listMavenCompletions {
  52. reply=(
  53. # common lifecycle
  54. clean process-resources compile process-test-resources test-compile test package verify install deploy site
  55. # common plugins
  56. 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
  57. # deploy
  58. deploy:deploy-file
  59. # failsafe
  60. failsafe:integration-test failsafe:verify
  61. # install
  62. install:install-file
  63. # site
  64. site:site site:deploy site:run site:stage site:stage-deploy
  65. # surefire
  66. surefire:test
  67. # checkstyle
  68. checkstyle:checkstyle checkstyle:check
  69. # javadoc
  70. javadoc:javadoc javadoc:jar javadoc:aggregate
  71. # jxr
  72. jxr:jxr
  73. # pmd
  74. pmd:pmd pmd:cpd pmd:check pmd:cpd-check
  75. # ant
  76. ant:ant ant:clean
  77. # antrun
  78. antrun:run
  79. # archetype
  80. archetype:generate archetype:create-from-project archetype:crawl
  81. # assembly
  82. assembly:single assembly:assembly
  83. # dependency
  84. 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
  85. # enforcer
  86. enforcer:enforce
  87. # gpg
  88. gpg:sign gpg:sign-and-deploy-file
  89. # help
  90. help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
  91. # release
  92. release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
  93. # repository
  94. repository:bundle-create repository:bundle-pack
  95. # source
  96. source:aggregate source:jar source:jar-no-fork
  97. # eclipse
  98. eclipse:clean eclipse:eclipse
  99. # idea
  100. idea:clean idea:idea
  101. # jetty
  102. jetty:run jetty:run-exploded
  103. # cargo
  104. cargo:start cargo:run cargo:stop cargo:deploy cargo:undeploy cargo:help
  105. # jboss
  106. jboss:start jboss:stop jboss:deploy jboss:undeploy jboss:redeploy
  107. # tomcat
  108. tomcat:start tomcat:stop tomcat:deploy tomcat:undeploy tomcat:redeploy
  109. # tomcat6
  110. tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
  111. # tomcat7
  112. tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy
  113. # exec
  114. exec:exec exec:java
  115. # versions
  116. 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
  117. # scm
  118. scm:add scm:checkin scm:checkout scm:update scm:status
  119. # buildnumber
  120. buildnumber:create buildnumber:create-timestamp buildnumber:help buildnumber:hgchangeset
  121. # war
  122. war:war war:exploded war:inplace war:manifest
  123. # ear
  124. ear:ear ear:generate-application-xml
  125. # ejb
  126. ejb:ejb
  127. # android
  128. 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
  129. # nexus
  130. nexus:staging-list nexus:staging-close nexus:staging-drop nexus:staging-release nexus:staging-build-promotion nexus:staging-profiles-list nexus:settings-download
  131. # repository
  132. repository:bundle-create repository:bundle-pack repository:help
  133. # sonar
  134. sonar:sonar
  135. # license
  136. license:format license:check
  137. # hibernate3
  138. hibernate3:hbm2ddl hibernate3:help
  139. # liquibase
  140. 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
  141. # flyway
  142. flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
  143. # gwt
  144. 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
  145. # options
  146. -Dmaven.test.skip=true -DskipTests -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven
  147. # arguments
  148. -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
  149. cli:execute cli:execute-phase
  150. archetype:generate generate-sources
  151. cobertura:cobertura
  152. -Dtest= `if [ -d ./src/test/java ] ; then find ./src/test/java -type f -name '*.java' | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`
  153. );
  154. }
  155. compctl -K listMavenCompletions mvn