forked from loafle/openapi-generator-original
120 lines
4.7 KiB
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>
|
|
|