Fixed build file and also removed duplicate config property

This commit is contained in:
rpidikiti 2011-08-03 07:37:24 -07:00
parent 8c4efd8b7c
commit 976493b69b
3 changed files with 85 additions and 19 deletions

View File

@ -1,9 +1,10 @@
<project name="wordnik-libs-gen" default="compile" basedir=".">
<project name="swagger-libs-gen" xmlns:ivy="antlib:org.apache.ivy.ant" default="compile" basedir=".">
<property environment="env" />
<property name="version.identifier" value="1.0" />
<condition property="build.common.dir" value="${env.BUILD_COMMON}">
<isset property="env.BUILD_COMMON" />
</condition>
<property name="artifact.ext" value="jar" />
<property name="organization" value="wordnik" />
<property name="module" value="${ant.project.name}" />
<property name="scala.home" value="${env.SCALA_HOME}" />
<mkdir dir="lib"/>
<mkdir dir="lib/ext"/>
@ -12,17 +13,61 @@
<mkdir dir="src/test/java"/>
<mkdir dir="src/test/scala"/>
<echo message="using build common dir: ${build.common.dir}"/>
<import file="${build.common.dir}/ant/ant-common.xml" />
<import file="${build.common.dir}/ant/ant-server.xml" />
<import file="${build.common.dir}/ant/ant-test.xml" />
<condition property="apiConfiguration.set">
<and>
<isset property="apiConfiguration"/>
</and>
</condition>
<taskdef resource="scala/tools/ant/antlib.xml">
<classpath>
<fileset dir="lib">
<include name="scala**.jar" />
</fileset>
<fileset dir="${scala.home}/lib">
<include name="scala**.jar" />
</fileset>
</classpath>
</taskdef>
<target name="compile" description="builds the module without artifact resolution or cleaning">
<echo message="building ${module}-${version.identifier}.${artifact.ext}"/>
<delete quiet="true" file="build/${module}-*.jar" />
<mkdir dir="build" />
<mkdir dir="build/main" />
<mkdir dir="build/main/java" />
<scalac srcdir="src/main/java:src/main/scala" destdir="build/main/java">
<classpath>
<pathelement location="build/main/java" />
<fileset dir="lib">
<include name="*.jar" />
</fileset>
<fileset dir="lib/ext">
<include name="*.jar" />
</fileset>
<fileset dir="${scala.home}/lib"/>
</classpath>
<include name="**/*.scala" />
<include name="**/*.java" />
</scalac>
<javac srcdir="src/main/java:src/main/scala" debug="true" destdir="build/main/java">
<classpath>
<pathelement location="build/main/java" />
<fileset dir="lib">
<include name="*.jar" />
</fileset>
<fileset dir="lib/ext">
<include name="*.jar" />
</fileset>
</classpath>
<include name="**/*.java" />
</javac>
<jar jarfile="build/${module}-${version.identifier}.${artifact.ext}">
<fileset dir="build/main/java" />
</jar>
</target>
<!-- generates the classes -->
<target name="generate-java" depends="compile" description="generates APIs and model classes for java language">
<fail unless="apiConfiguration.set">

23
ivysettings.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="chained" />
<property name="ivy.checksums" value=""/>
<property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local"
override="false" />
<property name="ivy.local.default.ivy.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<property name="ivy.local.default.artifact.pattern"
value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
override="false" />
<resolvers>
<chain name="chained" returnFirst="true">
<filesystem name="local">
<ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
</filesystem>
<ibiblio name="ibiblio" m2compatible="true" />
<ibiblio name="javanet" root="http://download.java.net/maven/2/" m2compatible="true" />
</chain>
</resolvers>
</ivysettings>

View File

@ -71,8 +71,8 @@ public class SwaggerResourceDocReader {
for (String resource : resources) {
resource = trimResourceName(resource);
if (!resource.equals(trimResourceName( apiListResource ))) {
if(!resource.endsWith(".json")){
resource = resource.concat(".json");
if(resource.endsWith(".{format}")){
resource = resource.replace(".{format}", ".json");
}
resourceURLs.add(baseUrl + resource);
}
@ -83,13 +83,11 @@ public class SwaggerResourceDocReader {
WebResource aResource = apiClient.resource(resourceURL);
aResource.header("api_key", apiKey);
ClientResponse clientResponse = aResource.header("api_key", apiKey).get(ClientResponse.class);
String version = clientResponse.getHeaders().get(HEADER_NAME_API_VERSION).get(0);//TODO - check if this is required
String response = clientResponse.getEntity(String.class);
try {
ObjectMapper mapper = new ObjectMapper();
mapper.getDeserializationConfig().set(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Resource aResourceDoc = deserializeResource(response, mapper);
aResourceDoc.setApiVersion(version);
resourceDocs.add(aResourceDoc);
} catch (IOException ioe) {
ioe.printStackTrace();
@ -111,15 +109,15 @@ public class SwaggerResourceDocReader {
String resourceCsv = "";
Resource resourceApi;
String apiResourceUrl = null;
if(apiListResource == null){
throw new CodeGenerationException("apiListingUrl needs to be defined in api configuration object");
}
apiListResource = baseUrl + "resources.json";
if(!apiListResource.endsWith(".json")){
apiResourceUrl = trimResourceName( apiListResource.concat(".json") );
}else{
apiResourceUrl = trimResourceName( apiListResource);
}
apiResourceUrl = baseUrl.concat(apiResourceUrl);
WebResource aResource = apiClient.resource(apiResourceUrl);
aResource.header("api_key", apiKey);
ClientResponse clientResponse = aResource.header("api_key", apiKey).get(ClientResponse.class);