Files
openapi-generator/build.xml

120 lines
4.7 KiB
XML

<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" />
<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"/>
<mkdir dir="build"/>
<mkdir dir="src/main/scala"/>
<mkdir dir="src/test/java"/>
<mkdir dir="src/test/scala"/>
<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="resolve" description="retreive dependencies with ivy">
<delete>
<fileset dir="lib">
<include name="*.jar" />
<include name="*.zip" />
</fileset>
</delete>
<ivy:retrieve pattern="${basedir}/lib/[artifact]-[revision].[ext]" conf="build" />
</target>
<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="resolve, compile" description="generates APIs and model classes for java language">
<fail unless="apiConfiguration.set">
Must specify the parameter for apiConfiguration
eg. -DapiConfiguration==../api-server-lib/java/config/apiConfiguration.json
</fail>
<echo>
apiConfiguration to be used : ${apiConfiguration}
</echo>
<java classname="com.wordnik.swagger.codegen.config.java.JavaLibCodeGen">
<classpath>
<pathelement location="build/main/java" />
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
<arg value="${apiConfiguration}"/>
</java>
</target>
<target name="deploy" depends="resolve, compile" description="builds and copies the artifact to the local ivy cache">
<echo message="building pom file" />
<property name="ivy.pom.version" value="${version.identifier}" />
<ivy:makepom ivyfile="ivy.xml" pomfile="build/${module}-${version.identifier}.pom" />
<echo message="publishing module ${module}" />
<ivy:publish resolver="local" organisation="${organization}" conf="source,test,build,pom,common" pubrevision="${version.identifier}" overwrite="true">
<artifacts pattern="build/[artifact]-[revision].[ext]" />
</ivy:publish>
<echo message="project ${module} published locally with version lib/${version.identifier}" />
</target>
<target name="dependency.tree" description="builds a graphml dependency diagram for viewing with yEd">
<ivy:report conf="build" graph="true" todir="." outputpattern="[artifact]-[revision].[ext]" />
</target>
</project>