build.xml 7.08 KB
<?xml version="1.0"?>
<project name="demoCoursAL" default="ear" basedir=".">
   <!-- Declarations proprietes et classpath -->
      <!-- LIGNES SUIVANTES A MODIFIER : -->
      <property name="jboss.dir" value="/home/opt/wildfly10" />
      <!-- FIN LIGNES  A MODIFIER : -->
      <property name="jboss.lib.dir" value="${jboss.dir}/lib" />
      <property name="src.dir" value="${basedir}/src" />
      <property name="build.dir" value="build" />
      <property name="name" value="appliBanque" />
   <!-- The build classpath -->
   <path id="build.classpath">
      <pathelement location="${basedir}"/>
      <fileset dir="${jboss.dir}/modules/system/layers/base/org/hibernate/main">
        <include name="hibernate-core-5.0.10.Final.jar"/>
      </fileset>
      <fileset dir="${jboss.dir}/modules/system/layers/base/javax/persistence/api/main">
        <include name="hibernate-jpa-2.1-api-1.0.0.Final.jar"/>
      </fileset>
      <fileset dir="${jboss.dir}/bin/client">
        <include name="*.jar"/>
      </fileset>
      <fileset dir="${jboss.dir}/modules/system/layers/base/javax/ejb/api/main">
        <include name="jboss-ejb-api_3.2_spec-1.0.0.Final.jar"/>
      </fileset>
      <fileset dir="${jboss.dir}/modules/system/layers/base/javax/servlet/api/main">
        <include name="**/*.jar"/>
      </fileset>
	  <pathelement location="${build.dir}/sessions"/>
	  <pathelement location="${build.dir}/entites" />
	  <pathelement location="${build.dir}/classes"/>		
  </path>
  
   <!-- Prepare -->
   <target name="prepare" >
      <mkdir dir="${build.dir}" />
      <mkdir dir="${build.dir}/docs" />
      <mkdir dir="${build.dir}/sessions" /> 
      <mkdir dir="${build.dir}/entites" />
      <mkdir dir="${build.dir}/jars" />
      <mkdir dir="${build.dir}/web" />
      <mkdir dir="${build.dir}/web/WEB-INF" />
      <mkdir dir="${build.dir}/web/WEB-INF/classes" />
   </target>

   <!-- Compile sessions-->
   <target name="compile-sessions" depends="prepare">
     <javac destdir="${build.dir}/sessions"
	     classpathref="build.classpath"	>
             <src path="${src.dir}/ejb/sessions" />		
      </javac>
   </target>

   <!-- Create sessions file -->
   <target name="package-sessions" depends="compile-sessions">
      <jar jarfile="${build.dir}/jars/${name}Sessions.jar" 
           basedir="${build.dir}/sessions" >	 				
      </jar>
   </target>
  <!-- Compile entites-->
   <target name="compile-entites" depends="prepare">
      <javac destdir="${build.dir}/entites"
	     classpathref="build.classpath"	>
	     <src path="${src.dir}/ejb/entites" />		
      </javac>
   </target>
	 
   <!-- Create entites-jar file -->
   <target name="package-entites" depends="compile-entites">
      <schemavalidate file="${src.dir}/ejb/entites/persistence.xml" /> 
      <jar jarfile="${build.dir}/jars/${name}Entites.jar" 
           basedir="${build.dir}/entites" >		
	   <metainf dir="${src.dir}/ejb/entites">
             <include name="persistence.xml"/>
       </metainf>
      </jar>
   </target>
   
   <target name="compile-controleurs" depends="prepare">
     <javac destdir="${build.dir}/web/WEB-INF/classes"
	     classpathref="build.classpath"	>
	     <src path="${src.dir}/web/controleurs" />		
      </javac>
   </target>
   
   <target name="war" depends="compile-controleurs">
      <copy todir="${build.dir}/web">
        <fileset dir="${src.dir}/web/vues" includes="**"  />
      </copy>
      <jar
        basedir="${build.dir}/web/"
        destfile="${build.dir}/jars/${name}.war" >
      </jar>
   </target>  
    
	 
   <target name="earSession" depends="package-sessions">
      <schemavalidate file="${src.dir}/application.xml"/>
      <ear destfile="${build.dir}/jars/${name}.ear"
           appxml="${src.dir}/application.xml">
           <fileset dir="${build.dir}/jars" excludes="*.ear,*.war" />
     </ear>
   </target>
   
   <target name="earSessionWeb" depends="package-sessions, war">
      <schemavalidate file="${src.dir}/application.xml"/>
      <ear destfile="${build.dir}/jars/${name}.ear"
           appxml="${src.dir}/application.xml">
           <fileset dir="${build.dir}/jars" excludes="*.ear" />
     </ear>
   </target>
   
   <target name="earEntite" depends="package-entites">
      <schemavalidate file="${src.dir}/application.xml"/>
      <ear destfile="${build.dir}/jars/${name}.ear"
           appxml="${src.dir}/application.xml">
          <fileset dir="${build.dir}/jars" excludes="*.ear,*.war" />
      </ear>
   </target>
   
   <target name="earEntiteEtSession" depends="package-entites,package-sessions">
     <schemavalidate file="${src.dir}/application.xml"/>
     <ear destfile="${build.dir}/jars/${name}.ear"
          appxml="${src.dir}/application.xml">
          <fileset dir="${build.dir}/jars" excludes="*.ear,*.war" />
     </ear>
   </target>
   

   <target name="ear" depends="package-entites,package-sessions, war">
     <schemavalidate file="${src.dir}/application.xml"/>
     <ear destfile="${build.dir}/jars/${name}.ear"
          appxml="${src.dir}/application.xml">
          <fileset dir="${build.dir}/jars" excludes="*.ear" />
     </ear>
   </target>

    <target name="deploy">
     <copy file="${build.dir}/jars/${name}.ear"
           todir="${jboss.dir}/standalone/deployments" />
   </target>
   	 
   <target name="deployEntite" depends="earEntite, deploy" /> 
   
   <target name="deployEntiteEtSession" depends="earEntiteEtSession, deploy" />
   
   <target name="deploySession" depends="earSession, deploy" />

   <target name="deploySessionWeb" depends="earSessionWeb, deploy" />

   <target name="deployAll" depends="ear, deploy" />
	 
   <target name="undeploy">
     <delete>
       <fileset dir="${jboss.dir}/standalone/deployments">
         <filename name="${name}.*" />
       </fileset>
     </delete>
      
   </target>
	 
   <target name="javadoc" depends="compile-sessions">
     <javadoc packagenames="*"
       sourcepath="src/ejb/sessions"
       classpathref="build.classpath"
       destdir="build/docs"
       author="true"
       private="true"
       windowtitle="${name} api" >
     </javadoc>
   </target>  

   
   <!-- Clean everything -->
   <target name="clean" depends="undeploy">
      <delete dir="${build.dir}" />
   </target>

   <!-- compilation, execution programme client -->
   <target name="init-client" depends="prepare">
     <property name="classes.dir" value="${build.dir}/classes" />
     <mkdir dir="${classes.dir}" />
     
   </target>


      <target name="compile-client" depends="init-client">
     
      <javac srcdir="${src.dir}/client"
             destdir="${classes.dir}">
        <classpath refid="build.classpath" />
      </javac>
   </target>

   <target name="run-client" depends="compile-client">      
      <java classname="client.Main" fork="yes" dir="." >      
        <classpath refid="build.classpath" />
      </java>
   </target>
	
   <target name="clean-client" depends="init-client">
      <delete dir="${build.dir}/classes" />
   </target>
   
</project>