forked from loafle/openapi-generator-original
Swagger Codegen: Made location of model and resource classes to be generated as one single output directory command line parameter for code generator
This commit is contained in:
parent
851e916bf6
commit
7ca4482af9
@ -10,24 +10,36 @@
|
||||
<import file="${build.common.dir}/ant/ant-server.xml" />
|
||||
<import file="${build.common.dir}/ant/ant-test.xml" />
|
||||
|
||||
<!-- generates the classes -->
|
||||
<target name="generate-java" depends="compile" description="generates API and model classes for java language">
|
||||
<delete>
|
||||
<fileset dir="../java/src/main/java/com/wordnik/api" includes="*.java"/>
|
||||
<fileset dir="../java/src/main/java/com/wordnik/model" includes="*.java"/>
|
||||
</delete>
|
||||
<java classname="com.wordnik.codegen.java.JavaLibCodeGen">
|
||||
<classpath>
|
||||
<pathelement location="build/main/java" />
|
||||
<fileset dir="lib">
|
||||
<include name="**/*.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
</java>
|
||||
<copy todir="../java/src/main/java/" overwrite="true">
|
||||
<fileset dir="../java/src/lang/java"/>
|
||||
</copy>
|
||||
</target>
|
||||
<condition property="outputPath.set">
|
||||
<and>
|
||||
<isset property="outputPath"/>
|
||||
</and>
|
||||
</condition>
|
||||
<!-- generates the classes -->
|
||||
<target name="generate-java" depends="compile" description="generates API and model classes for java language">
|
||||
<fail unless="outputPath.set">
|
||||
Must specify the parameter: outputPath eg. -DoutputPath=../java/src/main/java/com/wordnik/
|
||||
</fail>
|
||||
<echo>
|
||||
outputPath for Api = ${outputPath}
|
||||
</echo>
|
||||
<delete>
|
||||
<fileset dir="${outputPath}" includes="*.java"/>
|
||||
</delete>
|
||||
<java classname="com.wordnik.codegen.java.JavaLibCodeGen">
|
||||
<classpath>
|
||||
<pathelement location="build/main/java" />
|
||||
<fileset dir="lib">
|
||||
<include name="**/*.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
<arg value="${outputPath}"/>
|
||||
<!--<arg value="../java/src/main/java/com/wordnik/"/>-->
|
||||
</java>
|
||||
<copy todir="../java/src/main/java/" overwrite="true">
|
||||
<fileset dir="../java/src/lang/java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
||||
|
@ -1,20 +1,17 @@
|
||||
package com.wordnik.codegen;
|
||||
|
||||
import com.sun.jersey.api.client.Client;
|
||||
import com.sun.jersey.api.client.ClientResponse;
|
||||
import com.sun.jersey.api.client.WebResource;
|
||||
import com.wordnik.codegen.api.SwaggerApi;
|
||||
import com.wordnik.codegen.config.CodeGenConfig;
|
||||
import com.wordnik.codegen.config.GenerationEnvironmentConfig;
|
||||
import com.wordnik.codegen.resource.*;
|
||||
import com.wordnik.exception.CodeGenerationException;
|
||||
|
||||
import org.antlr.stringtemplate.StringTemplate;
|
||||
import org.antlr.stringtemplate.StringTemplateGroup;
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.codehaus.jackson.map.DeserializationConfig.Feature;
|
||||
|
||||
import java.io.*;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.wordnik.codegen.java;
|
||||
|
||||
import com.wordnik.codegen.config.GenerationEnvironmentConfig;
|
||||
import com.wordnik.exception.CodeGenerationException;
|
||||
|
||||
/**
|
||||
* User: deepakmichael
|
||||
@ -9,9 +10,15 @@ import com.wordnik.codegen.config.GenerationEnvironmentConfig;
|
||||
*/
|
||||
public class JavaGenEnvConfig extends GenerationEnvironmentConfig{
|
||||
|
||||
public JavaGenEnvConfig() {
|
||||
this.setModelClassLocation("../java/src/main/java/com/wordnik/model/");
|
||||
this.setResourceClassLocation("../java/src/main/java/com/wordnik/api/");
|
||||
public JavaGenEnvConfig(String outputPath) {
|
||||
if(outputPath == null){
|
||||
throw new CodeGenerationException("Error creating output path : Output path was null ");
|
||||
}
|
||||
|
||||
outputPath = outputPath.endsWith("/") ? outputPath.substring(0, outputPath.lastIndexOf("/")) : outputPath;
|
||||
|
||||
this.setModelClassLocation(outputPath + "/model/");
|
||||
this.setResourceClassLocation(outputPath + "/api/");
|
||||
this.setTemplateLocation("conf/templates/java");
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.wordnik.codegen.java;
|
||||
|
||||
import com.wordnik.codegen.DriverCodeGenerator;
|
||||
import com.wordnik.exception.CodeGenerationException;
|
||||
|
||||
/**
|
||||
* User: ramesh
|
||||
@ -10,12 +11,17 @@ import com.wordnik.codegen.DriverCodeGenerator;
|
||||
public class JavaLibCodeGen extends DriverCodeGenerator {
|
||||
|
||||
public static void main(String[] args) {
|
||||
JavaLibCodeGen codeGenerator = new JavaLibCodeGen();
|
||||
if(args.length < 1){
|
||||
throw new CodeGenerationException("Invalid number of arguments passed: No command line argument was passed to the program for output path");
|
||||
}
|
||||
|
||||
String outputPath = args[0];
|
||||
JavaLibCodeGen codeGenerator = new JavaLibCodeGen(outputPath);
|
||||
codeGenerator.generateCode();
|
||||
}
|
||||
|
||||
public JavaLibCodeGen(){
|
||||
public JavaLibCodeGen(String outputPath){
|
||||
this.setConfig(new JavaCodeGenConfig());
|
||||
this.setEnvConfig(new JavaGenEnvConfig());
|
||||
this.setEnvConfig(new JavaGenEnvConfig(outputPath));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user