You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ke...@apache.org on 2004/10/25 06:56:12 UTC
svn commit: rev 55487 - in incubator/beehive/trunk: controls/src/runtime/org/apache/beehive/controls/runtime/generator netui/ant netui/src/compiler/org/apache/beehive/netui/compiler netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls/methodTest netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid/controls netui/test/webapps/drt/coreWeb/WEB-INF/src/miscJpf/bug21124 netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/lifecycle netui/test/webapps/drt/coreWeb/databinding/controls/methodTest netui/test/webapps/drt/coreWeb/databinding/datagrid/controls netui/test/webapps/drt/coreWeb/miscJpf/bug21124 netui/test/webapps/drt/coreWeb/pageFlowCore/lifecycle samples/petstoreWeb samples/petstoreWeb/webappRoot test/ant
Author: kentam
Date: Sun Oct 24 21:56:11 2004
New Revision: 55487
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls/methodTest/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls/methodTest/MethodTest.java
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/controls/methodTest/MethodTest.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/controls/methodTest/MethodTestImpl.jcs
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/controls/methodTest/MethodTestImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid/controls/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid/controls/PortfolioControl.java
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/controls/PortfolioControl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/databinding/datagrid/controls/PortfolioControlImpl.jcs
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/controls/PortfolioControlImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/miscJpf/bug21124/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/miscJpf/bug21124/Ctrl.java
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miscJpf/bug21124/Ctrl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/miscJpf/bug21124/CtrlImpl.jcs
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miscJpf/bug21124/CtrlImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/lifecycle/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/lifecycle/TestControl.java
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/lifecycle/TestControl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/lifecycle/TestControlImpl.jcs
- copied unchanged from rev 55465, incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/lifecycle/TestControlImpl.jcs
incubator/beehive/trunk/samples/petstoreWeb/webappRoot/
incubator/beehive/trunk/samples/petstoreWeb/webappRoot/SharedFlow.jpfs
- copied unchanged from rev 55468, incubator/beehive/trunk/samples/petstoreWeb/SharedFlow.jpfs
Removed:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/controls/methodTest/MethodTest.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/controls/methodTest/MethodTestImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/controls/PortfolioControl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/controls/PortfolioControlImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miscJpf/bug21124/Ctrl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miscJpf/bug21124/CtrlImpl.jcs
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/lifecycle/TestControl.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/lifecycle/TestControlImpl.jcs
incubator/beehive/trunk/samples/petstoreWeb/SharedFlow.jpfs
Modified:
incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptTask.java
incubator/beehive/trunk/netui/ant/webappTemplate.xml
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java
incubator/beehive/trunk/test/ant/buildWebappCore.xml
Log:
Beehive webapp build process fixes and standardization, needed to make the petstore clean/build cycle work.
1) the Beehive webapp build process now builds all Java code using apt, instead of trying to figure out what
.java files use annotations and which ones don't.
2) All Java code (including controls -- *.jcx and *.jcs files) should be kept under WEB-INF/src.
3) To work around apt issues, shared pageflows that would normally be in the root of the webapp should instead
be in a directory under the webapp root called "webappRoot" (and should be declared as being in the "webappRoot"
package).
Modified: incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptTask.java
==============================================================================
--- incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptTask.java (original)
+++ incubator/beehive/trunk/controls/src/runtime/org/apache/beehive/controls/runtime/generator/AptTask.java Sun Oct 24 21:56:11 2004
@@ -18,22 +18,19 @@
* $Header:$
*/
-import java.io.File;
-import java.io.IOException;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.Javac;
import org.apache.tools.ant.types.Commandline;
-import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.util.GlobPatternMapper;
import org.apache.tools.ant.util.SourceFileScanner;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.StringTokenizer;
+import java.util.Vector;
/**
* The AptTask class defines a custom ANT task for invoking APT-based code generation. It
Modified: incubator/beehive/trunk/netui/ant/webappTemplate.xml
==============================================================================
--- incubator/beehive/trunk/netui/ant/webappTemplate.xml (original)
+++ incubator/beehive/trunk/netui/ant/webappTemplate.xml Sun Oct 24 21:56:11 2004
@@ -129,7 +129,11 @@
<property name="webinf.dir" location="${webapp.dir}/WEB-INF"/>
<delete dir="${resource.dir.name}" quiet="true"/>
+
+ <!-- This seems wrong, we shouldn't delete files that aren't generated -->
+ <!--
<delete file="${webinf.dir}/netui-config.xml" quiet="true"/>
+ -->
<delete quiet="true">
<fileset dir="${webapp.dir}">
Modified: incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java
==============================================================================
--- incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java (original)
+++ incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/PageFlowChecker.java Sun Oct 24 21:56:11 2004
@@ -90,7 +90,20 @@
{
File[] sharedFlowFiles = i.listFiles( SHARED_FLOW_FILE_FILTER );
boolean atWebappRoot = i.equals( getWebappRoot() );
-
+
+ // HACK: apt doesn't like files whose pkg decl is inconsistent with its directory location,
+ // so when looking for a shared pageflow in the webapp root, we additionally look in a special
+ // subdir named "webappRoot". This should all go away when shared pageflow usage is declared with
+ // annotations.
+ if ( atWebappRoot )
+ {
+ if ( sharedFlowFiles == null || sharedFlowFiles.length == 0 )
+ {
+ File specialRootPkg = new File( i, "webappRoot" );
+ sharedFlowFiles = specialRootPkg.listFiles( SHARED_FLOW_FILE_FILTER );
+ }
+ }
+
if ( sharedFlowFiles != null && sharedFlowFiles.length > 0 )
{
File sfFile = sharedFlowFiles[0];
@@ -99,14 +112,14 @@
getEnv().getTypeDeclaration( WEBAPP_ROOT_PACKAGE + '.'
+ CompilerUtils.removeFileExtension( sfFile.getName() ) ):
CompilerUtils.inferTypeFromFile( sfFile, webappRootPath, getEnv() );
-
+
if ( sfType != null && CompilerUtils.isAssignableFrom( SHARED_FLOW_BASE_CLASS, sfType, getEnv() ) )
{
sharedFlowFileHierarchy.add( sfFile );
sharedFlowTypeHierarchy.add( sfType );
}
}
-
+
if ( atWebappRoot ) break;
}
Modified: incubator/beehive/trunk/test/ant/buildWebappCore.xml
==============================================================================
--- incubator/beehive/trunk/test/ant/buildWebappCore.xml (original)
+++ incubator/beehive/trunk/test/ant/buildWebappCore.xml Sun Oct 24 21:56:11 2004
@@ -80,11 +80,10 @@
classgendir="${webapp.dir}/WEB-INF/classes"
failonerror="true"/>
- <!-- .java source build -->
- <echo>========== Complie Java source in WEB-INF/src ==========</echo>
- <javac srcdir="${webapp.dir}/WEB-INF/src" destdir="${webapp.dir}/WEB-INF/classes"
- classpathref="webapp.build.classpath"/>
-
+ <!-- Java and Controls build -->
+ <!-- Since some .java files have annotations, we want to make sure we compile them using apt. -->
+ <!-- apt generates intermediate files Java files into a tmp directory; WEB-INF/${tmp.sourcegen.dir} here -->
+ <echo>========== Compile Java sources in WEB-INF/src, including controls ==========</echo>
<echo>netui-compiler.jar: ${netui-compiler.jar}</echo>
<echo>controls.jar: ${controls.jar}</echo>
@@ -93,11 +92,8 @@
classpath="${controls.jar};${netui-compiler.jar}"
onerror="report"/>
- <!-- Controls build -->
- <!-- apt generates intermediate files Java files into a tmp directory; WEB-INF/${tmp.sourcegen.dir} here -->
- <echo>========== Generate and compile controls ==========</echo>
<mkdir dir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}"/>
- <apt srcdir="${webapp.dir}"
+ <apt srcdir="${webapp.dir}/WEB-INF/src"
destdir="${webapp.dir}/WEB-INF/classes"
gendir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}"
classpathref="controls.build.classpath"