Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
rhbz1110627 - pull up includes and excludes to project configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Huang committed Jun 30, 2014
1 parent dda35c9 commit 4bad3d0
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 70 deletions.
@@ -1,10 +1,12 @@
package org.zanata.client.commands;

import java.io.File;
import java.util.List;


import org.kohsuke.args4j.Option;
import org.zanata.client.config.LocaleList;
import com.google.common.collect.ImmutableList;

/**
* Base options for commands which support configuration by the user's
Expand Down Expand Up @@ -73,4 +75,8 @@ public interface ConfigurableProjectOptions extends ConfigurableOptions {
void setTransDir(File transDir);

File getTransDir();

ImmutableList<String> getIncludes();

ImmutableList<String> getExcludes();
}
Expand Up @@ -21,9 +21,15 @@
package org.zanata.client.commands;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.kohsuke.args4j.Option;
import org.zanata.client.config.LocaleList;
import org.zanata.util.*;
import org.zanata.util.StringUtil;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;

/**
* Base options for commands which supports configuration by the user's
Expand All @@ -49,6 +55,10 @@ public abstract class ConfigurableProjectOptionsImpl extends
private LocaleList locales;
private File transDir;
private File srcDir;
private ImmutableList<String> includes = ImmutableList.of();
private ImmutableList<String> excludes = ImmutableList.of();
private Splitter splitter = Splitter.on(",").omitEmptyStrings()
.trimResults();

@Override
public String getProj() {
Expand Down Expand Up @@ -155,4 +165,36 @@ public void setTransDir(File transDir) {
public File getTransDir() {
return transDir;
}

@Override
public ImmutableList<String> getIncludes() {
return includes;
}

@Option(
name = "--includes",
metaVar = "INCLUDES",
usage = "Wildcard pattern to include files and directories. This parameter is only\n"
+ "needed for some project types, eg XLIFF, Properties. Usage\n"
+ "--includes=\"src/myfile*.xml,**/*.xlf\"")
public
void setIncludes(String includes) {
this.includes =
ImmutableList.copyOf(splitter.split(includes));
}

@Override
public ImmutableList<String> getExcludes() {
return excludes;
}

@Option(
name = "--excludes",
metaVar = "EXCLUDES",
usage = "Wildcard pattern to exclude files and directories. Usage\n"
+ "--excludes=\"Pattern1,Pattern2,Pattern3\"")
public
void setExcludes(String excludes) {
this.excludes = ImmutableList.copyOf(splitter.split(excludes));
}
}
Expand Up @@ -37,10 +37,6 @@ public interface PushOptions extends PushPullOptions {

public String getMergeType();

public ImmutableList<String> getIncludes();

public ImmutableList<String> getExcludes();

public boolean getCaseSensitive();

public boolean getExcludeLocaleFilenames();
Expand Down
Expand Up @@ -145,37 +145,6 @@ void setPushType(String pushType) {
this.pushType = pushType;
}

@Override
public ImmutableList<String> getIncludes() {
return includes;
}

@Option(
name = "--includes",
metaVar = "INCLUDES",
usage = "Wildcard pattern to include files and directories. This parameter is only\n"
+ "needed for some project types, eg XLIFF, Properties. Usage\n"
+ "--includes=\"src/myfile*.xml,**/*.xlf\"")
public
void setIncludes(String includes) {
this.includes = ImmutableList.copyOf(StringUtil.split(includes, ","));
}

@Override
public ImmutableList<String> getExcludes() {
return excludes;
}

@Option(
name = "--excludes",
metaVar = "EXCLUDES",
usage = "Wildcard pattern to exclude files and directories. Usage\n"
+ "--excludes=\"Pattern1,Pattern2,Pattern3\"")
public
void setExcludes(String excludes) {
this.excludes = ImmutableList.copyOf(StringUtil.split(excludes, ","));
}

@Override
public boolean getDefaultExcludes() {
return defaultExcludes;
Expand Down
Expand Up @@ -21,6 +21,7 @@

package org.zanata.maven;

import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import org.apache.commons.lang.StringUtils;
import org.zanata.client.commands.PushPullCommand;
Expand Down Expand Up @@ -86,23 +87,6 @@ public PushPullCommand<PushOptions> initCommand() {
*/
private String merge;

/**
* Wildcard pattern to include files and directories. This parameter is only
* needed for some project types, eg XLIFF, Properties. Usage
* -Dzanata.includes="src/myfile*.xml,**&#47*.xliff.xml"
*
* @parameter expression="${zanata.includes}"
*/
private String includes;

/**
* Wildcard pattern to exclude files and directories. Usage
* -Dzanata.excludes="Pattern1,Pattern2,Pattern3"
*
* @parameter expression="${zanata.excludes}"
*/
private String excludes;

/**
* Add default excludes (.svn, .git, etc) to the exclude filters.
*
Expand Down Expand Up @@ -187,24 +171,6 @@ public String getMergeType() {
return merge;
}

@Override
public ImmutableList<String> getIncludes() {
if (includes != null) {
String[] includeList = StringUtils.split(includes, ",");
return ImmutableList.copyOf(includeList);
}
return ImmutableList.of();
}

@Override
public ImmutableList<String> getExcludes() {
if (excludes != null) {
String[] excludeList = StringUtils.split(excludes, ",");
return ImmutableList.copyOf(excludeList);
}
return ImmutableList.of();
}

@Override
public boolean getDefaultExcludes() {
return defaultExcludes;
Expand Down
Expand Up @@ -5,6 +5,8 @@
import org.zanata.client.commands.ConfigurableOptions;
import org.zanata.client.commands.ConfigurableProjectOptions;
import org.zanata.client.config.LocaleList;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;

/**
* Base class for mojos which support configuration by the user's zanata.ini and
Expand Down Expand Up @@ -73,6 +75,23 @@ public abstract class ConfigurableProjectMojo<O extends ConfigurableOptions>
* @parameter expression="${zanata.transDir}"
*/
private File transDir;
/**
* Wildcard pattern to include files and directories. This parameter is only
* needed for some project types, eg XLIFF, Properties. Usage
* -Dzanata.includes="src/myfile*.xml,**&#47*.xliff.xml"
*
* @parameter expression="${zanata.includes}"
*/
private String includes;
/**
* Wildcard pattern to exclude files and directories. Usage
* -Dzanata.excludes="Pattern1,Pattern2,Pattern3"
*
* @parameter expression="${zanata.excludes}"
*/
private String excludes;
private Splitter splitter = Splitter.on(",").omitEmptyStrings()
.trimResults();

public ConfigurableProjectMojo() {
super();
Expand Down Expand Up @@ -147,4 +166,20 @@ public void setSrcDir(File srcDir) {
public void setTransDir(File transDir) {
this.transDir = transDir;
}

@Override
public ImmutableList<String> getIncludes() {
if (includes != null) {
return ImmutableList.copyOf(splitter.split(includes));
}
return ImmutableList.of();
}

@Override
public ImmutableList<String> getExcludes() {
if (excludes != null) {
return ImmutableList.copyOf(splitter.split(excludes));
}
return ImmutableList.of();
}
}

0 comments on commit 4bad3d0

Please sign in to comment.