<?xml version="1.0"?>
<project name="base-server-jar" default="compile" basedir=".">
<property name="project.name" value="base-server"/>
<property name="jar.name" value="${project.name}.jar"/>
<!-- 一般Jar包的依赖 -->
<path id="compile.common.lib">
<!-- 设置依赖路径-->
<fileset dir="./libs" erroronmissingdir="false">
<include name="*.jar"/>
</fileset>
<fileset dir="./export-libs" erroronmissingdir="false">
<include name="*.jar"/>
</fileset>
<fileset dir="./mybatis-plus-libs" erroronmissingdir="false">
<include name="*.jar"/>
</fileset>
<fileset dir="./security-libs" erroronmissingdir="false">
<include name="*.jar"/>
</fileset>
<fileset dir="./swagger-libs" erroronmissingdir="false">
<include name="*.jar"/>
</fileset>
</path>
<property name="compile.version" value="1.8"/>
<property name="compile.encoding" value="UTF-8"/>
<property name="compile.classpath" refid="compile.common.lib"/>
<property name="project.src.dir" value="./src/main/java"/>
<property name="project.build.dir" value="./build"/>
<property name="project.dist.dir" value="./dist"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- 创建build目录-->
<mkdir dir="${project.build.dir}"/>
<!-- 创建dist目录-->
<mkdir dir="${project.dist.dir}"/>
</target>
<!-- 一.编译 -->
<target name="compile" depends="clean,init">
<!-- 1.编译 -->
<javac includeAntRuntime="false" source="${compile.version}" target="${compile.version}"
encoding="${compile.encoding}" classpath="${compile.classpath}"
srcdir="${project.src.dir}" destdir="${project.build.dir}" debug="true" debuglevel="lines,vars,source">
<compilerarg value="-Xlint:unchecked"/>
</javac>
<!-- 2.处理非Java文件 -->
<first id="first.dir">
<path>
<pathelement path="${project.src.dir}/resources"/>
</path>
</first>
</target>
<!-- 创建实体清单-->
<pathconvert property="libs.project" pathsep=" ">
<mapper>
<chainedmapper>
<!-- 移除文件绝对路径 -->
<flattenmapper/>
<!-- 为文件依赖添加libs/前缀 -->
<globmapper from="*" to="libs/*"/>
</chainedmapper>
</mapper>
<path>
<!-- 依赖jar包 -->
<fileset dir="./libs">
<include name="**/*.jar"/>
</fileset>
<fileset dir="./export-libs">
<include name="*.jar"/>
</fileset>
<fileset dir="./mybatis-plus-libs">
<include name="*.jar"/>
</fileset>
<fileset dir="./security-libs">
<include name="*.jar"/>
</fileset>
<fileset dir="./swagger-libs">
<include name="*.jar"/>
</fileset>
</path>
</pathconvert>
<!-- 二.打包 -->
<target name="package" depends="compile">
<!-- 2.2创建实体清单-->
<!--2.3打包到输出目录-->
<jar destfile="${project.dist.dir}/${jar.name}" basedir="${project.build.dir}" compress="false">
<!-- 设置Java运行类-->
<manifest>
<!-- 标明创建人-->
<attribute name="Built-By" value="${user.name}"/>
<!-- 标明创建时间-->
<attribute name="Created-Time" value="${DSTAMP}"/>
<!-- 标明运行类-->
<attribute name="Main-Class" value="com.jztech.baseserver.BaseServerApplication"/>
<!-- 标明运行依赖-->
<attribute name="Class-Path" value="${libs.project}"/>
</manifest>
</jar>
<!-- 拷贝依赖到打包输出目录-->
<copydir dest="${project.dist.dir}/libs" src="./libs"/>
<copydir dest="${project.dist.dir}/libs" src="./export-libs"/>
<copydir dest="${project.dist.dir}/libs" src="./swagger-libs"/>
<copydir dest="${project.dist.dir}/libs" src="./mybatis-plus-libs"/>
<copydir dest="${project.dist.dir}/libs" src="./security-libs"/>
<!-- 拷贝sqlite数据库,如项目未使用sqlite可删除该复制项-->
<copydir dest="${project.dist.dir}/db" src="./db"/>
<!-- 拷贝配置到打包输出目录-->
<copydir dest="${project.dist.dir}/config" src="./config"/>
</target>
<!-- 三、清理-->
<target name="clean" description="clean up">
<!-- 删除编译目录-->
<delete dir="${project.build.dir}"/>
<!-- 删除打包输出目录-->
<delete dir="${project.dist.dir}"/>
</target>
</project>