mvn.plugin.zsh 8.5 KB

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