User: ara_e_w 
  Date: 02/05/23 15:25:06

  Modified:    modules  Tag: MODULE_REFACTORING_BRANCH modules-common.xml
  Log:
  Implemented <externalizer/> subtask. It generates (externalizes) a properties file 
by looking after some specified tags in code. We use it in core and modules for 
generating message bundle files. As an example two classes were modified to contain 
@msg:bundle tags. It was tricky for core, because of chicken/egg problem :-)
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.18  +61 -4     xdoclet/modules/Attic/modules-common.xml
  
  Index: modules-common.xml
  ===================================================================
  RCS file: /cvsroot/xdoclet/xdoclet/modules/Attic/modules-common.xml,v
  retrieving revision 1.1.2.17
  retrieving revision 1.1.2.18
  diff -u -w -r1.1.2.17 -r1.1.2.18
  --- modules-common.xml        20 May 2002 21:44:15 -0000      1.1.2.17
  +++ modules-common.xml        23 May 2002 22:25:06 -0000      1.1.2.18
  @@ -17,10 +17,9 @@
       <property name="xdoclet-xml.dir"     value="${module.classes.dir}/META-INF"/>
   
       <!-- =================================================================== -->
  -    <!-- Initialises the build.                                              -->
  +    <!-- Prepares the build.                                                 -->
       <!-- =================================================================== -->
  -    <target name="init">
  -        <echo>******** Building XDoclet Module '${ant.project.name}' ********</echo>
  +    <target name="prepare">
   
           <!-- Define classpath required for generating xml descriptors -->
           <path id="module.xml.class.path">
  @@ -64,6 +63,21 @@
                <uptodate property="module.uptodate" targetfile="${module.jar.file}">
                        <srcfiles dir="${module.dir}"/>
                </uptodate>
  +
  +             <available classname="xdoclet.modules.externalizer.ExternalizerSubTask"
  +                     property="externalizer.available"
  +                     classpathref="module.xml.class.path"
  +             />
  +
  +    </target>
  +
  +    <!-- =================================================================== -->
  +    <!-- Initialises the build.                                              -->
  +    <!-- =================================================================== -->
  +    <target name="init" depends="prepare">
  +
  +        <echo>******** Building XDoclet Module '${ant.project.name}' ********</echo>
  +
       </target>
   
       <!-- =================================================================== -->
  @@ -90,6 +104,48 @@
       </target>
   
       <!-- =================================================================== -->
  +    <!-- Runs externalizer, it generates Messages.properties files for each  -->
  +    <!-- package.                                                            -->
  +    <!-- =================================================================== -->
  +    <target name="externalizer" depends="prepare"
  +        description="Runs externalizer, it generates Messages.properties files for 
each package."
  +     unless="module.uptodate"
  +    >
  +
  +             <ant target="run-externalizer"/>
  +
  +    </target>
  +
  +
  +    <!-- =================================================================== -->
  +    <!-- Runs externalizer, it generates Messages.properties files for each  -->
  +    <!-- package.                                                            -->
  +    <!-- =================================================================== -->
  +    <target name="run-externalizer" depends="prepare"
  +        description="Runs externalizer, it generates Messages.properties files for 
each package."
  +     if="externalizer.available"
  +    >
  +
  +        <echo message="Generating message bundle files for module..."/>
  +
  +        <!-- Define the xdoclet task -->
  +        <taskdef name="externalizerdoclet" classname="xdoclet.DocletTask"
  +            classpathref="module.xml.class.path"
  +        />
  +
  +        <externalizerdoclet destdir="${module.classes.dir}">
  +
  +            <fileset dir="${module.src.dir}">
  +                <include name="**/*.java" />
  +            </fileset>
  +
  +            <externalizer tagName="msg:bundle" keyParamName="id" 
valueParamName="msg"/>
  +
  +        </externalizerdoclet>
  +
  +    </target>
  +
  +    <!-- =================================================================== -->
       <!-- Compiles the source code                                            -->
       <!-- =================================================================== -->
       <target name="compile" depends="beautify" unless="module.uptodate">
  @@ -108,7 +164,7 @@
       <!-- =================================================================== -->
       <!-- Creates the module jar                                              -->
       <!-- =================================================================== -->
  -    <target name="jar" depends="init,xdoclet-xml,compile,docs,copy-src" 
unless="module.uptodate">
  +    <target name="jar" 
depends="init,xdoclet-xml,externalizer,compile,docs,copy-src" unless="module.uptodate">
           <jar jarfile="${module.jar.file}">
               <fileset dir="${module.classes.dir}">
                   <include name="**/*.class"/>
  @@ -172,6 +228,7 @@
            <fileset dir="${module.src.dir}">
               <include name="**/*Handler.java" />
               <include name="**/*SubTask.java" />
  +            <include name="**/*.properties" />
            </fileset>
         </copy>
      </target>
  
  
  

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to