Author: psharples
Date: Thu Feb  3 12:58:57 2011
New Revision: 1066800

URL: http://svn.apache.org/viewvc?rev=1066800&view=rev
Log:
Adding resources to allow ant tasks for building a source release, a war 
release and a standalone release

Added:
    incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml   (with props)
    incubator/wookie/branches/0.9.x/etc/release/
    incubator/wookie/branches/0.9.x/etc/release/standalone/
    incubator/wookie/branches/0.9.x/etc/release/standalone/README
    incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.bat
    incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.sh
    incubator/wookie/branches/0.9.x/etc/release/standalone/startup.bat
    incubator/wookie/branches/0.9.x/etc/release/standalone/startup.sh
    incubator/wookie/branches/0.9.x/etc/release/war/
    incubator/wookie/branches/0.9.x/etc/release/war/README
Modified:
    incubator/wookie/branches/0.9.x/build.properties
    incubator/wookie/branches/0.9.x/build.xml
    incubator/wookie/branches/0.9.x/ivy.xml

Added: incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml (added)
+++ incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml Thu Feb  3 
12:58:57 2011
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+               Licensed to the Apache Software Foundation (ASF) under one or 
more
+               contributor license agreements. See the NOTICE file distributed 
with
+               this work for additional information regarding copyright 
ownership.
+               The ASF licenses this file to You under the Apache License, 
Version
+               2.0 (the "License"); you may not use this file except in 
compliance
+               with the License. You may obtain a copy of the License at
+
+               http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+               applicable law or agreed to in writing, software distributed 
under the
+               License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
OR
+               CONDITIONS OF ANY KIND, either express or implied. See the 
License for
+               the specific language governing permissions and limitations 
under the
+               License.
+       -->
+<project xmlns:ivy="antlib:org.apache.ivy.ant">
+
+       <import file="ivy-java-common.xml" />
+       <import file="ivy-webapp-common.xml" />
+
+       <tstamp />
+       <property name="wookie.source.folder.name" value="wookie-source" />
+       <property name="wookie.war.folder.name" value="wookie-war" />
+       <property name="wookie.standalone.folder.name" 
value="wookie-standalone" />
+       <property name="wookie.source.zip.name"
+               value="org.apache.incubator.wookie-source-${version}-${DSTAMP}" 
/>      
+       <property name="wookie.standalone.zip.name"
+               
value="org.apache.incubator.wookie-standalone-${version}-${DSTAMP}" />
+       <property name="wookie.war.name"
+               value="org.apache.incubator.wookie-war-${version}-${DSTAMP}" />
+
+
+       <target name="build-release-all"
+               depends="build-release-src, build-release-standalone, 
build-release-war">
+               <echo>Building all releases</echo>
+       </target>
+
+       <target name="build-release-src" depends="">
+               <echo>Building source release</echo>
+               <mkdir dir="${wookie.release.dir}/" />
+               
+               <zip 
destfile="${wookie.release.dir}/${wookie.source.zip.name}.zip"
+                      basedir="."
+                       includes=".settings/, 
+                       ant/, 
+                       connector/, 
+                       docs/,
+                       etc/, 
+                       features/, 
+                       licenses/, 
+                       parser/,
+                       project_admin/, 
+                       schemas/,
+                       scripts/, 
+                       shindig/, 
+                       src/,
+                       src-tests/, 
+                       tutorials/, 
+                       WebContent/, 
+                       widgets/,
+                       .classpath,
+                       .project,
+                       build.properties,
+                       build.xml,
+                       ivy.xml,
+                       LICENSE,
+                       NOTICE,
+                       readme.txt"   
+                 />
+               
+               <!-- tar -->
+               <tar 
destfile="${wookie.release.dir}/${wookie.source.zip.name}.tar.gz"
+                       compression="gzip">
+                       <zipfileset 
src="${wookie.release.dir}/${wookie.source.zip.name}.zip" />
+               </tar>
+               
+       </target>
+
+       <target name="build-release-war" depends="compile-core, deploy-webapp, 
post-deploy-webapp">
+               <echo>Building war release</echo>
+               <delete dir="${wookie.release.dir}/${wookie.war.folder.name}" />
+               <mkdir 
dir="${wookie.release.dir}/${wookie.war.folder.name}/build/scripts/" />
+
+               <!-- build war file -->
+               <war
+                       
destfile="${wookie.release.dir}/${wookie.war.folder.name}/build/wookie.war"
+                       webxml="${build.dir}/webapp/wookie/WEB-INF/web.xml">
+                       <lib dir="${build.dir}/webapp/wookie/WEB-INF/lib" />
+                       <classes 
dir="${build.dir}/webapp/wookie/WEB-INF/classes" />
+                       <fileset dir="${build.dir}/webapp/wookie/">
+                               <exclude name="WEB-INF/classes/" />
+                               <exclude name="WEB-INF/lib/" />
+                       </fileset>
+               </war>
+
+               <!-- copy sql scripts across -->
+               <copy 
todir="${wookie.release.dir}/${wookie.war.folder.name}/build/scripts/">
+                       <fileset 
dir="${build.dir}/classes/org/apache/wookie/beans/jpa/">
+                               <include name="*.sql" />
+                       </fileset>
+               </copy>
+
+               <!-- copy readme, licenses, etc -->
+               <copy file="etc/release/war/README"
+                       
tofile="${wookie.release.dir}/${wookie.war.folder.name}/build/README"
+                       overwrite="yes" />
+               <copy file="NOTICE"
+                       
tofile="${wookie.release.dir}/${wookie.war.folder.name}/build/NOTICE"
+                       overwrite="yes" />
+               <copy file="LICENSE"
+                       
tofile="${wookie.release.dir}/${wookie.war.folder.name}/build/LICENSE"
+                       overwrite="yes" />
+
+               <copy file="${etc.dir}/tomcat/conf/jpa-context.xml" 
tofile="${wookie.release.dir}/${wookie.war.folder.name}/build/${ant.project.name}.xml"
 overwrite="true">
+                       <filterset>
+                               <filter token="DATABASE_USER" value="java" />
+                               <filter token="DATABASE_PASSWORD" value="java" 
/>
+                               <filter token="DATABASE_DRIVER" 
value="com.mysql.jdbc.Driver" />
+                               <filter token="DATABASE_URI" 
value="jdbc:mysql://localhost:3306/widgetdb" />
+                       </filterset>
+               </copy>
+
+               <!-- zip -->
+               <zip destfile="${wookie.release.dir}/${wookie.war.name}.zip" 
basedir="${wookie.release.dir}/${wookie.war.folder.name}/build/" update="true" 
/>
+
+               <!-- tar -->
+               <tar destfile="${wookie.release.dir}/${wookie.war.name}.tar.gz"
+                       compression="gzip">
+                       <zipfileset 
src="${wookie.release.dir}/${wookie.war.name}.zip" />
+               </tar>
+
+               <!-- clean up -->
+               <delete dir="${wookie.release.dir}/${wookie.war.folder.name}" />
+
+       </target>
+
+       <target name="build-release-standalone" depends="compile-core, 
deploy-webapp, post-deploy-webapp">
+
+               <echo>Building standalone release</echo>
+               <delete 
dir="${wookie.release.dir}/${wookie.standalone.folder.name}" />
+               <mkdir 
dir="${wookie.release.dir}/${wookie.standalone.folder.name}/build/" />
+               <mkdir 
dir="${wookie.release.dir}/${wookie.standalone.folder.name}/lib/" />
+               <mkdir 
dir="${wookie.release.dir}/${wookie.standalone.folder.name}/etc/" />
+
+               <copy 
todir="${wookie.release.dir}/${wookie.standalone.folder.name}/build/">
+                       <fileset dir="${build.dir}/">
+                               <exclude name="classes/" />
+                               <exclude name="widgets/" />
+                               <exclude name="**/*.java" />
+                       </fileset>
+               </copy>
+
+               <copy 
todir="${wookie.release.dir}/${wookie.standalone.folder.name}/">
+                       <fileset dir="etc/release/standalone/" />
+               </copy>
+
+               <copy file="./etc/jetty-realm.properties"
+                       
tofile="${wookie.release.dir}/${wookie.standalone.folder.name}/etc/jetty-realm.properties"
 />
+               <copy file="NOTICE"
+                       
tofile="${wookie.release.dir}/${wookie.standalone.folder.name}/NOTICE"
+                       overwrite="yes" />
+               <copy file="LICENSE"
+                       
tofile="${wookie.release.dir}/${wookie.standalone.folder.name}/LICENSE"
+                       overwrite="yes" />
+
+               <ivy:retrieve conf="runtime"
+                       
pattern="${wookie.release.dir}/${wookie.standalone.folder.name}/lib/[artifact]-[revision].[ext]"
 />
+
+               <zip 
destfile="${wookie.release.dir}/${wookie.standalone.zip.name}.zip"
+                       basedir="${wookie.release.dir}/" 
includes="${wookie.standalone.folder.name}/"
+                       update="true" />
+
+               <tar 
destfile="${wookie.release.dir}/${wookie.standalone.zip.name}.tar.gz"
+                       compression="gzip">
+                       <zipfileset 
src="${wookie.release.dir}/${wookie.standalone.zip.name}.zip" />
+               </tar>
+
+               <delete 
dir="${wookie.release.dir}/${wookie.standalone.folder.name}" />
+       </target>
+
+</project>
\ No newline at end of file

Propchange: incubator/wookie/branches/0.9.x/ant/ivy-release-common.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/wookie/branches/0.9.x/build.properties
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/build.properties?rev=1066800&r1=1066799&r2=1066800&view=diff
==============================================================================
--- incubator/wookie/branches/0.9.x/build.properties (original)
+++ incubator/wookie/branches/0.9.x/build.properties Thu Feb  3 12:58:57 2011
@@ -53,6 +53,9 @@ servletEngine.webapp.dir=build/webapp
 build.dir=build
 ivy.repository.dir=ant
 
+# Wookie release properties
+wookie.release.dir=release
+
 # Wookie connector framework properties
 wookie.connector.dir=connector
 

Modified: incubator/wookie/branches/0.9.x/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/build.xml?rev=1066800&r1=1066799&r2=1066800&view=diff
==============================================================================
--- incubator/wookie/branches/0.9.x/build.xml (original)
+++ incubator/wookie/branches/0.9.x/build.xml Thu Feb  3 12:58:57 2011
@@ -32,6 +32,7 @@
   <property name="compilerargs" value="-Aopenjpa.metamodel=true" />
 
   <import file="ant/ivy-webapp-common.xml"/>
+  <import file="ant/ivy-release-common.xml"/>  
   <property file="${project.core.src.dir}/widgetserver.properties"/>
   <property name="servletEngine.repository.dir" 
location="${servletEngine.webapp.dir}/../repository"/>
        

Added: incubator/wookie/branches/0.9.x/etc/release/standalone/README
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/standalone/README?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/standalone/README (added)
+++ incubator/wookie/branches/0.9.x/etc/release/standalone/README Thu Feb  3 
12:58:57 2011
@@ -0,0 +1,26 @@
+Wookie standalone instructions
+==============================
+This folder should contain...
+
+lib
+etc
+build
+startup.sh
+startup.bat
+shutdown.sh
+shutdown.bat
+NOTICE
+LICENSE
+README (this file!)
+
+This installation of wookie is not meant for full deployment purposes, 
+rather it is intended as an easy and simple way to quickly see what wookie
+is about without the need to configure various databases and servers.
+As such it uses a preconfigured Jetty server and Derby database.
+
+Starting and stopping the server
+================================
+To start the server on windows run the startup.bat script 
+To start the server on *nix systems run the startup.sh script
+To stop the server on windows run the shutdown.bat script 
+To stop the server on *nix systems run the shutdown.sh script
\ No newline at end of file

Added: incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.bat
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.bat?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.bat (added)
+++ incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.bat Thu Feb 
 3 12:58:57 2011
@@ -0,0 +1 @@
+java -classpath 
./lib/*;./build/webapp/wookie/WEB-INF/lib/*;./build/webapp/wookie/WEB-INF/classes
 org.apache.wookie.server.Stop

Added: incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.sh
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.sh?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.sh (added)
+++ incubator/wookie/branches/0.9.x/etc/release/standalone/shutdown.sh Thu Feb  
3 12:58:57 2011
@@ -0,0 +1 @@
+java -classpath 
build/webapp/wookie/WEB-INF/lib/*:build/webapp/wookie/WEB-INF/classes:lib/* 
org.apache.wookie.server.Stop

Added: incubator/wookie/branches/0.9.x/etc/release/standalone/startup.bat
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/standalone/startup.bat?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/standalone/startup.bat (added)
+++ incubator/wookie/branches/0.9.x/etc/release/standalone/startup.bat Thu Feb  
3 12:58:57 2011
@@ -0,0 +1,7 @@
+@echo off
+set DIRNAME=.\
+set PROGARGS=
+if exist %DIRNAME%\widgetDatabase (
+       set PROGARGS="initDB=false"
+)
+java -classpath 
./lib/*;./build/webapp/wookie/WEB-INF/lib/*;./build/webapp/wookie/WEB-INF/classes
 org.apache.wookie.server.Start %PROGARGS%
\ No newline at end of file

Added: incubator/wookie/branches/0.9.x/etc/release/standalone/startup.sh
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/standalone/startup.sh?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/standalone/startup.sh (added)
+++ incubator/wookie/branches/0.9.x/etc/release/standalone/startup.sh Thu Feb  
3 12:58:57 2011
@@ -0,0 +1,5 @@
+PROGARGS=
+if [ -d ./widgetDatabase ]; then
+    PROGARGS=`initDB=false`
+fi
+java -classpath 
lib/*:build/webapp/wookie/WEB-INF/lib/*:build/webapp/wookie/WEB-INF/classes 
org.apache.wookie.server.Start $PROGARGS

Added: incubator/wookie/branches/0.9.x/etc/release/war/README
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/etc/release/war/README?rev=1066800&view=auto
==============================================================================
--- incubator/wookie/branches/0.9.x/etc/release/war/README (added)
+++ incubator/wookie/branches/0.9.x/etc/release/war/README Thu Feb  3 12:58:57 
2011
@@ -0,0 +1,66 @@
+WAR archive standalone manual configuration
+===========================================
+This folder should contain...
+
+wookie.xml
+wookie.war
+scripts
+widgets
+NOTICE
+LICENSE
+README (this file!)
+
+In order to deploy wookie onto your application server, you must...
+
+(1) Install a suitable database driver for wookie on your server (if you 
haven't already)
+(2) Create a user with the group/rolename as "widgetadmin" on your server 
installation
+       -  and give this user the credentials username=java password=java
+(3) Create a database called 'widgetDB' in your database
+(4) Create a user 'java' with the password 'java' in your database and give 
this user suitable permissions on the above database       
+(5) Run one of the sql scripts found under the scripts folder to create the 
wookie database structure
+(6) Create/configure a context.xml file under your server for wookie
+(7) Copy the wookie.war to your webapps or deploy directory
+(8) Start your server
+(9) Open your browser and goto 'http://YOURSERVERADDRESS:8080/wookie' (i.e. 
http://localhost:8080/wookie)
+
+The following text describes this process specifically for tomcat and mysql...
+
+
+Running Wookie with Tomcat and MySQL manual configuration
+=========================================================
+
+(1) Obtain a JDBC driver jar file for the database.
+       (for example the mysql driver can be downloaded from 
http://www.mysql.com/downloads/connector/j/)
+       The downloaded zip file should contain a jar file, something similar to 
mysql-connector-java-5.1.*-bin.jar
+       
+(2) Place the mysql-connector-java-5.1.*-bin.jar file into tomcats lib folder 
so it is founnd on the classpath at runtime
+       (for example in tomcat 5.5.* place this file into 
/tomcat-root/common/lib)
+       (for example in tomcat 6.0.* place this file into /tomcat-root/lib)
+
+(3) You will need to create a user with the role "widgetadmin" in your tomcat 
installation. 
+       For example, add the following line to the file 
/tomcat-root/conf/tomcat-users.xml:
+
+       <role rolename="widgetadmin"/><user username="java" password="java" 
roles="widgetadmin"/>
+       
+(4) Create a database in mysql called 'widgetdb'. 
+
+(5) Create a user in mysql 'java' with the password 'java' and give them 
suitable permisions on the widgetDB
+
+(6) Copy the file wookie.xml to your tomcat-root/conf/catalina/servername 
folder       
+       (for example in tomcat 5.5.* & 6.0.* place this file into 
/tomcat-root/conf/Catalina/localhost)
+
+(7) Locate the 'mysql-wookie-schema.sql' file found under 'scripts' and run 
this to populate the 'widgetDB' database you created
+       - NOTE: the first time you run this script, you may have to remove the 
drop foreign key statements found at the top of the script
+       
+       i.e. the statements that look similar to these..
+       
+       ALTER TABLE tablename
+    DROP FOREIGN KEY FKWidgetTablename;
+       
+       ... as the first time they won't exist.
+       
+(8) Copy the 'wookie.war' file to your deployment folder '/tomcat-root/webapps'
+
+(9) Start your server
+
+(10) Open your browser and goto 'http://YOURSERVERADDRESS:8080/wookie' (i.e. 
http://localhost:8080/wookie)

Modified: incubator/wookie/branches/0.9.x/ivy.xml
URL: 
http://svn.apache.org/viewvc/incubator/wookie/branches/0.9.x/ivy.xml?rev=1066800&r1=1066799&r2=1066800&view=diff
==============================================================================
--- incubator/wookie/branches/0.9.x/ivy.xml (original)
+++ incubator/wookie/branches/0.9.x/ivy.xml Thu Feb  3 12:58:57 2011
@@ -19,7 +19,8 @@
     
     <configurations>
       <conf name="deploy" description="Provide the necessary files and 
libraries to deploy in a production environment"/>
-         <conf name="dev" extends="deploy" description="Provide the necessary 
files and libraries to run in standalone (development) mode"/>
+      <conf name="runtime" description="Provide the libraries to run in 
standalone without the deploy libraries"/>
+         <conf name="dev" extends="deploy, runtime" description="Provide the 
necessary files and libraries to run in standalone (development) mode"/>
          <conf name="test" extends="dev" visibility="private" description="for 
our testing frameowrk"/>
          <conf name="ddlutils" visibility="private" description="Provide the 
necessary libraries to invoke DDLUtils schema generation"/>
        </configurations>
@@ -79,23 +80,23 @@
         </dependency>
 
         <!-- Libraries used in a development/test environment but not in 
deployment -->
-        <dependency org="javax.servlet" name="servlet-api" rev="2.5" 
conf="dev->default">
+        <dependency org="javax.servlet" name="servlet-api" rev="2.5" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jetty" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jetty" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jetty-util" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jetty-util" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jetty-plus" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jetty-plus" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jetty-naming" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jetty-naming" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jsp-2.1" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.3" 
conf="dev->default">
+        <dependency org="org.mortbay.jetty" name="jsp-api-2.1" rev="6.1.3" 
conf="runtime->default">
         </dependency>
-        <dependency org="org.apache.derby" name="derby" rev="10.4.2.0" 
conf="dev->default">
+        <dependency org="org.apache.derby" name="derby" rev="10.4.2.0" 
conf="runtime->default">
                </dependency>
-               <dependency org="commons-dbcp" name="commons-dbcp" rev="1.2.2" 
conf="dev->default">
+               <dependency org="commons-dbcp" name="commons-dbcp" rev="1.2.2" 
conf="runtime->default">
                </dependency>
                
                <!-- Libraries used in testing -->


Reply via email to