cebd45
_m2_make_goals()
cebd45
{
cebd45
  plugin=$1
cebd45
  mojos=$2
cebd45
  for mojo in $mojos
cebd45
  do
cebd45
    export goals="$goals $plugin:$mojo"
cebd45
  done
cebd45
}
cebd45
cebd45
_m2_complete()
cebd45
{
cebd45
  local cur goals
cebd45
cebd45
  COMPREPLY=()
cebd45
  cur="${COMP_WORDS[COMP_CWORD]}"
cebd45
  prev="${COMP_WORDS[COMP_CWORD-1]}"
cebd45
cebd45
  case "${prev}" in
cebd45
       -f | --file|-l|--log-file)
cebd45
              COMPREPLY=( $(compgen -f ${cur}) )
cebd45
              return 0
cebd45
       ;;
cebd45
       *);;
cebd45
  esac
cebd45
cebd45
cebd45
  goals='clean compile test install package deploy site verify'
cebd45
  if [[ ${cur} == -* ]] ; then
cebd45
     goals="$goals -am --also-make
cebd45
                   -amd --also-make-dependents
cebd45
                   -B --batch-mode
cebd45
                   -C --strict-checksums
cebd45
                   -c --lax-checksums
cebd45
                   -cpu --check-plugin-updates
cebd45
                   -D --define
cebd45
                   -e --errors
cebd45
                   -emp --encrypt-master-password
cebd45
                   -ep --encrypt-password
cebd45
                   -f --file
cebd45
                   -fae --fail-at-end
cebd45
                   -ff --fail-fast
cebd45
                   -fn --fail-never
cebd45
                   -gs --global-settings
cebd45
                   -h --help
cebd45
                   -l --log-file
cebd45
                   -N --non-recursive
cebd45
                   -npr --no-plugin-registry
cebd45
                   -npu --no-plugin-updates
cebd45
                   -nsu --no-snapshot-updates
cebd45
                   -o --offline
cebd45
                   -P --activate-profiles
cebd45
                   -pl --projects
cebd45
                   -q --quiet
cebd45
                   -rf --resume-from
cebd45
                   -s --settings
cebd45
                   -T --threads
cebd45
                   -t --toolchains
cebd45
                   -U --update-snapshots
cebd45
                   -up --update-plugins
cebd45
                   -V --show-version
cebd45
                   -v --version
cebd45
                   -X --debug
cebd45
                   -Dmaven.test.skip=true
cebd45
                   -Dmaven.compiler.source=1.5
cebd45
                   -Dmaven.compiler.source=1.6
cebd45
                   -Dmaven.compiler.source=1.7
cebd45
                   -Dmaven.compiler.target=1.5
cebd45
                   -Dmaven.compiler.target=1.6
cebd45
                   -Dmaven.compiler.target=1.7
cebd45
                   -Dproject.build.sourceEncoding=UTF-8
cebd45
                   -Dmaven.repo.local=
cebd45
                   -Dmaven.local.depmap.file=
cebd45
                   -Dmaven.local.debug=true
cebd45
                   -Dmaven.local.mode=true"
cebd45
  fi
cebd45
cebd45
  goals=$goals _m2_make_goals "eclipse" "eclipse"
cebd45
  goals=$goals _m2_make_goals "idea" "idea"
cebd45
  goals=$goals _m2_make_goals "assembly" "assembly"
cebd45
  goals=$goals _m2_make_goals "plexus" "app bundle-application bundle-runtime descriptor runtime service"
cebd45
  goals=$goals _m2_make_goals "dependency" "analyze analyze-dep-mgt analyze-only analyze-report analyze-duplicate
cebd45
                                           build-classpath copy copy-dependencies get go-offline list properties
cebd45
                                           purge-local-repository resolve resolve-plugins sources tree unpack
cebd45
                                           unpack-dependencies"
cebd45
  cur=`echo $cur | sed 's/\\\\//g'`
cebd45
  COMPREPLY=($(compgen -W "${goals}" -- ${cur} | sed 's/\\\\//g') )
cebd45
}
cebd45
cebd45
complete -F _m2_complete -o filenames mvn