roller提供下载的源程序不完整?

  今天开始上班了,我把roller的源文件导入到eclipse2.1中,准备好好学习一下其中的rss部分。但是,我发现编译不能通过,报告缺少了不少*.java文件,例如:有一个文件org.roller.presentation.website.formbeans.UserAdminForm.java,其中引入了文件org.roller.presentation.forms.UserForm.java,但是后者在源码包中根本就没有。还有太多的类似情况,不知是怎么一回事?

  我再把svn仓库中的源文件下载下来看看。svn地址:http://svn.apache.org/viewcvs.cgi/incubator/roller

2 thoughts on “roller提供下载的源程序不完整?”

  1. Xdoclet target摘自roller trunk中的build.xml片断:

    <!-- ********************************************************************* -->

    <!-- XDoclet code generation -->

    <!-- ********************************************************************* -->

    <target name="generate" depends="gen-forms,gen-hibernate,gen-web,gen-wrappers" >

    </target>

    <!-- ============================================== -->

    <!-- generate Struts forms -->

    <target name="gen-forms" description="XDoclet generate form beans">

        <!-- Define the XDoclet xdoclet task -->

        <taskdef  name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask"

            classpathref="xdoclet.path" />

        <mkdir dir="${build.generated}/src.presentation"/>

        <mkdir dir="${build.generated}/src.business"/>

        <mkdir dir="${build.generated}/META-INF"/>

        <mkdir dir="${ro.build}/junk"/>

        <!-- Use EJBDoclet to generate Struts forms -->

        <ejbdoclet destdir="${build.generated}/src" excludedtags="@version,@author">

    <fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />

            <fileset dir="./src" includes="org/roller/pojos/*Data.java" />

            <fileset dir="./src" includes="org/roller/business/*Data.java" />

            &custom-gen-web;

        

            <!-- Generate Struts forms -->

            <strutsform destdir="${build.generated}/src.presentation"

                prefixWithPackageStructure="no"

                templateFile="./metadata/xdoclet/struts_form.xdt">

                <!-- into the org.roller.presentation.forms package -->

                <packageSubstitution packages="pojos"

                    substituteWith="presentation.forms"/>

                <packageSubstitution packages="presentation"

                    substituteWith="presentation.forms"/>

            </strutsform>

            <!-- We are not actually generating data objects, but using the

                 dataobject subtask allows the strutsform subtask to add nice

                 constructors and setData methods to Struts forms -->

            <dataobject destdir="${ro.build}/junk" pattern="{0}" />

        </ejbdoclet>

        <copy todir="./personal/testing">

            <fileset dir="${build.generated}" includes="mapping.xml"/>

        </copy>

        <!-- Change Struts form names from *DataForm.java to *Form.java  -->

        <replace dir="${build.generated}/src.presentation/org/roller/presentation/forms"

            token="DataForm" value="Form"/>

        <move todir="${build.generated}/src.presentation/org/roller/presentation/forms">

            <fileset dir="${build.generated}/src.presentation/org/roller/presentation/forms" >

                <include name="*DataForm.java"/>

                <include name="*ConfigForm.java" />

            </fileset>

            <mapper type="glob" from="*DataForm.java" to="*Form.java"/>

        </move>

    </target>

    <!-- ============================================== -->

    <!-- generate Hibernate mappings -->

    <target name="gen-hibernate" description="XDoclet Generate Hibernate mappings">

        <taskdef name="hibernatedoclet"

            classname="xdoclet.modules.hibernate.HibernateDocletTask"

            classpathref="xdoclet.path" />

        <!-- generate hibernate files -->

        <hibernatedoclet

            destdir="${build.compile_beans}"

            mergedir="./metadata/xdoclet"

            excludedtags="@version,@author"

            addedtags="@xdoclet-generated at ${TODAY}"

            force="true">

    <fileset dir="./src" includes="org/roller/pojos/WeblogTemplate.java" />

            <fileset dir="./src" includes="org/roller/pojos/*Data.java" />

            <fileset dir="./src" includes="org/roller/pojos/*Assoc.java" />

            <fileset dir="./src" includes="org/roller/business/*Data.java" />

            &custom-gen-beans;

            <hibernate validatexml="true" version="3.0"/>

        </hibernatedoclet>

    </target>

    <!-- ============================================== -->

    <!-- Generate web deployment descriptors -->

    <target name="gen-web" description="XDoclet generate web depoyment descriptors">

        <!-- Define the XDoclet webdoclet task -->

        <taskdef  name="webdoclet" classname="xdoclet.modules.web.WebDocletTask"

            classpathref="xdoclet.path" />

        <!-- Use WebDoclet to web.xml, struts-config.xml, and TLDs -->

        <mkdir dir="${build.stage_web}/WEB-INF"/>

        <mkdir dir="${build.compile_web}/META-INF/tlds"/>

        <webdoclet force="true"

            destdir="${build.stage_web}/WEB-INF"

            mergedir="./metadata/xdoclet"

            excludedtags="@version,@author">

           

            <fileset dir="./src">

                <!-- Speed up XDoclet by limiting number of files it has to process -->

                <include name="**/*Action.java" />

                <include name="**/*Filter.java" />

                <include name="**/*Form.java" />

                <include name="**/*FormEx.java" />

                <include name="**/*Servlet.java" />

                <include name="**/*Tag.java" />

                <include name="org/roller/presentation/**/actions/*.java" />

                <include name="org/roller/presentation/RollerContext.java" />

                <include name="org/roller/presentation/RollerSession.java" />

                <exclude name="**/IPBanFilter**" />

                <exclude name="**/LinkTag**" />

                <exclude name="**/LinkParamTag**" />

            </fileset>

            <fileset dir="${build.generated}/src.presentation">

                <include name="**/*Form.java" />

            </fileset>

            &custom-gen-web;

            <deploymentdescriptor servletspec="2.3"

                 destdir="${build.stage_web}/WEB-INF"

                 sessiontimeout="30"

                 displayname="Roller Weblogger">

            </deploymentdescriptor>

            <jsptaglib jspversion="1.2" filename="roller.tld" shortname="roller"

                uri="http://www.rollerweblogger.org/tags"

                destdir="${build.compile_web}/META-INF/tlds"/>

            <strutsconfigxml destdir="${build.stage_web}/WEB-INF"

                validatexml="true" mergedir="./metadata/xdoclet" version="1.1" />

            <strutsvalidationxml/>

        </webdoclet>

    </target>

    <!-- ============================================== -->

    <!-- Generate pojo wrappers -->

    <target name="gen-wrappers" description="XDoclet generate pojo wrappers">

        <!-- Define the XDoclet task -->

        <taskdef  name="xdoclet" classname="xdoclet.DocletTask"

            classpathref="xdoclet.path" />

       

        <xdoclet destdir="${build.generated}/src.business">

           

            <packageSubstitution packages="pojos" substituteWith="pojos.wrapper"/>

           

            <fileset dir="./src">

                <!--

                    it may be easier to glob using *Data.java at some point, but

                    for now that will generate a lot of unneeded classes.

                   

                    maybe we can extend the process to only wrap classes that have

                    methods tagged with @roller.wrapPojoMethod ??

                -->

                <include name="org/roller/pojos/BookmarkData.java"/>

                <include name="org/roller/pojos/CommentData.java"/>

                <include name="org/roller/pojos/EntryAttributeData.java"/>

                <include name="org/roller/pojos/FolderData.java"/>

                <include name="org/roller/pojos/RefererData.java"/>

                <include name="org/roller/pojos/Template.java"/>

                <include name="org/roller/pojos/UserData.java"/>

                <include name="org/roller/pojos/WeblogEntryData.java"/>

                <include name="org/roller/pojos/WeblogCategoryData.java"/>

                <include name="org/roller/pojos/WebsiteData.java"/>

            </fileset>

            <template

                destinationFile="{0}Wrapper.java"

                templateFile="metadata/xdoclet/pojo_wrapper.xdt"

                subTaskName="Pojo Wrappers" />

        </xdoclet>

           

    </target>

Comments are closed.