| 1 |
<?xml version="1.0"?> |
|---|
| 2 |
<!-- ********************************************************* --> |
|---|
| 3 |
<!-- ** Archetypes Module ** --> |
|---|
| 4 |
<!-- ** ** --> |
|---|
| 5 |
<!-- ** @author Ime Asangansi ** --> |
|---|
| 6 |
<!-- ** @version 0.1 ** --> |
|---|
| 7 |
<!-- ********************************************************* --> |
|---|
| 8 |
<project name="archetypes" default="package-module"> |
|---|
| 9 |
|
|---|
| 10 |
<!-- *********************************************************** --> |
|---|
| 11 |
<!-- ** TARGETS ** --> |
|---|
| 12 |
<!-- *********************************************************** --> |
|---|
| 13 |
|
|---|
| 14 |
<!-- Environment properties --> |
|---|
| 15 |
<property environment="env"/> |
|---|
| 16 |
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/> |
|---|
| 17 |
|
|---|
| 18 |
<target name="init" description="initialization"> |
|---|
| 19 |
<xmlcatalog id="common-dtds"> |
|---|
| 20 |
<dtd |
|---|
| 21 |
publicId="-//OpenMRS//DTD OpenMRS Config 1.0//EN" |
|---|
| 22 |
location="lib-common/config-1.0.dtd"/> |
|---|
| 23 |
</xmlcatalog> |
|---|
| 24 |
|
|---|
| 25 |
<xmlproperty file="metadata/config.xml" > |
|---|
| 26 |
<xmlcatalog refid="common-dtds"/> |
|---|
| 27 |
</xmlproperty> |
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
<filterset id="variables.to.replace"> |
|---|
| 31 |
<filter token="MODULE_ID" value="${module.id}" /> |
|---|
| 32 |
<filter token="MODULE_NAME" value="${module.name}" /> |
|---|
| 33 |
<filter token="MODULE_VERSION" value="${module.version}" /> |
|---|
| 34 |
<filter token="MODULE_PACKAGE" value="${module.package}" /> |
|---|
| 35 |
</filterset> |
|---|
| 36 |
|
|---|
| 37 |
<path id="classpath"> |
|---|
| 38 |
<fileset dir="lib"> |
|---|
| 39 |
<include name="**/*.jar"/> |
|---|
| 40 |
</fileset> |
|---|
| 41 |
<fileset dir="lib-common"> |
|---|
| 42 |
<include name="**/*.jar"/> |
|---|
| 43 |
</fileset> |
|---|
| 44 |
</path> |
|---|
| 45 |
|
|---|
| 46 |
</target> |
|---|
| 47 |
|
|---|
| 48 |
<target name="clean" description="Delete build and dist directories"> |
|---|
| 49 |
<delete dir="dist" /> |
|---|
| 50 |
<delete dir="build" /> |
|---|
| 51 |
<delete file="${env.ALLUSERSPROFILE}\Desktop\archetypes-0.1.omod" /> |
|---|
| 52 |
</target> |
|---|
| 53 |
|
|---|
| 54 |
<target name="clean-cached" description="Cleans up tomcat-compiled classes"> |
|---|
| 55 |
<!--useful for clearing off Tomcat's 'cache system' during testing--> |
|---|
| 56 |
<delete dir="${env.CATALINA_HOME}\work\Catalina\localhost\openmrs\org\apache\jsp\WEB_002dINF\view\module\archetypes" /> |
|---|
| 57 |
</target> |
|---|
| 58 |
|
|---|
| 59 |
<target name="compile-module" depends="init" description="Compiles the module"> |
|---|
| 60 |
<mkdir dir="build" /> |
|---|
| 61 |
|
|---|
| 62 |
<!-- Copy other source data to the build folder --> |
|---|
| 63 |
<copy todir="build"> |
|---|
| 64 |
<fileset dir="src/" excludes="**/*.java" /> |
|---|
| 65 |
</copy> |
|---|
| 66 |
|
|---|
| 67 |
<!-- Compile module java files --> |
|---|
| 68 |
<javac destdir="build" classpathref="classpath" debug="true" debuglevel="lines,source"> |
|---|
| 69 |
<src path="src/" /> |
|---|
| 70 |
<include name="**/*.java" /> |
|---|
| 71 |
</javac> |
|---|
| 72 |
|
|---|
| 73 |
<!-- Compile module web java files --> |
|---|
| 74 |
<javac destdir="build" classpathref="classpath" debug="true" debuglevel="lines,source"> |
|---|
| 75 |
<compilerarg line="-g" /> |
|---|
| 76 |
<src path="web/src/" /> |
|---|
| 77 |
<include name="**/*.java" /> |
|---|
| 78 |
</javac> |
|---|
| 79 |
|
|---|
| 80 |
</target> |
|---|
| 81 |
|
|---|
| 82 |
<target name="package-module" depends="compile-module" description="Packages module into jar file"> |
|---|
| 83 |
<mkdir dir="dist" /> |
|---|
| 84 |
|
|---|
| 85 |
<!-- Copy module metadata --> |
|---|
| 86 |
<copy todir="build/"> |
|---|
| 87 |
<fileset dir="metadata/" includes="**/*" /> |
|---|
| 88 |
<filterset refid="variables.to.replace" /> |
|---|
| 89 |
</copy> |
|---|
| 90 |
|
|---|
| 91 |
<!-- Copy module web data --> |
|---|
| 92 |
<copy todir="build/web/module/"> |
|---|
| 93 |
<fileset dir="web/module/" includes="**/*" /> |
|---|
| 94 |
<filterset refid="variables.to.replace" /> |
|---|
| 95 |
</copy> |
|---|
| 96 |
|
|---|
| 97 |
<!-- Copy lib folder --> |
|---|
| 98 |
<!-- (lib should only contain this module's required --> |
|---|
| 99 |
<!-- libraries that OpenMRS doesn't contain already) --> |
|---|
| 100 |
<copy todir="build/lib" failonerror="false"> |
|---|
| 101 |
<fileset dir="lib" includes="**/*" /> |
|---|
| 102 |
</copy> |
|---|
| 103 |
|
|---|
| 104 |
<!-- Create distributable jar file --> |
|---|
| 105 |
<jar destfile="dist/${module.id}-${module.version}.omod"> |
|---|
| 106 |
<fileset dir="build" includes="**/*" /> |
|---|
| 107 |
</jar> |
|---|
| 108 |
</target> |
|---|
| 109 |
|
|---|
| 110 |
<target name="deploy-web-live" depends="package-module"> |
|---|
| 111 |
<copy todir="${env.CATALINA_HOME}/webapps/openmrs/WEB-INF/view/module/${module.id}"> |
|---|
| 112 |
<fileset dir="web/module" includes="**/*" /> |
|---|
| 113 |
</copy> |
|---|
| 114 |
</target> |
|---|
| 115 |
|
|---|
| 116 |
<target name="package-jar" depends="package-module" description="Packages class files into jar file to be included in other projects"> |
|---|
| 117 |
<!-- Create distributable jar file --> |
|---|
| 118 |
<jar destfile="dist/${module.id}-${module.version}.jar"> |
|---|
| 119 |
<fileset dir="build" > |
|---|
| 120 |
<exclude name="web/**/*" /> |
|---|
| 121 |
<exclude name="test/**/*" /> |
|---|
| 122 |
</fileset> |
|---|
| 123 |
</jar> |
|---|
| 124 |
</target> |
|---|
| 125 |
|
|---|
| 126 |
<target name="deploy-desktop" depends="package-module" description="Sends .omod file to specified desktop location"> |
|---|
| 127 |
<!-- Run target and restart webapp to test module --> |
|---|
| 128 |
<copy todir="${env.ALLUSERSPROFILE}\Desktop"> |
|---|
| 129 |
<fileset dir="dist" includes="**.*" /> |
|---|
| 130 |
</copy> |
|---|
| 131 |
</target> |
|---|
| 132 |
</project> |
|---|