mvn.plugin.zsh 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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. alias mvntc7='mvn tomcat7:run'
  52. alias mvntc='mvn tomcat:run'
  53. alias mvnjetty='mvn jetty:run'
  54. function listMavenCompletions {
  55. reply=(
  56. # common lifecycle
  57. clean process-resources compile process-test-resources test-compile test package verify install deploy site
  58. # common plugins
  59. 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
  60. # deploy
  61. deploy:deploy-file
  62. # failsafe
  63. failsafe:integration-test failsafe:verify
  64. # install
  65. install:install-file
  66. # site
  67. site:site site:deploy site:run site:stage site:stage-deploy
  68. # surefire
  69. surefire:test
  70. # checkstyle
  71. checkstyle:checkstyle checkstyle:check
  72. # javadoc
  73. javadoc:javadoc javadoc:jar javadoc:aggregate
  74. # jxr
  75. jxr:jxr
  76. # pmd
  77. pmd:pmd pmd:cpd pmd:check pmd:cpd-check
  78. # ant
  79. ant:ant ant:clean
  80. # antrun
  81. antrun:run
  82. # archetype
  83. archetype:generate archetype:create-from-project archetype:crawl
  84. # assembly
  85. assembly:single assembly:assembly
  86. # dependency
  87. 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
  88. # enforcer
  89. enforcer:enforce
  90. # gpg
  91. gpg:sign gpg:sign-and-deploy-file
  92. # help
  93. help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
  94. # release
  95. release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
  96. # repository
  97. repository:bundle-create repository:bundle-pack
  98. # source
  99. source:aggregate source:jar source:jar-no-fork
  100. # eclipse
  101. eclipse:clean eclipse:eclipse
  102. # idea
  103. idea:clean idea:idea
  104. # jetty
  105. jetty:run jetty:run-exploded
  106. # cargo
  107. cargo:start cargo:run cargo:stop cargo:deploy cargo:undeploy cargo:help
  108. # jboss
  109. jboss:start jboss:stop jboss:deploy jboss:undeploy jboss:redeploy
  110. # tomcat
  111. tomcat:start tomcat:stop tomcat:deploy tomcat:undeploy tomcat:redeploy
  112. # tomcat6
  113. tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
  114. # tomcat7
  115. tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy
  116. # exec
  117. exec:exec exec:java
  118. # versions
  119. 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
  120. # scm
  121. scm:add scm:checkin scm:checkout scm:update scm:status
  122. # buildnumber
  123. buildnumber:create buildnumber:create-timestamp buildnumber:help buildnumber:hgchangeset
  124. # war
  125. war:war war:exploded war:inplace war:manifest
  126. # ear
  127. ear:ear ear:generate-application-xml
  128. # ejb
  129. ejb:ejb
  130. # android
  131. 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
  132. # nexus
  133. nexus:staging-list nexus:staging-close nexus:staging-drop nexus:staging-release nexus:staging-build-promotion nexus:staging-profiles-list nexus:settings-download
  134. # repository
  135. repository:bundle-create repository:bundle-pack repository:help
  136. # sonar
  137. sonar:sonar
  138. # license
  139. license:format license:check
  140. # hibernate3
  141. hibernate3:hbm2ddl hibernate3:help
  142. # liquibase
  143. 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
  144. # flyway
  145. flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
  146. # gwt
  147. 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
  148. # options
  149. -Dmaven.test.skip=true -DskipTests -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven
  150. # arguments
  151. -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
  152. cli:execute cli:execute-phase
  153. archetype:generate generate-sources
  154. cobertura:cobertura
  155. -Dtest= `if [ -d ./src/test/java ] ; then find ./src/test/java -type f -name '*.java' | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`
  156. );
  157. }
  158. compctl -K listMavenCompletions mvn