You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/04/02 18:35:51 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon Main.java
dims 01/04/02 09:35:51
Modified: . Tag: xml-cocoon2 build.xml
src/org/apache/cocoon Tag: xml-cocoon2 Main.java
Log:
Support for Pre-Compiled XSP's is complete. The steps are as follows:
1. Set the "work-directory" parameter in web.xml as follows:
<init-param>
<param-name>work-directory</param-name>
<param-value>WEB-INF/classes</param-value>
</init-param>
2. Set the auto-reload to false in your cocoon.xconf as follows:
<parameter name="auto-reload" value="false"/>
3. Use "-Dcompile.xsp=yes" in your build command line when you are
building your WAR file.
Revision Changes Path
No revision
No revision
1.6.2.65 +17 -1 xml-cocoon/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-cocoon/build.xml,v
retrieving revision 1.6.2.64
retrieving revision 1.6.2.65
diff -u -r1.6.2.64 -r1.6.2.65
--- build.xml 2001/03/16 15:14:55 1.6.2.64
+++ build.xml 2001/04/02 16:35:49 1.6.2.65
@@ -322,6 +322,22 @@
<!-- =================================================================== -->
<!-- Prepares the libraries for the war package -->
<!-- =================================================================== -->
+ <target name="prepare-xsp" depends="package" if="compile.xsp">
+ <java classname="org.apache.cocoon.Main" fork="yes">
+ <arg line="-x -w ${build.war}/WEB-INF/classes -c webapp" />
+ <classpath>
+ <fileset dir="lib">
+ <include name="**/*.jar"/>
+ </fileset>
+ <pathelement location="${build.dir}/${name}.jar"/>
+ <pathelement location="${java.home}/../lib/tools.jar"/>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Prepares the libraries for the war package -->
+ <!-- =================================================================== -->
<target name="prepare-webapp-libs" depends="package" if="include.webapp.libs">
<copy todir="${build.war}/WEB-INF/lib">
<fileset dir="${lib.dir}">
@@ -340,7 +356,7 @@
<!-- =================================================================== -->
<!-- Creates the war file -->
<!-- =================================================================== -->
- <target name="webapp" depends="prepare-webapp, prepare-webapp-libs" description="Generates the war package">
+ <target name="webapp" depends="prepare-webapp, prepare-webapp-libs, prepare-xsp" description="Generates the war package">
<jar jarfile="${build.dir}/${name}.war" basedir="${build.war}" includes="**"/>
</target>
No revision
No revision
1.1.4.28 +35 -8 xml-cocoon/src/org/apache/cocoon/Attic/Main.java
Index: Main.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/Attic/Main.java,v
retrieving revision 1.1.4.27
retrieving revision 1.1.4.28
diff -u -r1.1.4.27 -r1.1.4.28
--- Main.java 2001/03/19 17:08:32 1.1.4.27
+++ Main.java 2001/04/02 16:35:50 1.1.4.28
@@ -44,13 +44,14 @@
import org.apache.log.Priority;
import org.apache.log.Category;
import org.apache.log.output.FileOutputLogTarget;
+import org.apache.log.output.DefaultOutputLogTarget;
import org.apache.log.LogTarget;
/**
* Command line entry point.
*
* @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.1.4.27 $ $Date: 2001/03/19 17:08:32 $
+ * @version CVS $Revision: 1.1.4.28 $ $Date: 2001/04/02 16:35:50 $
*/
public class Main {
@@ -109,7 +110,7 @@
String workDir = Constants.DEFAULT_WORK_DIR;
List targets = new ArrayList();
CLArgsParser parser = new CLArgsParser(args, options);
- String logUrl = "logs/cocoon.log";
+ String logUrl = null;
String logLevel = "DEBUG";
boolean xspOnly = false;
@@ -161,8 +162,10 @@
try {
LogKit.setGlobalPriority(LogKit.getPriorityForName(logLevel));
Category cocoonCategory = LogKit.createCategory("cocoon", LogKit.getPriorityForName(logLevel));
-
- log = LogKit.createLogger(cocoonCategory,new LogTarget[] {new FileOutputLogTarget(logUrl)});
+ if(logUrl == null)
+ log = LogKit.createLogger(cocoonCategory,new LogTarget[] {new DefaultOutputLogTarget(System.out)});
+ else
+ log = LogKit.createLogger(cocoonCategory,new LogTarget[] {new FileOutputLogTarget(logUrl)});
} catch (MalformedURLException mue) {
String error = "Cannot write on the specified log file. Please, make sure the path exists and you have write permissions.";
LogKit.log(error, mue);
@@ -191,7 +194,7 @@
System.exit(1);
}
- if (targets.size() == 0) {
+ if (targets.size() == 0 && xspOnly == false) {
String error = "Please, specify at least one starting URI.";
log.error(error);
System.out.println(error);
@@ -199,7 +202,9 @@
}
try {
- File dest = getDir(destDir, "destination");
+ File dest = null;
+ if(!xspOnly)
+ dest = getDir(destDir, "destination");
File work = getDir(workDir, "working");
File context = getDir(contextDir, "context");
File conf = getConfigurationFile(context);
@@ -215,7 +220,8 @@
c.init();
Main main = new Main(c, context, dest);
main.warmup();
- main.process(targets, xspOnly);
+ if(main.process(targets, xspOnly)==0)
+ main.recursivelyProcessXSP(context, context);
c.dispose();
log.info("Done");
} catch (Exception e) {
@@ -317,7 +323,8 @@
/**
* Process the URI list and process them all independently.
*/
- public void process(Collection uris, boolean xspOnly) throws Exception {
+ public int process(Collection uris, boolean xspOnly) throws Exception {
+ int nCount = 0;
log.info("...ready, let's go:");
Iterator i = uris.iterator();
while (i.hasNext()) {
@@ -325,6 +332,26 @@
this.processXSP(NetUtils.normalize((String) i.next()));
else
this.processURI(NetUtils.normalize((String) i.next()), 0);
+ nCount++;
+ }
+ return nCount;
+ }
+
+ /**
+ * Recurse the directory hierarchy and process the XSP's.
+ */
+ public void recursivelyProcessXSP(File contextDir, File file) {
+ if (file.isDirectory()) {
+ String entries[] = file.list();
+ for (int i = 0; i < entries.length; i++) {
+ recursivelyProcessXSP(contextDir, new File(file, entries[i]));
+ }
+ } else if(file.getName().toLowerCase().endsWith(".xsp")) {
+ try {
+ this.processXSP(IOUtils.getContextFilePath(contextDir.getCanonicalPath(),file.getCanonicalPath()));
+ } catch (Exception e){
+ //Ignore for now.
+ }
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org