[MOBY-guts] biomoby commit
senger@ebi.ac.uk
senger at pub.open-bio.org
Sun Mar 2 20:48:24 UTC 2003
senger
Sun Mar 2 15:48:24 EST 2003
Update of /home/repository/moby/moby-live/Java
In directory pub.open-bio.org:/tmp/cvs-serv25704
Modified Files:
Makefile README setenv.csh.template setenv.sh.template
Log Message:
updated Moby in Java, add new client, add documentation
moby-live/Java Makefile,1.2,1.3 README,1.2,1.3 setenv.csh.template,1.1,1.2 setenv.sh.template,1.2,1.3
===================================================================
RCS file: /home/repository/moby/moby-live/Java/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- /home/repository/moby/moby-live/Java/Makefile 2003/02/27 16:28:29 1.2
+++ /home/repository/moby/moby-live/Java/Makefile 2003/03/02 20:48:24 1.3
@@ -1,7 +1,7 @@
# Makefile
#
# Comments to: senger at ebi.ac.uk
-#
+# $Id$
# -----------------------------------------------------------------------------
# java compiler options
@@ -12,9 +12,14 @@
API_DOC = ${DOCS}/API
CLIENTS = Clients
+# where to generate jar files and how to name them
+LIB = lib
+JAR_DEPLOY_FILE = moby.jar
+
# some programs names
-JAVADOC = javadoc
-JAR = jar
+JAVA_HOME ?= $(shell utils/find_java_home)
+JAVADOC = ${JAVA_HOME}/bin/javadoc
+JAR = ${JAVA_HOME}/bin/jar
# for generating API documentation (uses javadoc from JDK 1.2 or later)
JAVADOC_FLAGS = -author -version -public -nodeprecatedlist \
@@ -23,16 +28,17 @@
-bottom ${C_BOTTOM} \
-windowtitle ${C_TITLE} \
-overview ${DOCS}/API-overview.html \
- -group "Moby Central/Registry" "org.biomoby.registry"
+ -group "Moby Registry Client Support" "org.biomoby.client" \
+ -group "Moby Registry Shared" "org.biomoby.shared"
# Texts for generated API documentation:
DATE = $(shell date)
-C_TITLE = 'MOBY Services in Java'
+C_TITLE = 'MOBY Registry in Java'
C_HEADER = '<font size="-1">Generated: ${DATE}</font>'
-C_BOTTOM = '<font size="-1"><a href="mailto:Mark Wilkinson <mwilkinson at gene.pbi.nrc.ca>,senger at ebi.ac.uk">Submit a bug or feature</a><BR>Generated: ${DATE}</font>'
+C_BOTTOM = '<font size="-1"><a href="mailto:mwilkinson at gene.pbi.nrc.ca,senger at ebi.ac.uk">Submit a bug or feature</a><BR>Generated: ${DATE}</font>'
# what packages to document
-PACKAGES = org.biomoby.registry
+PACKAGES = org.biomoby.shared org.biomoby.client
# -----------------------------------------------------------------------------
.PHONY: all doc clean
@@ -49,8 +55,22 @@
@cd org/biomoby/client ; ${MAKE} clean
@cd ${CLIENTS} ; ${MAKE} clean
-# The '-classpath .' is used because of a bug in the javadoc (Bug Id: 4697113, NullPointerException).
-# If your version of 'javadoc' has this bug fixed remove 'classpath .' and you will not get any
-# warnings from javadoc.
+# You may need to use '-classpath .' because of a bug in the javadoc
+# (Bug Id: 4697113, NullPointerException). If you are getting such exception,
+# use the commented line with '-classpath .' (you would get some
+# warnings but the API doc would be generated correctly).
+
+#doc:
+# ${JAVADOC} -classpath . -d ${API_DOC} ${JAVADOC_FLAGS} ${PACKAGES} \
+# ${CLIENTS}/TestingCentral.java \
+# ${CLIENTS}/MobyCmdLineClient.java
+
doc:
- ${JAVADOC} -classpath . -d ${API_DOC} ${JAVADOC_FLAGS} ${PACKAGES} ${CLIENTS}/*.java
+ ${JAVADOC} -d ${API_DOC} ${JAVADOC_FLAGS} ${PACKAGES} \
+ ${CLIENTS}/TestingCentral.java \
+ ${CLIENTS}/MobyCmdLineClient.java
+
+deploy:
+ @echo Making ${LIB}/${JAR_DEPLOY_FILE}...
+ @${JAR} c0Mf ${LIB}/${JAR_DEPLOY_FILE} `find org -name \*.class -print`
+ @cd ${CLIENTS} ; ${JAR} u0Mf ../${LIB}/${JAR_DEPLOY_FILE} *.class
===================================================================
RCS file: /home/repository/moby/moby-live/Java/README,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- /home/repository/moby/moby-live/Java/README 2003/02/27 16:37:02 1.2
+++ /home/repository/moby/moby-live/Java/README 2003/03/02 20:48:24 1.3
@@ -1,45 +1,24 @@
-*** CHANGES IN PROGRESS *** (27 February 2003) !!!
-====================================================
-(please wait few days ...)
-
This directory (and its subdirectories) contains Java clients
-accessing Moby Central services. It also has a Java interface used to
-generate a WSDL file for the Moby Central. In the future it may expand
-to include Java implementation of other Moby parts.
-
-WHAT IS AVAILABLE
------------------
-
-Package 'org.biomoby.registry' contains a Java interface to the Moby
-Central. This interface is used to generate a WSDL file. In the
-future, the package may contain more Java stuff related to the Moby
-central implementation (that's why I called it 'registry').
-
-Subdirectory 'Clients' contains clients to access Moby Central. At the
-moment, there is only one client - 'TestingCentral' that is used to
-call most of the Moby Central services with some hard-coded
-values. Its purpose is purely to show how to write such clients not to
-use it for a real work.
-
-Generated API documentation is in 'docs' directory. Point your browser
-to docs/API/index.html'.
-
-Generated docs/MobyCentral.wsdl file. It needs some more fiddling,
-however. At the moment, it does not know about necessary serializers
-and deserializers, so it is not much of use. And when using with perl
-(using 'stunmaker.pl; from SOAP::Lite) it produces code with "Deep
-recursion..." caused (probably) by the method name 'new' used by Moby
-Central.
+accessing Moby registry, and, hopefully in the future, more
+implementation of pure Java in BioMoby project.
+
+Find more in docs/index.html.
HOW TO USE IT
-------------
Set your Java environment as shown in setenv.csh.template or
setenv.sh.template. Then you can start the testing client by typing:
+
java TestingCentral
+or a more flexible command-line client by typing:
+
+ java MobyCmdLineClient -help
+
You need to have Apache Axis, Java Servlet API and XLM-parsing
-classes. One place to look for them is http://xml.apache.orh/axis.
+classes. One place to look for them is http://xml.apache.org/axis.
+
HOW TO BUILD IT
---------------
@@ -54,7 +33,7 @@
Having set the Java environment as described above type one of these:
make
make clean
- make docs
+ make doc
Notes for developers:
If you want to commit your changes back consider to copy file(s)
@@ -62,13 +41,6 @@
warning message about local files which you do not want to commit
(e.g. setenv.sh).
- My 'javadoc' (used by 'make docs' to generate an API) has a bug
-(Bug Id: 4697113) causing a NullPointerException). Therefore I put
-'-classpath .' on the line invoking javadoc. The generated API is
-complete and correct but javadoc issues few warnings about missing
-classes. If your version of 'javadoc' has this bug fixed remove the
-'-classpath .' and you will not get any warnings.
-
--------------------------------------------------------------------
Comments to the biomoby mailing lists, or directly to Martin Senger
(senger at ebi.ac.uk).
===================================================================
RCS file: /home/repository/moby/moby-live/Java/setenv.csh.template,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/Java/setenv.csh.template 2002/12/02 19:38:14 1.1
+++ /home/repository/moby/moby-live/Java/setenv.csh.template 2003/03/02 20:48:24 1.2
@@ -11,13 +11,13 @@
# -----------------------------------------------------------
# --- Apache-Axis environment
-setenv AXIS_HOME /sw/common/share/java/axis
+setenv AXIS_HOME /usr/local/java/axis
# --- servlet API classes
-setenv SERVLET_CLASSES /sw/common/share/java/jakarta-servletapi/lib/servlet.jar:/sw/common/share/java/jakarta-servletapi/lib/Software/jakarta-catalina/common/lib/activation.jar
+setenv SERVLET_CLASSES /usr/local/jakarta-servletapi/lib/servlet.jar:/usr/local/jakarta-servletapi/lib/Software/jakarta-catalina/common/lib/activation.jar
# --- access to the SAX parser classes
-setenv XML_CLASSES /sw/common/share/java/xerces2
+setenv XML_CLASSES `find /usr/local/xerces/ -name \*.jar -printf "%p:"`
# --- sometimes we need more from the Java libs
setenv JAVA_HOME /sw/arch/java/JDK2/latest
@@ -25,6 +25,9 @@
# --- a root diretory where this file is located
setenv PROJECT_HOME `pwd`
+# --- libraries of general tools
+setenv TOOLS_CLASSES ${PROJECT_HOME}/lib/alltools.jar
+
# --- remove/comment this line if you are not using 'jikes'
setenv JAVAC jikes
@@ -32,9 +35,9 @@
# Finally the CLASSPATH is created here...
# -----------------------------------------------------------
-setenv AXIS_CLASSES ${AXIS_HOME}/lib/axis.jar:${AXIS_HOME}/lib/jaxrpc.jar:${AXIS_HOME}/lib/commons-logging.jar:${AXIS_HOME}/lib/log4j-1.2.4.jar:${AXIS_HOME}/lib/saaj.jar:${AXIS_HOME}/lib/wsdl4j.jar:${AXIS_HOME}/lib/commons-discovery.jar
+setenv AXIS_CLASSES `find ${AXIS_HOME}/lib/ -name \*.jar -printf "%p:"`
-setenv CLASSPATH ${PROJECT_HOME}:${PROJECT_HOME}/Clients:${AXIS_CLASSES}:${SERVLET_CLASSES}
+setenv CLASSPATH ${PROJECT_HOME}:${PROJECT_HOME}/Clients:${TOOLS_CLASSES}:${AXIS_CLASSES}:${SERVLET_CLASSES}
# --- for using Jikes to compile Java sources
setenv JIKESPATH ${CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar
===================================================================
RCS file: /home/repository/moby/moby-live/Java/setenv.sh.template,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- /home/repository/moby/moby-live/Java/setenv.sh.template 2003/02/27 16:28:29 1.2
+++ /home/repository/moby/moby-live/Java/setenv.sh.template 2003/03/02 20:48:24 1.3
@@ -25,6 +25,9 @@
# --- a root diretory where this file is located
export PROJECT_HOME=`pwd`
+# --- libraries of general tools
+export TOOLS_CLASSES=${PROJECT_HOME}/lib/alltools.jar
+
# --- remove/comment this line if you are not using 'jikes'
export JAVAC=jikes
@@ -34,7 +37,7 @@
export AXIS_CLASSES=`find ${AXIS_HOME}/lib/ -name \*.jar -printf "%p:"`
-export CLASSPATH=${PROJECT_HOME}:${PROJECT_HOME}/Clients:${AXIS_CLASSES}:${XML_CLASSES}:${SERVLET_CLASSES}
+export CLASSPATH=${PROJECT_HOME}:${PROJECT_HOME}/Clients:${TOOLS_CLASSES}:${AXIS_CLASSES}:${XML_CLASSES}:${SERVLET_CLASSES}
# --- for using Jikes to compile Java sources
export JIKESPATH=${CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar
More information about the MOBY-guts
mailing list