db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhille...@apache.org
Subject svn commit: r596304 - in /db/derby/code/trunk: build.xml java/build/org/apache/derbyPreBuild/ java/build/org/apache/derbyPreBuild/PropertySetter.java java/build/org/apache/derbyPreBuild/build.xml
Date Mon, 19 Nov 2007 13:58:25 GMT
Author: rhillegas
Date: Mon Nov 19 05:58:25 2007
New Revision: 596304

URL: http://svn.apache.org/viewvc?rev=596304&view=rev
Log:
DERBY-3117: Automatic setting of compiler classpath properties.

Added:
    db/derby/code/trunk/java/build/org/apache/derbyPreBuild/
    db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java   (with props)
    db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml   (with props)
Modified:
    db/derby/code/trunk/build.xml

Modified: db/derby/code/trunk/build.xml
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/build.xml?rev=596304&r1=596303&r2=596304&view=diff
==============================================================================
--- db/derby/code/trunk/build.xml (original)
+++ db/derby/code/trunk/build.xml Mon Nov 19 05:58:25 2007
@@ -27,24 +27,17 @@
   <property file="${properties.dir}/dirs.properties"/>
   <!-- Compiler settings -->
   <property file="${properties.dir}/sane${sanity}.properties"/>
-  <property file="${properties.dir}/defaultcompiler.properties"/>
-  <property file="${properties.dir}/${build.compiler}.properties"/>
-  <!-- Compile-time classpath`< properties files -->
-  <property file="${properties.dir}/extrapath.properties"/>
-  <property file="${properties.dir}/compilepath.properties"/>
-  <!-- Release and version info -->
-  <property file="${properties.dir}/release.properties"/>
 
 <!-- Targets -->
 
-  <target name="buildsource" depends="checkCompilerLevel,init,engine,storeless,tools,drda,client,build,versioninfo,localeinfo"/>
+  <target name="buildsource" depends="checkCompilerLevel,init,prebuild,setCompilerProperties,engine,storeless,tools,drda,client,build,versioninfo,localeinfo"/>
   <target name="all" depends="buildsource,demo,testing,pptesting"/>
 
 <!-- ==================================================================== -->
 <!--                       Initialize targets                             -->
 <!-- ==================================================================== -->
 
-  <target name="init" unless="init.done">
+  <target name="init" unless="init.done" depends="setInitialProperties">
 
     <tstamp/>
     <mkdir dir="${out.dir}"/>
@@ -174,6 +167,55 @@
     <delete file="${out.dir}/org/apache/derby/info/dnc.properties"/>
   </target>
 
+  <target name="setCompilerProperties" if="autosetProps"
+          description="Set the ant variables which identify the compiler classpaths. Remove
the autosetProps logic when this target becomes mandatory."
+          depends="prebuild">
+
+<!--     <antcall target="printCompilerProperties"> <param name="checkEvent"
value="Before"/> </antcall> -->
+
+    <taskdef
+      name="setJdkProperties"
+      classname="org.apache.derbyPreBuild.PropertySetter"
+      classpath="${out.dir}"
+    />
+
+    <setJdkProperties/>
+
+<!--     <antcall target="printCompilerProperties"> <param name="checkEvent"
value="After"/> </antcall> -->
+
+    <property file="${properties.dir}/defaultcompiler.properties"/>
+    <property file="${properties.dir}/${build.compiler}.properties"/>
+    <!-- Compile-time classpath`< properties files -->
+    <property file="${properties.dir}/extrapath.properties"/>
+    <property file="${properties.dir}/compilepath.properties"/>
+    <!-- Release and version info -->
+    <property file="${properties.dir}/release.properties"/>
+
+  </target>
+
+  <target name="setInitialProperties" unless="autosetProps"
+          description="Set the initial properties for this build script. This duplicates
the property setting block in setCompilerProperties. Once we make setCompilerProperties mandatory,
this target should be removed."
+          >
+
+    <property file="${properties.dir}/defaultcompiler.properties"/>
+    <property file="${properties.dir}/${build.compiler}.properties"/>
+    <!-- Compile-time classpath`< properties files -->
+    <property file="${properties.dir}/extrapath.properties"/>
+    <property file="${properties.dir}/compilepath.properties"/>
+    <!-- Release and version info -->
+    <property file="${properties.dir}/release.properties"/>
+
+  </target>
+
+  <target name="printCompilerProperties">
+
+    <echo message="${checkEvent} j14lib = ${j14lib}"/>
+    <echo message="${checkEvent} java14compile.classpath = ${java14compile.classpath}"/>
+    <echo message="${checkEvent} j15lib = ${j15lib}"/>
+    <echo message="${checkEvent} java15compile.classpath = ${java15compile.classpath}"/>
+
+  </target>
+
 <!-- ==================================================================== -->
 <!--                         Info writer build target                     -->
 <!-- ==================================================================== -->
@@ -380,6 +422,10 @@
     <ant dir="${derby.client.src.dir}"/>
   </target>
 
+  <target name="prebuild">
+    <ant dir="${derby.build.src.dir}/org/apache/derbyPreBuild"/>
+  </target>
+
   <target name="build">
     <ant dir="${derby.build.src.dir}"/>
   </target>
@@ -1027,7 +1073,7 @@
   <target name="buildjarsclean" depends="cleanjars,initjars,derbyjar,derbytoolsjar,derbynetjar,derbyclientjar,derbyrunjar,derbywar,derbylocalejars,derbytestingjar"/>
   <target name="buildjars" depends="initjars,derbyjar,derbytoolsjar,derbynetjar,derbyclientjar,derbyrunjar,derbywar,derbylocalejars,derbytestingjar"/>
 
-  <target name="initjars" depends="setsanityname,getsvnversion">
+  <target name="initjars" depends="setsanityname,getsvnversion,setCompilerProperties">
     <property name="derby.jar.dir" value="${basedir}/jars/${sanity.name}"/>
     <property name="derby.jar.topdir" value="${basedir}/jars"/>
     <mkdir dir="${derby.jar.dir}"/>

Added: db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java?rev=596304&view=auto
==============================================================================
--- db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java (added)
+++ db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java Mon Nov 19
05:58:25 2007
@@ -0,0 +1,612 @@
+/*
+
+   Derby - Class org.apache.derbyPreBuild.PropertySetter
+
+   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.
+
+ */
+
+package org.apache.derbyPreBuild;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.Hashtable;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.PropertyHelper;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.taskdefs.Property;
+
+
+/**
+ * <p>
+ * This tool tries to set the classpath properties if they are not already
+ * set:
+ * </p>
+ *
+ * <ul>
+ * <li>java14compile.classpath</li>
+ * <li>java15compile.classpath</li>
+ * </ul>
+ *
+ * <p>
+ * If the following library properties are set, they may influence how we set the
+ * corresponding classpath properties:
+ * </p>
+ *
+ * <ul>
+ * <li>j14lib</li>
+ * <li>j15lib</li>
+ * </ul>
+ *
+ * <p>
+ * This tool behaves as follows:
+ * </p>
+ *
+ * <ul>
+ * <li>If the classpath properties are set, nothing happens and we simply exit.</li>
+ * <li>Otherwise, if a library property is set, we attempt to set the
+ * corresponding classpath property to be a list of all the jars in the
+ * directory pointed to by the library property.</li>
+ * <li>Otherwise we try to set the classpath properties to values
+ * specific to the vendor of the running vm.</li>
+ * <li>Otherwise, if we don't recognize the vm vendor, we abort the build.</li>
+ * </ul>
+ *
+ * <p>
+ * This tool has been tested for the setting of jdk1.4 and Java 5 compiler
+ * properties in the following environments:
+ * </p>
+ *
+ * <ul>
+ * <li>Apple JDKs on Mac OS X</li>
+ * <li>Sun and IBM JDKs on Linux</li>
+ * <li>Sun and IBM JDKs on Windows/Cygwin</li>
+ * <li>Sun JDKs on Solaris</li>
+ * </ul>
+ */
+public class PropertySetter extends Task
+{
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  CONSTANTS
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    private static  final   String  J14LIB = "j14lib";
+    private static  final   String  J14CLASSPATH = "java14compile.classpath";
+    private static  final   String  J15LIB = "j15lib";
+    private static  final   String  J15CLASSPATH = "java15compile.classpath";
+
+    private static  final   String  JDK_VENDOR = "java.vendor";
+    private static  final   String  JAVA_HOME = "java.home";
+
+    private static  final   String  JAVA_VERSION = "java.version";
+    private static  final   String  OPERATING_SYSTEM = "os.name";
+
+    private static  final   String  JDK_APPLE = "Apple Computer, Inc.";
+    private static  final   String  JDK_IBM = "IBM Corporation";
+    private static  final   String  JDK_SUN = "Sun Microsystems Inc.";
+
+    private static  final   String  APPLE_JAVA_ROOT = "/System/Library/Frameworks/JavaVM.framework/Versions";
+    
+
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  STATE
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    private Hashtable   _propertiesSnapshot;
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  INNER CLASSES
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * File filter to select jar files in a directory.
+     * </p>
+     */
+    public  static  final   class   JarFilter   implements  FileFilter
+    {
+        public  JarFilter() {}
+
+        public  boolean accept( File candidate )
+        {
+            return candidate.getName().endsWith( ".jar" );
+        }
+    }
+    
+    /**
+     * <p>
+     * File filter to select child directories whose names contain a string.
+     * </p>
+     */
+    public  static  final   class   DirContainsStringFilter   implements  FileFilter
+    {
+        private String  _substring;
+        
+        public  DirContainsStringFilter( String substring ) { _substring = substring; }
+
+        public  boolean accept( File candidate )
+        {
+            if ( !candidate.isDirectory() ) { return false; }
+
+            return ( candidate.getName().contains( _substring ) );
+        }
+    }
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  CONSTRUCTORS
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+   /**
+     * <p>
+     * Let Ant conjure us out of thin air.
+     * </p>
+     */
+    public PropertySetter()
+    {}
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  Task BEHAVIOR
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+        
+   /**
+     * <p>
+     * Set properties based on the existing build environment. If, at the end of
+     * this method, the compiler properties are still not set, then we raise an
+     * error and the build aborts.
+     * </p>
+     */
+    public  void    execute()
+        throws BuildException
+    {
+        refreshProperties();
+
+        try {
+            //
+            // There's nothing to do if the classpath properties are already set.
+            //
+            if ( isSet( J14CLASSPATH ) && isSet( J15CLASSPATH ) ) { return; }
+            
+            //
+            // If the library properties are set, then use them to set the
+            // classpath properties.
+            //
+            String  j14lib = getProperty( J14LIB );
+            String  j15lib = getProperty( J15LIB );
+
+            if ( j14lib != null ) { setClasspathFromLib( J14LIB, j14lib ); }
+            if ( j15lib != null ) { setClasspathFromLib( J15LIB, j15lib ); }
+
+            //
+            // If the library properties were not set, the following
+            // logic will try to figure out how to set the
+            // classpath properties based on the JDK vendor.
+            //
+            // This is where you plug in vendor-specific logic.
+            //
+            String  jdkVendor = getProperty( JDK_VENDOR );
+
+            if ( JDK_APPLE.equals( jdkVendor ) ) { setForAppleJDKs(); }
+            else if ( JDK_IBM.equals( jdkVendor ) ) { setForIbmJDKs(); }
+            else if ( JDK_SUN.equals( jdkVendor ) ) { setForSunJDKs(); }
+            
+        } catch (Throwable t)
+        {
+            echoThrowable( t );
+
+            if ( t instanceof BuildException) { throw (BuildException) t; }
+            else { throw new BuildException( t ); }
+        }
+
+        //
+        // Refresh our snapshot of the properties now that we have set
+        // some additional ones.
+        //
+        refreshProperties();
+
+        // Require that these be set now.
+        requireProperty( J14CLASSPATH );
+        requireProperty( J15CLASSPATH );
+    }
+
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  SET PROPERTIES FOR Apple JDK
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Set the properties needed to compile using the Apple-supplied JDKs
+     * </p>
+     */
+    private void    setForAppleJDKs()
+        throws BuildException
+    {
+        defaultSetter( APPLE_JAVA_ROOT + "/1.4/Classes", APPLE_JAVA_ROOT + "/1.5/Classes"
);
+    }
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  SET PROPERTIES FOR IBM JDKs
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Set the properties needed to compile using the IBM JDKs
+     * </p>
+     */
+    private void    setForIbmJDKs()
+        throws Exception
+    {
+        setForMostJDKs( "142", "50" );
+    }
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  SET PROPERTIES FOR Sun JDKs
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Set the properties needed to compile using the Sun JDKs. This
+     * has been tested on Linux and SunOS.
+     * </p>
+     */
+    private void    setForSunJDKs()
+        throws Exception
+    {
+        setForMostJDKs( "1.4.", "1.5." );
+    }
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  JDK HEURISTICS
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Set the properties needed to compile using most JDKs
+     * </p>
+     */
+    private void    setForMostJDKs( String seed14, String seed15)
+        throws Exception
+    {
+        String  javaHome = getProperty( JAVA_HOME );
+        
+        // slice off the jdk1.5.0_u13/jre. ant seems to tack the "/jre" onto
+        // the end of what the shell thinks $JAVA_HOME is:
+        String  sunJavaRoot = javaHome + File.separator + ".." + File.separator + "..";
+        
+        String  default_j14lib = getProperty( J14LIB );
+        String  default_j15lib = getProperty( J15LIB );
+        
+        if ( default_j14lib == null )
+        { default_j14lib = getJreLib( sunJavaRoot, seed14 ); }
+
+        if ( default_j15lib == null )
+        { default_j15lib = getJreLib( sunJavaRoot, seed15 ); }
+
+        defaultSetter( default_j14lib, default_j15lib );
+    }
+    
+    /**
+     * <p>
+     * Get the path name of the library directory in the latest version of this jre
+     * </p>
+     */
+    private String    getJreLib( String jdkParent, String jdkName )
+        throws BuildException
+    {
+        File        jdkParentDirectory = new File( jdkParent );
+        File[]      versions = jdkParentDirectory.listFiles( new DirContainsStringFilter(
jdkName ) );
+        int         count = versions.length;
+
+        if ( count <= 0 )
+        {
+            echo( "Directory '" + jdkParent + "' does not have any child directories containing
the string '" + jdkName + "'." );
+            return null;
+        }
+
+        Arrays.sort( versions );
+
+        File        javadir = versions[ count - 1 ];
+        String      libStub = "";
+
+        //
+        // If the selected java dir is a JDK rather than a JRE, then it
+        // will have a jre subdirectory
+        //
+        File        jreSubdirectory = new File( javadir, "jre" );
+        if ( jreSubdirectory.exists() ) { libStub = libStub + File.separator + "jre"; }
+
+        libStub = libStub + File.separator + "lib";
+
+        return javadir.getAbsolutePath() + libStub;
+    }
+
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  PROPERTY MINIONS
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Default property setter. Sets the lib properties to the passed-in values
+     * and sets the classpath properties to the lists of jars in the lib
+     * directories. If the library properties are already set, the already-set
+     * values will override the defaults that are passed in to this method.
+     * </p>
+     */
+    private void    defaultSetter( String default_j14lib, String default_j15lib )
+        throws  BuildException
+    {
+        String  j14lib = getProperty( J14LIB, default_j14lib );
+        String  j15lib = getProperty( J15LIB, default_j15lib );
+
+        setClasspathFromLib( J14CLASSPATH, j14lib );
+        setClasspathFromLib( J15CLASSPATH, j15lib );
+    }
+    
+    /**
+     * <p>
+     * Set a classpath property to all of the jars in a directory.
+     * If the classpath property is already set, then it is not overridden.
+     * Throws a BuildException if there's a problem.
+     * </p>
+     */
+    private void    setClasspathFromLib( String classpathProperty, String libraryDirectory
)
+        throws BuildException
+    {
+        String      classpath = getProperty( classpathProperty );
+
+        // nothing to do if the property is already set. we can't override it.
+        if ( classpath != null ) { return; }
+
+        String      jars = listJars( libraryDirectory );
+
+        if ( jars == null )
+        {
+            throw couldntSetProperty( classpathProperty );
+        }
+
+        setProperty( classpathProperty, jars );
+    }
+
+    /**
+     * <p>
+     * List all of the jars in a directory in lexicographical order of
+     * filenames in a format suitable for using in a classpath.
+     * Returns null if the directory string does not identify
+     * a valid directory.
+     * </p>
+     */
+    private String    listJars( String dirName )
+    {
+        if ( dirName == null ) { return null; }
+
+        File    dir = new File( dirName );
+
+        if ( !dir.exists() )
+        {
+            echo( "Directory " + dirName + " does not exist." );
+            return null;
+        }
+        if ( !dir.isDirectory() )
+        {
+            echo( dirName + " is not a directory." );
+            return null;
+        }
+
+        File[]  jars = dir.listFiles( new JarFilter() );
+
+        Arrays.sort( jars );
+
+        int             count = jars.length;
+        StringBuffer    buffer = new StringBuffer();
+
+        for ( int i = 0; i < count; i++ )
+        {
+            if ( i > 0 ) { buffer.append( File.pathSeparatorChar ); }
+            
+            buffer.append( jars[ i ].getAbsolutePath() );
+        }
+
+        return buffer.toString();
+    }
+
+    /**
+     * <p>
+     * Return true if a property is set.
+     * </p>
+     */
+    private boolean    isSet( String name )
+    {
+        String  value = getProperty( name );
+
+        if ( value == null ) { return false; }
+        else { return true; }
+    }
+
+    /**
+     * <p>
+     * Print a property.
+     * </p>
+     */
+    private void    printProperty( String name )
+    {
+        String  value = getProperty( name );
+
+        if ( value == null ) { value = "NULL"; }
+
+        echo( "${" + name + "} = " + value );
+    }
+
+    /**
+     * <p>
+     * Gets a property. If it is not already set, defaults it to a value.
+     * </p>
+     */
+    private String  getProperty( String name, String defaultValue )
+    {
+        String  value = getProperty( name );
+
+        if ( value == null ) { value = defaultValue; }
+
+        return value;
+    }
+    
+    /**
+     * <p>
+     * Refresh the known properties.
+     * </p>
+     */
+    private void  refreshProperties()
+    {
+        PropertyHelper  helper = PropertyHelper.getPropertyHelper( getProject() );
+        
+        _propertiesSnapshot = helper.getProperties();
+    }
+    
+    /**
+     * <p>
+     * Get a property value. Returns null if the property is not set.
+     * </p>
+     */
+    private String  getProperty( String name )
+    {
+        return (String) _propertiesSnapshot.get( name );
+    }
+    
+    /**
+     * <p>
+     * Set an ant property.
+     * </p>
+     */
+    private void    setProperty( String name, String value )
+        throws BuildException
+    {
+        log( "Setting property " + name + " to " + value, Project.MSG_INFO );
+        
+        Property    property = new Property();
+
+        property.setName( name );
+        property.setValue( value );
+
+        property.setProject( getProject() );
+        property.execute();
+    }
+    
+    /////////////////////////////////////////////////////////////////////////
+    //
+    //  GENERALLY USEFUL MINIONS
+    //
+    /////////////////////////////////////////////////////////////////////////
+
+    /**
+     * <p>
+     * Echo a Throwable to the console.
+     * </p>
+     */
+    private void    echoThrowable( Throwable t )
+    {
+        echo ( t.getMessage() );
+
+        StringWriter    sw = new StringWriter();
+        PrintWriter     pw = new PrintWriter( sw );
+
+        t.printStackTrace( pw );
+
+        echo ( sw.toString() );
+    }
+
+    /**
+     * <p>
+     * Echo a message to the console.
+     * </p>
+     */
+    private void    echo( String text )
+    {
+        log( text, Project.MSG_WARN );
+    }
+
+    /**
+     * <p>
+     * Require that a property be set.
+     * </p>
+     */
+    private void  requireProperty( String property )
+        throws BuildException
+    {
+        if ( getProperty( property ) == null ) { throw couldntSetProperty( property ); }
+    }
+
+    /**
+     * <p>
+     * Object that we couldn't set a property.
+     * </p>
+     */
+    private BuildException  couldntSetProperty( String property )
+    {
+        StringBuffer    buffer = new StringBuffer();
+
+        buffer.append( "Don't know how to set " + property );
+        buffer.append( " using this environment:\n\n" );
+        appendProperty( buffer, JDK_VENDOR );
+        appendProperty( buffer, JAVA_HOME );
+        appendProperty( buffer, JAVA_VERSION );
+        appendProperty( buffer, OPERATING_SYSTEM );
+        appendProperty( buffer, J14LIB );
+        appendProperty( buffer, J15LIB );
+        buffer.append( "\nPlease consult BUILDING.txt for instructions on how to set the
jdk-library and compiler-classpath properties." );
+        
+        return new BuildException( buffer.toString() );
+    }
+
+    /**
+     * <p>
+     * Append the value of a property to an evolving string buffer.
+     * </p>
+     */
+    private void    appendProperty( StringBuffer buffer, String propertyName )
+    {
+        buffer.append( propertyName );
+        buffer.append( " = " );
+        buffer.append( getProperty( propertyName ) );
+        buffer.append( "\n" );
+    }
+
+}
+

Propchange: db/derby/code/trunk/java/build/org/apache/derbyPreBuild/PropertySetter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml?rev=596304&view=auto
==============================================================================
--- db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml (added)
+++ db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml Mon Nov 19 05:58:25
2007
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+  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 default="build" basedir="../../../../../..">
+
+<!-- Set Properties -->
+  <!-- User settings -->
+  <property file="${user.home}/ant.properties"/>
+  <!-- Set property lib dir -->
+  <property name="properties.dir" value="tools/ant/properties"/>
+  <!-- Significant dirs -->
+  <property file="${properties.dir}/dirs.properties"/>
+
+<!-- Targets -->
+  <target name="build" depends="compile"/>
+
+  <target name="compile">
+    <javac
+      source="1.5"
+      target="1.5"
+      nowarn="on"
+      debug="${debug}"
+      depend="${depend}"
+      deprecation="${deprecation}"
+      optimize="${optimize}"
+      proceed="${proceed}"
+      verbose="${verbose}"
+      srcdir="${derby.build.src.dir}"
+      destdir="${out.dir}">
+      <include name="org/apache/derbyPreBuild/**"/>
+      <classpath>
+        <pathelement path="${ant.library.dir}/ant.jar"/>
+      </classpath>
+    </javac>
+  </target>
+</project>

Propchange: db/derby/code/trunk/java/build/org/apache/derbyPreBuild/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message