[jboss-cvs] JBossAS SVN: r85829 - in trunk: build and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 13 11:40:08 EDT 2009


Author: pgier
Date: 2009-03-13 11:40:08 -0400 (Fri, 13 Mar 2009)
New Revision: 85829

Added:
   trunk/README.txt
   trunk/build.bat
   trunk/build.sh
Modified:
   trunk/build/build.xml
   trunk/build/pom.xml
   trunk/thirdparty/
Log:
[JBBUILD-513] Allow the app server distribution build to be run directly from maven.

Added: trunk/README.txt
===================================================================
--- trunk/README.txt	                        (rev 0)
+++ trunk/README.txt	2009-03-13 15:40:08 UTC (rev 85829)
@@ -0,0 +1,27 @@
+JBoss Application Server
+$Id$
+
+Directory Structure
+-------------------
+build - Contains the build scripts for creating the complete JBoss AS distribution.
+component-matrix - Contains Maven configuration which controls dependency versions.
+testsuite - Contains code and build scripts for testing the application server
+thirdparty - Used during the build process
+tools - Various files used by the build (ant, maven, etc)
+
+The remaining directories contain the various components of the application server.
+
+
+Building
+-------------------
+Run the build script "./build.sh" or "build.bat"
+Or call maven directly "mvn install"
+
+Running the Testsuite
+--------------------
+Change the the testsuite directory "cd testsuite"
+Build the tests "./build.sh"
+Run the tests "./build.sh tests"
+
+
+


Property changes on: trunk/README.txt
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2009-03-13 15:16:37 UTC (rev 85828)
+++ trunk/build/build.xml	2009-03-13 15:40:08 UTC (rev 85829)
@@ -1017,7 +1017,7 @@
   <target name="maven-install" description="Run the install goal against the maven build"
           depends="maven-init">
     
-     <property name="maven.install.opts" value=""/>
+     <property name="maven.install.opts" value="-Pskip-dist"/>
 
      <maven basedir="${basedir}/.." 
             options="${maven.install.opts}" 

Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml	2009-03-13 15:16:37 UTC (rev 85828)
+++ trunk/build/pom.xml	2009-03-13 15:40:08 UTC (rev 85829)
@@ -92,4 +92,61 @@
     
   </dependencies>
   
+  <profiles>
+    <profile>
+      <id>dist</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>build-dist</id>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <phase>package</phase>
+                <configuration>
+                  <tasks>
+                    <ant antfile="build.xml">
+                      <target name="modules-most"/>
+                      <target name="install"/>
+                    </ant>
+                 </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                <id>clean</id>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <phase>clean</phase>
+                <configuration>
+                  <tasks>
+                    <ant antfile="build.xml">
+                      <target name="_buildmagic:clean"/>
+                    </ant>
+                 </tasks>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>      
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>skip-dist</id>
+      <!-- This profile is just a place holder to avoid running the dist build
+        -  when the build is called from ant.
+        -->
+      <build>
+        
+      </build>
+    </profile>
+  </profiles>
+  
 </project>

Added: trunk/build.bat
===================================================================
--- trunk/build.bat	                        (rev 0)
+++ trunk/build.bat	2009-03-13 15:40:08 UTC (rev 85829)
@@ -0,0 +1,90 @@
+ at echo off
+REM  ======================================================================
+REM
+REM  This is the main entry point for the build system.
+REM
+REM  Users should be sure to execute this file rather than 'mvn' to ensure
+REM  the correct version is being used with the correct configuration.
+REM
+REM  ======================================================================
+REM
+REM $Id$
+REM
+REM Authors:
+REM     Jason Dillon <jason at planet57.com>
+REM     Sacha Labourey <sacha.labourey at cogito-info.ch>
+REM
+
+REM ******************************************************
+REM Ignore the MAVEN_HOME variable: we want to use *our*
+REM Maven version and associated JARs.
+REM ******************************************************
+REM Ignore the users classpath, cause it might mess
+REM things up
+REM ******************************************************
+
+SETLOCAL
+
+set CLASSPATH=
+set MAVEN_HOME=
+
+REM ******************************************************
+REM - "for" loops have been unrolled for compatibility
+REM   with some WIN32 systems.
+REM ******************************************************
+
+set NAMES=tools;tools\maven;tools\apache\maven
+set SUBFOLDERS=..;..\..;..\..\..;..\..\..\..
+
+REM ******************************************************
+REM ******************************************************
+
+SET EXECUTED=FALSE
+for %%i in (%NAMES%) do call :subLoop %%i %1 %2 %3 %4 %5 %6
+
+goto :EOF
+
+
+REM ******************************************************
+REM ********* Search for names in the subfolders *********
+REM ******************************************************
+
+:subLoop
+for %%j in (%SUBFOLDERS%) do call :testIfExists %%j\%1\bin\mvn.bat %2 %3 %4 %5 %6 %7
+
+goto :EOF
+
+
+REM ******************************************************
+REM ************ Test if Maven Batch file exists ***********
+REM ******************************************************
+
+:testIfExists
+if exist %1 call :BatchFound %1 %2 %3 %4 %5 %6 %7 %8
+
+goto :EOF
+
+
+REM ******************************************************
+REM ************** Batch file has been found *************
+REM ******************************************************
+
+:BatchFound
+if (%EXECUTED%)==(FALSE) call :ExecuteBatch %1 %2 %3 %4 %5 %6 %7 %8
+set EXECUTED=TRUE
+
+goto :EOF
+
+REM ******************************************************
+REM ************* Execute Batch file only once ***********
+REM ******************************************************
+
+:ExecuteBatch
+echo Calling %1 %2 %3 %4 %5 %6 %7 %8
+set GOAL=%2
+if "%GOAL%"=="" set GOAL=install
+call %1 %GOAL% %3 %4 %5 %6 %7 %8
+
+:end
+
+if "%NOPAUSE%" == "" pause


Property changes on: trunk/build.bat
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Added: trunk/build.sh
===================================================================
--- trunk/build.sh	                        (rev 0)
+++ trunk/build.sh	2009-03-13 15:40:08 UTC (rev 85829)
@@ -0,0 +1,175 @@
+#!/bin/sh
+### ====================================================================== ###
+##                                                                          ##
+##  This is the main entry point for the build system.                      ##
+##                                                                          ##
+##  Users should execute this file rather than 'mvn' to ensure              ##
+##  the correct version is being used with the correct configuration.       ##
+##                                                                          ##
+### ====================================================================== ###
+
+# $Id$
+
+PROGNAME=`basename $0`
+DIRNAME=`dirname $0`
+GREP="grep"
+ROOT="/"
+
+# Ignore user's MAVEN_HOME if it is set
+MAVEN_HOME=""
+
+# the default search path for maven
+MAVEN_SEARCH_PATH="\
+    tools
+    tools/maven \
+    tools/apache/maven \
+    maven"
+
+# the default arguments
+MVN_OPTIONS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that
+MAX_FD="maximum"
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false;
+darwin=false;
+case "`uname`" in
+    CYGWIN*)
+        cygwin=true
+        ;;
+
+    Darwin*)
+        darwin=true
+        ;;
+esac
+
+#
+# Helper to complain.
+#
+die() {
+    echo "${PROGNAME}: $*"
+    exit 1
+}
+
+#
+# Helper to complain.
+#
+warn() {
+    echo "${PROGNAME}: $*"
+}
+
+#
+# Helper to source a file if it exists.
+#
+maybe_source() {
+    for file in $*; do
+	if [ -f "$file" ]; then
+	    . $file
+	fi
+    done
+}
+
+search() {
+    search="$*"
+    for d in $search; do
+	MAVEN_HOME="`pwd`/$d"
+	MVN="$MAVEN_HOME/bin/mvn"
+	if [ -x "$MVN" ]; then
+	    # found one
+	    echo $MAVEN_HOME
+	    break
+	fi
+    done
+}
+
+#
+# Main function.
+#
+main() {
+    # if there is a build config file. then source it
+    maybe_source "$DIRNAME/build.conf" "$HOME/.build.conf"
+
+    # Increase the maximum file descriptors if we can
+    if [ $cygwin = "false" ]; then
+	MAX_FD_LIMIT=`ulimit -H -n`
+	if [ $? -eq 0 ]; then
+	    if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+		# use the system max
+		MAX_FD="$MAX_FD_LIMIT"
+	    fi
+
+	    ulimit -n $MAX_FD
+	    if [ $? -ne 0 ]; then
+		warn "Could not set maximum file descriptor limit: $MAX_FD"
+	    fi
+	else
+	    warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
+	fi
+    fi
+
+    # try the search path
+    MAVEN_HOME=`search $MAVEN_SEARCH_PATH`
+
+    # try looking up to root
+    if [ "x$MAVEN_HOME" = "x" ]; then
+	target="build"
+	_cwd=`pwd`
+
+	while [ "x$MAVEN_HOME" = "x" ] && [ "$cwd" != "$ROOT" ]; do
+	    cd ..
+	    cwd=`pwd`
+	    MAVEN_HOME=`search $MAVEN_SEARCH_PATH`
+	done
+
+	# make sure we get back
+	cd $_cwd
+
+	if [ "$cwd" != "$ROOT" ]; then
+	    found="true"
+	fi
+
+	# complain if we did not find anything
+	if [ "$found" != "true" ]; then
+	    die "Could not locate Maven; check \$MVN or \$MAVEN_HOME."
+	fi
+    fi
+
+    # make sure we have one
+    MVN=$MAVEN_HOME/bin/mvn
+    if [ ! -x "$MVN" ]; then
+	die "Maven file is not executable: $MVN"
+    fi
+
+    # need to specify planet57/buildmagic protocol handler package
+    MVN_OPTS="-Djava.protocol.handler.pkgs=org.jboss.net.protocol"
+
+    # setup some build properties
+    MVN_OPTS="$MVN_OPTS -Dbuild.script=$0"
+
+    # change to the directory where the script lives so users are not forced
+    # to be in the same directory as build.xml
+    cd $DIRNAME
+
+    MVN_GOAL=$@
+    if [ -z "$MVN_GOAL" ]; then
+      MVN_GOAL="install"
+    fi
+    
+    # export some stuff for maven
+    export MVN MAVEN_HOME MVN_OPTS MVN_GOAL
+
+    
+    # execute in debug mode, or simply execute
+    if [ "x$MVN_DEBUG" != "x" ]; then
+	  /bin/sh -x $MVN $MVN_OPTIONS $MVN_GOAL
+    else
+	  exec $MVN $MVN_OPTIONS $MVN_GOAL
+    fi
+}
+
+##
+## Bootstrap
+##
+
+main "$@"


Property changes on: trunk/build.sh
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native


Property changes on: trunk/thirdparty
___________________________________________________________________
Name: svn:ignore
   - antlr
apache-avalon
apache-avalon-logkit
apache-bcel
apache-beanutils
apache-bsf
apache-codec
apache-collections
apache-digester
apache-discovery
apache-fileupload
apache-httpclient
apache-jaxme
apache-lang
apache-log4j
apache-logging
apache-modeler
apache-myfaces
apache-pool
apache-scout
apache-slide
apache-struts
apache-taglibs
apache-tomcat
apache-validator
apache-velocity
apache-vfs
apache-xalan
apache-xerces
apache-xmlsec
asm
beanshell
cglib
codehaus-stax
commons-el
dom4j
easymock
ehcache
gjt-jpl-util
gnu-getopt
hibernate
hibernate-annotations
hibernate-entitymanager
hsqldb
ibm-wsdl4j
jacorb
javassist
jaxen
jboss
jbpm
jbpm-bpel
jfreechart
jgroups
joesnmp
juddi
junit
junitejb
licenses
objectweb-joramtests
odmg
opensaml
oswego-concurrent
qdox
quartz
sleepycat
spring
struts-test-case
sun-jaf
sun-javacc
sun-javamail
sun-jaxb
sun-jaxp
sun-jmf
sun-jmx
sun-jsf
sun-jstl
sun-servlet
sun-xacml
target
trove
wutka-dtdparser
xdoclet
xmlunit-xmlunit
libraries.ent
sun-opends
testsuite-libraries.ent
woodstox
stax-api
httpunit
nekohtml
sun-jaxws
snmptrapappender
wscommons-policy
hibernate-commons-annotations
hibernate-validator
apache-maven-ant-tasks
osgi
sun-fi
xalan
struts
javax
bsh
rhino
xerces
aopalliance
log4j
ant
org
commons-validator
oro
commons-io
jtidy
net
xml-apis
commons-logging
classworlds
urbanophile
tjws
com
xml-security
stax
webbeans-deployer

   + antlr
apache-avalon
apache-avalon-logkit
apache-bcel
apache-beanutils
apache-bsf
apache-codec
apache-collections
apache-digester
apache-discovery
apache-fileupload
apache-httpclient
apache-jaxme
apache-lang
apache-log4j
apache-logging
apache-modeler
apache-myfaces
apache-pool
apache-scout
apache-slide
apache-struts
apache-taglibs
apache-tomcat
apache-validator
apache-velocity
apache-vfs
apache-xalan
apache-xerces
apache-xmlsec
asm
beanshell
cglib
codehaus-stax
commons-el
dom4j
easymock
ehcache
gjt-jpl-util
gnu-getopt
hibernate
hibernate-annotations
hibernate-entitymanager
hsqldb
ibm-wsdl4j
jacorb
javassist
jaxen
jboss
jbpm
jbpm-bpel
jfreechart
jgroups
joesnmp
juddi
junit
junitejb
licenses
objectweb-joramtests
odmg
opensaml
oswego-concurrent
qdox
quartz
sleepycat
spring
struts-test-case
sun-jaf
sun-javacc
sun-javamail
sun-jaxb
sun-jaxp
sun-jmf
sun-jmx
sun-jsf
sun-jstl
sun-servlet
sun-xacml
target
trove
wutka-dtdparser
xdoclet
xmlunit-xmlunit
libraries.ent
sun-opends
testsuite-libraries.ent
woodstox
stax-api
httpunit
nekohtml
sun-jaxws
snmptrapappender
wscommons-policy
hibernate-commons-annotations
hibernate-validator
apache-maven-ant-tasks
osgi
sun-fi
xalan
struts
javax
bsh
rhino
xerces
aopalliance
log4j
ant
org
commons-validator
oro
commons-io
jtidy
net
xml-apis
commons-logging
classworlds
urbanophile
tjws
com
xml-security
stax
webbeans-deployer
dependency-maven-plugin-markers





More information about the jboss-cvs-commits mailing list