mvn.plugin.zsh 8.0 KB

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