[MOBY-guts] biomoby commit

Paul Gordon gordonp at dev.open-bio.org
Fri Nov 24 21:10:39 UTC 2006


gordonp
Fri Nov 24 16:10:39 EST 2006
Update of /home/repository/moby/moby-live/Java/xmls
In directory dev.open-bio.org:/tmp/cvs-serv29171/xmls

Modified Files:
	seahawkBuild.xml 
Log Message:
Added ability to automatically deploy a signed applet (if you have a signing certificate, of course)
moby-live/Java/xmls seahawkBuild.xml,1.4,1.5
===================================================================
RCS file: /home/repository/moby/moby-live/Java/xmls/seahawkBuild.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- /home/repository/moby/moby-live/Java/xmls/seahawkBuild.xml	2006/11/23 19:28:59	1.4
+++ /home/repository/moby/moby-live/Java/xmls/seahawkBuild.xml	2006/11/24 21:10:39	1.5
@@ -2,16 +2,23 @@
 <!-- It contains targets for the Seahawk MOBY-S client      -->
 <!-- ====================================================== -->
 
+  <!-- This block is site-specific parameters (2) for applet deployment, they'll go in a properties file shortly. -->
+  <property name="seahawk_applet.dir" location="/export/data/web/bluejay/java/seahawk"/>
+  <property name="cert.alias" value="mycert"/>  <!-- Verisign certificate name -->
+
   <!-- Class containing a static main method to luanch the MOBY browser as a standalone app -->
   <property name="seahawk.classname" value="ca.ucalgary.seahawk.gui.MobyContentGUI"/>
   <!-- Test class that will call all of the major functionality of Seahawk (for testing, plus automated minimal app-jar building ) -->
   <property name="seahawk.auto.classname" value="ca.ucalgary.seahawk.gui.test.SeahawkTestCase"/>
   <!-- What to call the jar file for the standalone SeaHawk app -->
   <property name="seahawk.jarname" value="seahawk"/>
-  <property name="seahawk.manifest" value="${scratch.dir}/SEAHAWK_MANIFEST.MF"/>
   <property name="seahawk_splash.app" value="ca/ucalgary/seahawk/gui/SeahawkSplasher*.class"/>
   <property name="seahawk_splash.image" value="ca/ucalgary/seahawk/resources/images/seahawk_splash.jpg"/>
 
+  <property name="splash.appGUI" value="ca/ucalgary/seahawk/util/SplashWindow.class"/>
+  <property name="splash.appGUIHelper" value="ca/ucalgary/seahawk/util/SplashWindow$1.class"/>
+  <property name="splash.jar" value="launcher.jar"/>
+
   <property name="jarmaker.dir" location="${build.dir}/jarmaker"/>
   <property name="jarmaker.fullname" value="ca.ucalgary.seahawk.util.MinJarMaker"/>
   <property name="jarmaker.name" value="MinJarMaker"/>
@@ -49,13 +56,16 @@
   <property name="build.clients.absolute" location="${build.clients}"/>
   <target name="seahawk-jar" depends="compile, make_maker" description="(User) Builds the Seahawk MOBY-S interface as a standalone JAR">
     <echo message="Building seahawk standalone JAR to ${build.clients.absolute}"/>
-    <echo message="Note that the test cases run will hijack your desktop for a few minutes, please don't try to do anything else!" level="info"/>
+    <echo message="Note that the test cases run will hijack your desktop for a few minutes."/>
+    <echo message="Don't touch your mouse!  Sit back. Relax. Have a cup of tea." level="info"/>
     <java dir="${jarmaker.dir}" jvm="${jarmaker.virgin_jvm}" classname="${jarmaker.fullname}" fork="true" maxmemory="64m">
       <classpath>
 	<pathelement path="${jarmaker.dir}"/>
       </classpath>
 	<jvmarg value="-D${jarmaker.classPathProperty}=${scp}"/>
 	<jvmarg value="-D${jarmaker.manifestMainClassProperty}=${seahawk.classname}"/>
+	<!-- The following is a list of classes that aren't picked up by the unit
+	     tests, but which the applet might need.  -->
 	<jvmarg value="-D${jarmaker.extraClassesProperty}=org/apache/xerces/xs/*PSVI.class:org/biomoby/**Exception.class:org/apache/**Exception.class:org/apache/**Error.class:org/apache/**ErrorResources.class:org/apache/**Messages.class:org/apache/log4j/spi/*.class:org/apache/axis/utils/*.class:org/apache/**.properties:javax/**/soap/*.class:org/jdom/*.class"/>
 
 	<arg value="${build.clients.absolute}/${seahawk.jarname}.jar"/>
@@ -74,3 +84,56 @@
   </target>
 
 
+  <target name="seahawk-applet" depends="ask_keypass, seahawk-jar" description="(User) Build an applet version of the Seahawk MOBY interface">
+    <copy todir="${seahawk_applet.dir}">
+	<fileset dir="${build.clients.absolute}">
+	<include name="${seahawk.jarname}.jar"/>
+      </fileset>
+    </copy>
+
+    <signjar jar="${seahawk_applet.dir}/${seahawk.jarname}.jar"
+             alias="${cert.alias}" storepass="${cert.keypass}"/>
+
+    <!-- Make sure supporting files for the applet are present.	 Rebuild main
+	 applet file each time you run, I'm assuming you ran this because you
+	 updated something -->
+	<jar destfile="${seahawk_applet.dir}/${splash.jar}"
+		filesonly="true"
+		update="false"
+		compress="true"
+		includes="${seahawk_splash.app} ${splash.appGUI} ${splash.appGUIHelper}"
+		basedir="${build.classes}"/>
+	<jar destfile="${seahawk_applet.dir}/${splash.jar}"
+		filesonly="true"
+		update="true"
+		compress="true"
+		includes="${seahawk_splash.image}"
+		basedir="${src.main}">
+    	    <manifest>	
+		<attribute name="Built-By" value="${user.name}"/>
+		<attribute name="Main-Class" value="${seahawk.class}"/>
+		<section name="common">
+		<attribute name="Implementation-Title" value="Seahawk: A Browser for MOBY-S Web Services"/>
+		<attribute name="Implementation-Version" value="${version}"/>
+		<attribute name="Implementation-Vendor"
+                   value="University of Calgary, Sun Center of Excellence for Visual Genomics"/>
+		</section>
+    	    </manifest>
+        </jar>
+	<echo message="Indexing JAR files (index in ${seahawk_applet.dir}/${splash.jar}) for faster class-loading at startup" level="info"/>
+    <apply executable="jar" dir="${seahawk_applet.dir}" parallel="true"
+	   failonerror="true" output="${splash.jar}" relative="true">
+	<arg value="ivf"/>
+	<arg value="${splash.jar}"/>
+	<filelist dir="${seahawk_applet.dir}" files="${splash.jar} ${seahawk.jarname}.jar"/>
+    </apply>
+
+    <signjar jar="${seahawk_applet.dir}/${splash.jar}"
+             alias="${cert.alias}" storepass="${cert.keypass}"/>
+
+  </target>
+
+  <target name="ask_keypass"
+	  description="(Internal) Used by targets Verisigning the code archives">
+    <input message="Please enter the keystore password for code signing:" addproperty="cert.keypass"/>
+  </target>




More information about the MOBY-guts mailing list