今天开始上班了,我把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提供下载的源程序不完整?”
Comments are closed.
下载了其中的trunk文件夹和branch中的1.2版。
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>