mvn.plugin.zsh 8.7 KB

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