Skip to content
Snippets Groups Projects
Commit 2233d2bc authored by Eike Cochu's avatar Eike Cochu
Browse files

updated command line parsing + options, added make-release script

parent c868d263
No related branches found
No related tags found
No related merge requests found
......@@ -3,4 +3,6 @@
*.war
*.class
*.sublime-workspace
.vagrant/
\ No newline at end of file
.vagrant/
.release/
/*.tar.gz
\ No newline at end of file
#!/bin/bash
VERSION=$(git describe --tags --abbrev=0 2> /dev/null)
if [ $? -ne 0 ]; then
VERSION=$(git rev-parse --short HEAD 2> /dev/null)
fi
if [ -z $VERSION ]; then
echo "could not get version"
exit 1
fi
DIR="$(dirname "$(readlink -f "$0")")"
REL_NAME="vipra-$VERSION"
REL="$DIR/$REL_NAME"
rm -rf $REL $REL.tar.gz
mkdir -p $REL/vipra-backend $REL/vipra-cmd $REL/vipra-ui
cp -r $DIR/dtm_release $REL/dtm_release
find $REL -type f -name "*.o" -exec rm -f {} \;
rm -f $REL/dtm_release/dtm/main
cp $DIR/vipra-backend/target/vipra.war $REL/vipra-backend
cp $DIR/vipra-cmd/target/*.jar $REL/vipra-cmd/vipra.jar
cp -r $DIR/vipra-cmd/target/lib $REL/vipra-cmd/lib
cp -r $DIR/vipra-ui/public $REL/vipra-ui
cp $DIR/vipra $REL/vipra-cmd/vipra
cp $DIR/LICENSE $DIR/README.md $REL
tar zcf $REL_NAME.tar.gz $REL_NAME
rm -rf $REL
echo "$REL_NAME.tar.gz"
exit 0
\ No newline at end of file
......@@ -11,7 +11,7 @@
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="de.vipra.cmd.Main"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-dl"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-CS test -C asd"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="vipra-cmd"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
......
package de.vipra.cmd;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
......@@ -12,20 +15,27 @@ public class CommandLineOptions {
public static final Option CLEAR = Option.builder("c").longOpt("clear").desc("clear the database and models").build();
public static final Option DEBUG = Option.builder("d").longOpt("debug").desc("show debug information").build();
public static final Option HELP = Option.builder("h").longOpt("help").desc("show this help").build();
public static final Option INDEX = Option.builder("i").longOpt("index").desc("create the search index on selected models").build();
public static final Option LIST = Option.builder("l").longOpt("list").desc("list available models").build();
public static final Option REREAD = Option.builder("r").longOpt("reread").desc("reread generated models").build();
public static final Option SILENT = Option.builder("s").longOpt("silent").desc("suppress all output").build();
public static final Option TEST = Option.builder("t").longOpt("test").desc("test database connections").build();
public static final Option ALL = Option.builder("A").longOpt("all").desc("select all models, short for -S all").build();
public static final Option CREATE = Option.builder("C").longOpt("create").desc("create new models").hasArgs().argName("models...").build();
public static final Option DELETE = Option.builder("D").longOpt("delete").desc("delete existing models").hasArgs().argName("models...").build();
public static final Option EDIT = Option.builder("E").longOpt("edit").desc("edit config of selected models").hasArgs().argName("models...")
.build();
public static final Option PRINT = Option.builder("p").longOpt("print").desc("print model configuration").hasArgs().argName("models...").build();
public static final Option IMPORT = Option.builder("I").longOpt("import").desc("import data from json into selected models").hasArgs()
.argName("files...").build();
public static final Option MODEL = Option.builder("M").longOpt("model").desc("generate topics on selected models").build();
public static final Option ALL = Option.builder("A").longOpt("all").desc("select all models (-S all)c").build();
public static final Option INDEX = Option.builder("i").longOpt("index").desc("create index for models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option REREAD = Option.builder("r").longOpt("reread").desc("reread generated models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option CREATE = Option.builder("C").longOpt("create").desc("create new models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option DELETE = Option.builder("D").longOpt("delete").desc("delete existing models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option EDIT = Option.builder("E").longOpt("edit").desc("edit config of selected models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option PRINT = Option.builder("p").longOpt("print").desc("print model configuration").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option IMPORT = Option.builder("I").longOpt("import").desc("import data for models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option MODEL = Option.builder("M").longOpt("model").desc("generate topics on models").hasArgs().argName("[models...]")
.optionalArg(true).build();
public static final Option SELECT = Option.builder("S").longOpt("select").desc("select models").hasArgs().argName("models...").build();
private final Options options;
......@@ -41,7 +51,20 @@ public class CommandLineOptions {
}
public void parse(final String[] args) throws ParseException {
cmd = new DefaultParser().parse(options, args);
cmd = new DefaultParser().parse(options, split(args));
}
private String[] split(final String[] args) {
final List<String> args2 = new ArrayList<>();
for (String arg : args) {
if (arg.startsWith("-") && arg.length() > 2) {
for (char c : arg.substring(1, arg.length()).toCharArray())
args2.add("-" + c);
} else {
args2.add(arg);
}
}
return args2.toArray(new String[args2.size()]);
}
public boolean hasOption(final Option opt) {
......@@ -78,6 +101,9 @@ public class CommandLineOptions {
}
public String[] modelsToIndex() {
final String[] models = getOptionValues(INDEX);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
......@@ -90,6 +116,9 @@ public class CommandLineOptions {
}
public String[] modelsToReread() {
final String[] models = getOptionValues(REREAD);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
......@@ -110,7 +139,10 @@ public class CommandLineOptions {
}
public String[] modelsToCreate() {
return getOptionValues(CREATE);
final String[] models = getOptionValues(CREATE);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
public boolean isDelete() {
......@@ -118,7 +150,10 @@ public class CommandLineOptions {
}
public String[] modelsToDelete() {
return getOptionValues(DELETE);
final String[] models = getOptionValues(DELETE);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
public boolean isEdit() {
......@@ -126,7 +161,10 @@ public class CommandLineOptions {
}
public String[] modelsToEdit() {
return getOptionValues(EDIT);
final String[] models = getOptionValues(EDIT);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
public boolean isPrint() {
......@@ -134,7 +172,10 @@ public class CommandLineOptions {
}
public String[] modelsToPrint() {
return getOptionValues(PRINT);
final String[] models = getOptionValues(PRINT);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
public boolean isImport() {
......@@ -142,7 +183,10 @@ public class CommandLineOptions {
}
public String[] filesToImport() {
return getOptionValues(IMPORT);
final String[] models = getOptionValues(IMPORT);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
public boolean isModel() {
......@@ -150,6 +194,9 @@ public class CommandLineOptions {
}
public String[] modelsToModel() {
final String[] models = getOptionValues(MODEL);
if (models != null && models.length > 0)
return models;
return selectedModels();
}
......
......@@ -4,7 +4,6 @@ import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import de.vipra.util.Config;
......@@ -24,12 +23,6 @@ public class CreateModelCommand implements Command {
this.names = names;
}
private void restoreModelFromDir(final String name, final File modelDir)
throws JsonParseException, JsonMappingException, IOException, DatabaseException {
final TopicModelConfig modelConfig = TopicModelConfig.readFromFile(modelDir);
createModel(name, modelConfig, modelDir);
}
private void createModel(final String name, final TopicModelConfig modelConfig, final File modelDir)
throws JsonGenerationException, JsonMappingException, IOException, DatabaseException {
modelConfig.setName(name);
......@@ -60,13 +53,7 @@ public class CreateModelCommand implements Command {
throw new Exception("invalid model name: " + name);
final File modelDir = new File(config.getDataDirectory(), name);
if (modelDir.exists()) {
try {
final TopicModelFull topicModel = dbTopicModels.getSingle(name);
if (topicModel != null)
throw new Exception("model with that name already exists: " + name);
} catch (final Exception e) {}
restoreModelFromDir(name, modelDir);
ConsoleUtils.info("model restored: " + name);
ConsoleUtils.info("model already exists: " + name);
continue;
}
if (!modelDir.mkdirs())
......
......@@ -61,7 +61,7 @@ gulp.task('js', function() {
});
gulp.task('js-rel', function() {
gulp.src(['app/js/**/*.js', '!app/js/config.js', '!app/js/dev.js'])
gulp.src(['app/js/**/*.js', '!app/js/config.js'])
.pipe(concat('app.js'))
.pipe(ngannotate())
.pipe(gulp.dest('public/js'));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment