소스 검색

Refactored ivy dependencies and added auto deploy to ant.

Tom Flucke 7 년 전
부모
커밋
241ba58593
5개의 변경된 파일56개의 추가작업 그리고 12개의 파일을 삭제
  1. 41 10
      build.xml
  2. 11 0
      conf/tomcat.properties
  3. 0 0
      conf/web.xml
  4. 2 0
      ivy.xml
  5. 2 2
      web/WEB-INF/tags/template.tag

+ 41 - 10
build.xml

@@ -3,9 +3,10 @@
 <project name="ieat2" basedir="." default="war" xmlns:ivy="antlib:org.apache.ivy.ant">
   <property name="app.name" value="ieat"/>
 
+  <property name="conf.dir" value="conf/"/>
   <property name="lib.dir" value="lib/"/>
   <property name="web.dir" value="web/"/>
-     
+  
   <property name="build.version" value="2.0.0"/>
   <property name="build.java.version" value="1.8"/>
   <property name="build.dir" value="build/"/>
@@ -30,8 +31,8 @@
 
   <property name="ant.lib" value="${user.home}/.ant/lib"/>
   
-  <property name="ivy.signal" value="${ant.lib}/ivy.jar"/>
-  <available property="ivy.installed" file="${ivy.signal}"/>
+  <property name="ivy.jar" value="${ant.lib}/ivy.jar"/>
+  <available property="ivy.installed" file="${ivy.jar}"/>
   
   <tstamp>
 	<format property="build.time" pattern="MM/dd/yyyy hh:mm aa z" />
@@ -44,19 +45,38 @@
 
   <target name="ivy.install" unless="ivy.installed">
     <mkdir dir="${ant.lib}"/>
-    <get dest="${ant.lib}/ivy.jar"
+    <get dest="${ivy.jar}"
          src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar"/>
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant"/>
+    <property name="ivy.installed" value="true"/>
   </target>
 
   <target name="ivy.tree" depends="ivy.install" description="Show the dependency tree.">
     <ivy:dependencytree />
   </target>
 
-  <target name="ivy.resolve" depends="ivy.install" description="Use ivy to resolve dependencies">
-    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]"/>
+  <target name="ivy.resolve.compile" depends="ivy.install">
+    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" conf="compile"/>
+  </target>
+
+  <target name="ivy.resolve.war" depends="ivy.install">
+    <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" conf="war"/>
   </target>
 
-  <target name="compile" depends="ivy.resolve" description="Compile source files">
+  <target name="ivy.resolve.deploy" depends="ivy.install">
+    <ivy:retrieve pattern="${ant.lib}/[artifact].[ext]" conf="deploy"/>
+    <taskdef resource="org/apache/catalina/ant/antlib.xml"
+             uri="antlib:org.apache.catalina.ant"/>
+    <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
+    <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />
+  </target>
+  
+  <target name="ivy.resolve"
+          depends="ivy.resolve.compile,ivy.resolve.war,ivy.resolve.deploy"
+          description="Use ivy to resolve compilation dependencies"/>
+
+  <target name="compile" depends="ivy.resolve.compile" description="Compile source files">
     <mkdir dir="${target.dir}"/>
 	<javac srcdir="${source.dir}"
            verbose="${compile.verbose}"
@@ -73,9 +93,9 @@
 	</javac>
   </target>
   
-  <target name="war" depends="compile" description="Create application WAR">
+  <target name="war" depends="compile,ivy.resolve.war" description="Create application WAR">
 	<mkdir dir="${build.dir}"/>
-	<war warfile="${build.warfile}" webxml="web.xml">
+	<war warfile="${build.warfile}" webxml="${conf.dir}/web.xml">
       <lib dir="${build.lib}"/>
       <fileset dir="web"/>
       <classes dir="${target.dir}"/>
@@ -87,8 +107,19 @@
   </target>
 
   <target name="clean.full" depends="clean" description="Delete build files and dependencies">
-	<delete dir="${ivy.signal}"/>
+	<delete dir="${ivy.jar}"/>
     <delete dir="${lib.dir}"/>
     <ivy:cleancache/>
   </target>
+
+  <property file="${conf.dir}/tomcat.properties"/>
+  
+  <target name="deploy" depends="war,ivy.resolve.deploy" description="Deploy to tomcat">
+	<deploy url="http://localhost:8080/manager/text"
+		    username="${tomcat.username}"
+		    password="${tomcat.password}"
+            update="true"
+		    path="/ieat-${build.version}"
+		    war="file:./${build.warfile}" />
+  </target>
 </project>

+ 11 - 0
conf/tomcat.properties

@@ -0,0 +1,11 @@
+# Login information for Tomcat server
+# Fill this in allow ant to deploy directly to your
+# tomcat server.  Useful to speed up testing.
+
+# !!!                 __CAUTION__                    !!!
+# !!! Make sure permisions are properly set for this !!!
+# !!! file if it contains any senstive information.  !!!
+
+# Changed these!
+tomcat.username = admin
+tomcat.password = admin

+ 0 - 0
web.xml → conf/web.xml


+ 2 - 0
ivy.xml

@@ -5,6 +5,7 @@
     <conf name="provided" description="Provided by the environment" />
     <conf name="compile" extends="default,provided" />
     <conf name="war" extends="default"/>
+    <conf name="deploy" description="Used by ant to deploy war files." />
   </configurations>
   <dependencies>
     <!-- Spring Framework -->
@@ -14,5 +15,6 @@
     <dependency org="org.webjars" name="angular-ui-bootstrap" rev="2.5.0" conf="war->default"/>
     <dependency org="org.webjars" name="webjars-locator" rev="0.34" conf="war->default"/>
     <dependency org="javax.servlet" name="javax.servlet-api" rev="4.0.1" conf="provided->default"/>
+    <dependency org="org.apache.tomcat" name="catalina-ant" rev="6.0.53" conf="deploy->default"/>
   </dependencies>
 </ivy-module>

+ 2 - 2
web/WEB-INF/tags/template.tag

@@ -12,8 +12,8 @@
   <body>
     <div class="container">
       <header class="page-header">
-        <!--<h1><jsp:invoke fragment="title"/></h1>-->
-        <jsp:navigation/>
+        <!--<h1><jspinvoke fragment="title"></h1>-->
+        <!--<jspnavigation>-->
       </header>
       <div id="body">
         <jsp:doBody/>