diff --git a/zanata-cli/pom.xml b/zanata-cli/pom.xml index 4e438fdb..0f88eabb 100644 --- a/zanata-cli/pom.xml +++ b/zanata-cli/pom.xml @@ -81,6 +81,37 @@ + + + bash + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + test + + java + + + + + org.zanata.client.BashCompletionGenerator + + ${project.build.directory}/zanata-cli-completion + + test + + + + + + + diff --git a/zanata-cli/src/test/java/org/zanata/client/BashCompletionGenerator.java b/zanata-cli/src/test/java/org/zanata/client/BashCompletionGenerator.java new file mode 100644 index 00000000..49752170 --- /dev/null +++ b/zanata-cli/src/test/java/org/zanata/client/BashCompletionGenerator.java @@ -0,0 +1,211 @@ +package org.zanata.client; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.AccessibleObject; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.kohsuke.args4j.Option; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.zanata.client.commands.BasicOptions; +import com.google.common.base.Charsets; +import com.google.common.base.Function; +import com.google.common.base.Joiner; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import com.google.common.io.Files; + +/** + * @author Patrick Huang pahuang@redhat.com + */ +public class BashCompletionGenerator +{ + private static final Logger log = LoggerFactory.getLogger(BashCompletionGenerator.class); + + private static final Joiner joiner = Joiner.on(" "); + + private List baseCommands; + private List