harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r376127 - /incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml
Date Thu, 09 Feb 2006 00:21:28 GMT
Author: geirm
Date: Wed Feb  8 16:21:27 2006
New Revision: 376127

URL: http://svn.apache.org/viewcvs?rev=376127&view=rev
Log:
patch from Stepan Mishura to ensure that we test the security code w/in the
rest of the harmony code, using the Harmony VM - From HARMONY-58

Note that this isn't exact.  I removed the config of the boot classpath for 
the crypto and xnet becuase it's incomplete - it was relying on the security.jar
in JAVA_HOME/bin/lib/boot

So now, all code is from bin/lib/boot, and not local in modules/security2.  I'll
post a message to the mail list to suggest we modify this to use local.

What this means for now is that you must create the jars and have them
land in deploy/



Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml

Modified: incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml?rev=376127&r1=376126&r2=376127&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/security2/make/build.xml Wed Feb  8
16:21:27 2006
@@ -1,475 +1,578 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-    Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
-  
-    Licensed 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 name="HarmonySecurityBuild" default="dist" basedir="..">
-
-    <description> Build for Security stuff </description>
-
-
-
-    <!-- set global properties for this build. -->
-
-    <property name="build.compiler" value="modern"/>
-
-	<!--
-         In order to use Eclipse compiler you will need to add
-         the compiler's jars to the CLASSPATH and path to jni.h
-         to INCLUDE environment variables before build start.
-         For example:
-
-         set CLASSPATH=%ECLIPSE_HOME%/plugins/org.eclipse.jdt.core_3.0.1/jdtCompilerAdapter.jar;
\
-                 %ECLIPSE_HOME%/plugins/org.eclipse.jdt.core_3.0.1/jdtcore.jar;%CLASSPATH%
-
-         set INCLUDE=%MY_JVM%/include
-
-         property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"
-
-     -->
-
-    <property name="build.dir" value="."/>
-    <property name="build.path" location="${build.dir}/build" />
-    <property environment="env"/>
-
-
-    <condition property="if.win" value="true">
-        <os family="Windows" />
-    </condition>
-
-    <condition property="if.linux" value="true">
-        <and>
-            <os name="linux" />
-            <os family="unix" />
-        </and>
-    </condition>
-
-    <condition property="if.x86_64" value="true">
-        <contains string="${os.arch}" substring="x86_64"/>
-    </condition>
- 
-    <condition property="if.x86" value="true">
-        <and>
-          <contains string="${os.arch}" substring="86"/>
-            <not>
-               <isset property="if.x86_64"/>
-            </not>
-        </and>
-    </condition>
-
-
-    <condition property="if.ipf" value="true">
-        <contains string="${os.arch}" substring="ia64"/>
-    </condition>
-
-
-    <!-- Platform dependency -->
-
-    <target name="timestamp" description="Set up a timestamp">
-        <tstamp>
-            <format property="build-date" pattern="yyyyMMdd" locale="en" />
-        </tstamp>
-        <tstamp>
-            <format property="build-time" pattern="yyyyMMdd_HHmm)" />
-        </tstamp>
-        <echo message="build-date=${build-date}" />
-        <echo message="build-time=${build-time}" />
-        <echo message="on platform=${os.name} version=${os.version} arch=${os.arch}" />
-        <echo message="with java home = ${java.home} VM version = ${java.vm.version} vendor
= ${java.vm.vendor}" />
-    </target>
-
-    <target name="setname.win" if="if.win">
-        <property name="platform.name" value="win" />
-        <property name="libpr" value=""/>
-        <property name="libsf" value=".dll"/>
-    </target>
-
-    <target name="setname.linux" if="if.linux">
-        <property name="platform.name" value="lnx" />
-        <property name="libpr" value="lib"/>
-        <property name="libsf" value=".so"/>
-    </target>
-
-
-    <!-- INIT TARGETS -->
-
-    <target name="init" depends="timestamp, setname.win, setname.linux">
-
-        <echo message="platform name=${platform.name}" />
-
-        <property name="java.debug.option" value="on" />
-        <property name="native.debug.option" value="on" />
-
-        <property name="src" location="${basedir}/src" />
-        <property name="src.common.java" location="${src}/common/javasrc" />
-        <property name="src.common.native" location="${src}/common/other" />
-        <property name="src.win.native" location="${src}/windows/other" />
-        <property name="src.win.java" location="${src}/windows/javasrc" />
-        <property name="src.linux.native" location="${src}/linux/other" />
-        <property name="src.linux.java" location="${src}/linux/javasrc" />
-        <property name="src.windows.other" location="${basedir}/src/windows/other/org/apache/harmony/nativelib/windows"
/>
-        <property name="src.linux.other" location="${basedir}/src/linux/other/org/apache/harmony/nativelib/X11"/>
-        <property name="src.tst" value="${basedir}/test" />
-        <property name="src.tst.common" value="${src.tst}/common" />
-
-        <property name="combined.path" value="deploy/jre"/>
-        <property name="build.lib.path" location="${build.path}/${combined.path}/lib"
/>
-        <property name="build.jars.path" location="${build.path}/${combined.path}/lib/boot"
/>
-        <property name="build.ext.path" location="${build.path}/${combined.path}/lib/ext"
/>
-        <property name="build.bin.path" location="${build.path}/${combined.path}/bin"
/>
-
-        <property name="tmp" location="${build.path}/tmp" />
-        <property name="source.ver" value="1.4" />
-
-        <property name="native.lib.name" value="**/*"/>
-
-        <echo message="if.x86_64=${if.x86_64}"/>
-        <echo message="if.x86=${if.x86}"/>
-        <echo message="if.ipf=${if.ipf}"/>
-
-        <echo message="create base dirs..." />
-        <mkdir dir="${build.path}" />
-        <mkdir dir="${tmp}" />
-        <mkdir dir="${build.lib.path}" />
-
-    </target>
-    
-    <target name="init.java_home">
-
-        <property name="JAVA_HOME" value="${env.JAVA_HOME}" />
-<!--        <property name="jni_h.path"    location="${env.JAVA_HOME}/include"/>
-->
-        <echo message="JAVA_HOME=${JAVA_HOME}"/>
-
-    </target>
-
-    <target name="init.win" depends="init, init.java_home" if="if.win">
-    	
-    	<property name="native.include.path" value="../../native-src/win.IA32/include" />
-
-    	<property name="cPath" value="${PATH};${env.Path}" />
-        <property name="cINCLUDE" value="${INCLUDE};${env.include};${env.INCLUDE};${native.include.path}"
/>
-        <property name="cLIB" value="${LIB};${env.lib};${env.LIB}" />
-        <property name="src.java" value="${src.win.java}" />
-        <property name="compile.native.tail" value="windows" />
-
-        <property name="src.tst.common.ps" value="${src.tst}/windows" />
-
-        <property name="jni_h.path"    location="${native.include.path}"/>
-        <property name="jni_md_h.path" location="${native.include.path}"/>
-
-    </target>
-
-    
-    <target name="init.linux" depends="init, init.java_home" if="if.linux">
-
-       	<property name="native.include.path" value="../../native-src/linux.IA32/include"
/>
-
-        <property name="cPath" value="${env.PATH}" />
-        <property name="cINCLUDE" value="${env.INCLUDE};${native.include.path}" />
-        <property name="cLIB" value="${env.LIB}" />
-        <property name="src.java" value="${src.linux.java}" />
-        <property name="compile.native.tail" value="linux" />
-
-        <property name="src.tst.common.ps" value="${src.tst}/linux" />
-
-        <property name="jni_h.path"    location="${native.include.path}"/>
-        <property name="jni_md_h.path" location="${native.include.path}"/>
-
-    </target>
-
-
-    <!-- SECURITY PACKAGES SETS -->
-
-    <patternset id="crypto">
-        <include name="javax/crypto/**"/>
-        <include name="org/apache/harmony/security/x/crypto/**"/>
-    </patternset>
-
-
-	<patternset id="security">
-		<include name="java/security/**"/>
-		<include name="javax/security/**"/>
-		<include name="org/apache/harmony/security/fortress/**"/>
-		<include name="org/apache/harmony/security/**"/>
-		<include name="org/apache/harmony/security/x/security/**"/>
-		<include name="org/apache/harmony/misc/Base64.*"/>
-		<include name="org/ietf/jgss/**"/>
-	</patternset>
-
-
-    <patternset id="x_net">
-        <include name="javax/net/**"/>
-    </patternset>
-
-
-    <patternset id="api.src.all">
-        <patternset refid="crypto"/>
-        <patternset refid="security"/>
-        <patternset refid="x_net"/>
-    </patternset>
-
-
-    <patternset id="unit.tests.src.all">
-        <include name="common/unit/org/apache/harmony/security/x/crypto/**"/>
-        <include name="common/unit/org/apache/harmony/sceurity/x/security/**"/>
-        <include name="common/unit/org/apache/harmony/security/**"/>
-        <include name="common/unit/org/apache/harmony/security/fortress/**"/>
-        <include name="common/unit/java/security/**"/>
-        <include name="common/unit/javax/crypto/**"/>
-        <include name="common/unit/javax/net/**"/>
-        <include name="common/unit/javax/security/**"/>
-        <include name="common/unit/org/ietf/jgss/**"/>
-        <include name="linux/unit/org/apache/harmony/security/x/security/**"/>
-        <include name="windows/unit/org/apache/harmony/security/x/security/**"/>
-    </patternset>
-
-
-    <!-- SECURITY TARGETS -->
-
-
-    <target name="dist" depends="init, init.win, init.linux, compile.api, build.jars,
build.native, copy.security"
-        description="Building Security binaries">
-        <!-- clean up -->
-        <delete dir="${tmp}"/>
-    </target>
-
-
-    <target name="tests" depends="dist, tests.compile"
-        description="Building Security tests">
-    </target>
-
-
-    <target name="tests.run" depends="tests, run"
-        description="Running Security tests">
-    </target>
-
-
-    <target name="tests.gen" depends="tests, gen_ser"
-        description="Generating serialized stuff for tests">
-    </target>
-
-    <target name="clean">
-        <delete dir="${build.path}"/>
-    </target>
-
-    <!-- SUPPORT TARGETS -->
-
-
-    <target name="build.jars">
-        <mkdir dir="${build.jars.path}"/>
-
-        <antcall target="build.one.jar">
-            <param name="ref.id" value="crypto"/>
-        </antcall>
-        <antcall target="build.one.jar">
-            <param name="ref.id" value="security"/>
-        </antcall>
-        <antcall target="build.one.jar">
-            <param name="ref.id" value="x_net"/>
-        </antcall>
-        <!-- build security.jar WITHOUT X500Principal class for tests run -->
-        <jar destfile="${build.path}/classes/security_alt.jar">
-            <fileset dir="${build.path}/classes">
-                <patternset refid="security"/>
-                <exclude name="javax/security/auth/x500/X500Principal.*" />
-            </fileset>
-        </jar>
-    </target>
-
-
-    <target name="compile.api" description="Compile Security API sources">
-        <mkdir dir="${build.path}/classes" />
-        <echo message="Compiling api classes from ${src.common.java}, ${src.java}" />
-        <javac sourcepath=""
-            destdir="${build.path}/classes"
-            source="${source.ver}"
-            debug="${java.debug.option}">
-            <src>
-                <pathelement location="${src.common.java}"/>
-                <pathelement location="${src.java}"/>
-            </src>
-            <patternset refid="api.src.all"/>
-            <bootclasspath>
-                <pathelement path="${build.path}/classes"/>
-                <fileset dir="${java.home}/lib">
-                    <include name="*.jar"/>
-                </fileset>
-            </bootclasspath>
-        </javac>
-    </target>
-
-
-    <target name="build.one.jar">
-        <property name="jar.name" value="${ref.id}.jar"/>
-        <jar destfile="${build.jars.path}/${jar.name}">
-            <fileset dir="${build.path}/classes">
-                <patternset refid="${ref.id}"/>
-            </fileset>
-        </jar>
-    </target>
-
-
-    <target name="build.native">
-        <!-- Building the native code -->
-
-        <echo message="jni_h.path=${jni_h.path}"/>
-        <echo message="jni_md_h.path=${jni_md_h.path}"/>
-
-        <subant target="" inheritall="true">
-            <fileset dir="make/native/${compile.native.tail}" includes="jaaswin.xml, jaasnix.xml"/>
-        </subant>
-    </target>
-
-
-    <target name="copy.security">
-        <mkdir dir="${build.ext.path}"/>
-
-        <!-- Copy java_home/lib/security -->
-        <copy todir="${build.lib.path}/security">
-            <fileset dir="${src}/java.home/lib/security"/>
-        </copy>
-
-    </target>
-
-
-    <target name="tests.compile">
-    	
-    	<!-- download the jars we need for testing and create a path -->
-
-    	<!--
-    	<ant antfile="make/download.xml" target="test-download" />
-    		
-    	<path id="sec.test.path">
-    		<fileset dir="${build.path}/lib">
-		        <include name="**/*.jar"/>
-		      </fileset>
-	     </path>
-    		
-    	<property name="test.deps.path" refid="sec.test.path" />
-        -->
-    	
-        <echo message="Compiling Security tests from ${src.tst.common}/unit, ${src.tst.common.ps}/unit"
/>
-    
-        <mkdir dir="${build.path}/tests" />
-
-        <javac srcdir="${src.tst.common}/unit;${src.tst.common.ps}/unit"
-               destdir="${build.path}/tests"
-               sourcepath=""
-               classpath="${env.CLASSPATH};${build.path}/tests;${test.deps.path}"
-               bootclasspath="${build.jars.path}/security.jar;${build.jars.path}/crypto.jar;${build.jars.path}/x_net.jar;${java.home}/lib/rt.jar"
-               source="${source.ver}"
-               debug="${java.debug.option}"
-        >
-
-        <include name="**/*.java"/>
-
-        </javac>
-    </target>
-
-    <target name="run">
-
-        <mkdir dir="${build.path}/tests_report" />
-
-    	<!-- run the tests -->
-    	
-        <junit fork="yes"
-            forkmode="perTest"
-            printsummary="withOutAndErr"
-            errorproperty="test.error"
-            showoutput="on"
-        	haltonfailure="on"
-            dir="${basedir}"
-            jvm="${env.JAVA_HOME}/bin/java">
- 
-        	<jvmarg value="-Xbootclasspath/p:${build.path}/classes/security_alt.jar${path.separator}${build.jars.path}/crypto.jar${path.separator}${build.jars.path}/x_net.jar"/>
-<!--            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${test.deps.path}"/>
-->
-            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${env.CLASSPATH}"/>
-            <jvmarg value="-Dreference.output=${src.tst.common}/unit" />
-            <jvmarg value="-Dunit.test.root=${src.tst.common}/unit"/>
-            <jvmarg value="-Djava.security.properties==${build.lib.path}/security/java.security"/>
-            <jvmarg value="-Djava.security.policy==${build.lib.path}/security/drl.policy"/>
-
-            <formatter type="plain" />
-            <batchtest todir="${build.path}/tests_report">
-                <fileset dir="${src.tst.common.ps}/unit">
-                    <include name="**/*Test*.java"/>
-                    <!-- Temp -->
-                    <exclude name="org/apache/harmony/security/x/security/auth/module/*LoginModuleTest.java"/>
-                </fileset>
-            </batchtest>
-            <batchtest todir="${build.path}/tests_report">
-                <fileset dir="${src.tst.common}/unit">
-                    <include name="**/*Test*.java"/>
-                    <!-- See README, Ch.5 -->
-                    <exclude name="javax/security/auth/x500/X500PrincipalTest.java" />
-                    <!-- Not a test -->
-                    <exclude name="org/apache/harmony/security/TestCertUtils.java"/>
-                    <exclude name="org/apache/harmony/security/TestKeyPair.java"/>
-                    <exclude name="org/apache/harmony/security/cert/TestUtils.java"/>
-                    <exclude name="org/apache/harmony/security/provider/cert/CertFactoryTestData.java"/>
-                    <exclude name="org/apache/harmony/security/test/**"/>
-
-                    <!-- 
-                    <exclude name="javax/security/auth/SubjectDomainCombinerTest.java"/>
-                    <exclude name="javax/security/auth/SubjectTest.java"/>
-                    <exclude name="javax/security/auth/login/LoginContextTest.java"/>
-                    -->
-
-                </fileset>
-            </batchtest>
-        </junit>
-    </target>
-
-	<!--                                                       -->
-	<!-- gen_ser : generates the serialized data for the       -->
-	<!--            serialization tests                        -->
-	<!--                                                       -->
-    <target name="gen_ser">
-
-        <mkdir dir="${build.path}/tests_report" />
-
-    	<!-- run the tests -->
-    	
-        <junit fork="yes"
-            forkmode="perTest"
-            printsummary="withOutAndErr"
-            errorproperty="test.error"
-            showoutput="on"
-        	haltonfailure="on"
-            dir="${basedir}"
-            jvm="${env.JAVA_HOME}/bin/java">
- 
-        	<jvmarg value="-Xbootclasspath/p:${build.path}/classes/security_alt.jar${path.separator}${build.jars.path}/crypto.jar${path.separator}${build.jars.path}/x_net.jar"/>
-<!--            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${test.deps.path}"/>
-->
-            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${env.CLASSPATH}"/>
-            <jvmarg value="-Dreference.output=${src.tst.common}/unit" />
-            <jvmarg value="-Dunit.test.root=${src.tst.common}/unit"/>
-            <jvmarg value="-Djava.security.properties==${build.lib.path}/security/java.security"/>
-            <jvmarg value="-Djava.security.policy==${build.lib.path}/security/drl.policy"/>
-			<jvmarg value="-Dtest.mode=serial.reference" />
-            <formatter type="plain" />
-        	
-        	<batchtest todir="${build.path}/tests_report">
-                <fileset dir="${src.tst.common}/unit">
-                    <include name="**/serialization/**/CodeSignerTest.java"/>
-                    <include name="**/serialization/**/CodeSourceTest.java"/>
-                    <include name="**/serialization/**/TimestampTest.java"/>
-                </fileset>
-            </batchtest>
-        	
-        </junit>
-    </target>
-</project>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+    Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+  
+    Licensed 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 name="HarmonySecurityBuild" default="dist" basedir="..">
+
+    <description> Build for Security stuff </description>
+
+
+
+    <!-- set global properties for this build. -->
+
+    <property name="build.compiler" value="modern"/>
+
+	<!--
+         In order to use Eclipse compiler you will need to add
+         the compiler's jars to the CLASSPATH and path to jni.h
+         to INCLUDE environment variables before build start.
+         For example:
+
+         set CLASSPATH=%ECLIPSE_HOME%/plugins/org.eclipse.jdt.core_3.0.1/jdtCompilerAdapter.jar;
\
+                 %ECLIPSE_HOME%/plugins/org.eclipse.jdt.core_3.0.1/jdtcore.jar;%CLASSPATH%
+
+         set INCLUDE=%MY_JVM%/include
+
+         property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"
+
+     -->
+
+    <property name="build.dir" value="."/>
+    <property name="build.path" location="${build.dir}/build" />
+    <property environment="env"/>
+
+
+    <condition property="if.win" value="true">
+        <os family="Windows" />
+    </condition>
+
+    <condition property="if.linux" value="true">
+        <and>
+            <os name="linux" />
+            <os family="unix" />
+        </and>
+    </condition>
+
+    <condition property="if.x86_64" value="true">
+        <contains string="${os.arch}" substring="x86_64"/>
+    </condition>
+ 
+    <condition property="if.x86" value="true">
+        <and>
+          <contains string="${os.arch}" substring="86"/>
+            <not>
+               <isset property="if.x86_64"/>
+            </not>
+        </and>
+    </condition>
+
+
+    <condition property="if.ipf" value="true">
+        <contains string="${os.arch}" substring="ia64"/>
+    </condition>
+
+
+    <!-- Platform dependency -->
+
+    <target name="timestamp" description="Set up a timestamp">
+        <tstamp>
+            <format property="build-date" pattern="yyyyMMdd" locale="en" />
+        </tstamp>
+        <tstamp>
+            <format property="build-time" pattern="yyyyMMdd_HHmm)" />
+        </tstamp>
+        <echo message="build-date=${build-date}" />
+        <echo message="build-time=${build-time}" />
+        <echo message="on platform=${os.name} version=${os.version} arch=${os.arch}" />
+        <echo message="with java home = ${java.home} VM version = ${java.vm.version} vendor
= ${java.vm.vendor}" />
+    </target>
+
+    <target name="setname.win" if="if.win">
+        <property name="platform.name" value="win" />
+        <property name="libpr" value=""/>
+        <property name="libsf" value=".dll"/>
+    </target>
+
+    <target name="setname.linux" if="if.linux">
+        <property name="platform.name" value="lnx" />
+        <property name="libpr" value="lib"/>
+        <property name="libsf" value=".so"/>
+    </target>
+
+
+    <!-- INIT TARGETS -->
+
+    <target name="init" depends="timestamp, setname.win, setname.linux">
+
+        <echo message="platform name=${platform.name}" />
+
+        <property name="java.debug.option" value="on" />
+        <property name="native.debug.option" value="on" />
+
+        <property name="src" location="${basedir}/src" />
+        <property name="src.common.java" location="${src}/common/javasrc" />
+        <property name="src.common.native" location="${src}/common/other" />
+        <property name="src.win.native" location="${src}/windows/other" />
+        <property name="src.win.java" location="${src}/windows/javasrc" />
+        <property name="src.linux.native" location="${src}/linux/other" />
+        <property name="src.linux.java" location="${src}/linux/javasrc" />
+        <property name="src.windows.other" location="${basedir}/src/windows/other/org/apache/harmony/nativelib/windows"
/>
+        <property name="src.linux.other" location="${basedir}/src/linux/other/org/apache/harmony/nativelib/X11"/>
+        <property name="src.tst" value="${basedir}/test" />
+        <property name="src.tst.common" value="${src.tst}/common" />
+
+        <property name="combined.path" value="deploy/jre"/>
+        <property name="build.lib.path" location="${build.path}/${combined.path}/lib"
/>
+        <property name="build.jars.path" location="${build.path}/${combined.path}/lib/boot"
/>
+        <property name="build.ext.path" location="${build.path}/${combined.path}/lib/ext"
/>
+        <property name="build.bin.path" location="${build.path}/${combined.path}/bin"
/>
+
+        <property name="tmp" location="${build.path}/tmp" />
+        <property name="source.ver" value="1.4" />
+
+        <property name="native.lib.name" value="**/*"/>
+
+        <echo message="if.x86_64=${if.x86_64}"/>
+        <echo message="if.x86=${if.x86}"/>
+        <echo message="if.ipf=${if.ipf}"/>
+
+        <echo message="create base dirs..." />
+        <mkdir dir="${build.path}" />
+        <mkdir dir="${tmp}" />
+        <mkdir dir="${build.lib.path}" />
+
+    </target>
+    
+    <target name="init.java_home">
+
+        <property name="JAVA_HOME" value="${env.JAVA_HOME}" />
+<!--        <property name="jni_h.path"    location="${env.JAVA_HOME}/include"/>
-->
+        <echo message="JAVA_HOME=${JAVA_HOME}"/>
+
+    </target>
+
+    <target name="init.win" depends="init, init.java_home" if="if.win">
+    	
+    	<property name="native.include.path" value="../../native-src/win.IA32/include" />
+
+    	<property name="cPath" value="${PATH};${env.Path}" />
+        <property name="cINCLUDE" value="${INCLUDE};${env.include};${env.INCLUDE};${native.include.path}"
/>
+        <property name="cLIB" value="${LIB};${env.lib};${env.LIB}" />
+        <property name="src.java" value="${src.win.java}" />
+        <property name="compile.native.tail" value="windows" />
+
+        <property name="src.tst.common.ps" value="${src.tst}/windows" />
+
+        <property name="jni_h.path"    location="${native.include.path}"/>
+        <property name="jni_md_h.path" location="${native.include.path}"/>
+
+    </target>
+
+    
+    <target name="init.linux" depends="init, init.java_home" if="if.linux">
+
+       	<property name="native.include.path" value="../../native-src/linux.IA32/include"
/>
+
+        <property name="cPath" value="${env.PATH}" />
+        <property name="cINCLUDE" value="${env.INCLUDE};${native.include.path}" />
+        <property name="cLIB" value="${env.LIB}" />
+        <property name="src.java" value="${src.linux.java}" />
+        <property name="compile.native.tail" value="linux" />
+
+        <property name="src.tst.common.ps" value="${src.tst}/linux" />
+
+        <property name="jni_h.path"    location="${native.include.path}"/>
+        <property name="jni_md_h.path" location="${native.include.path}"/>
+
+    </target>
+
+
+    <!-- SECURITY PACKAGES SETS -->
+
+    <patternset id="crypto">
+        <include name="javax/crypto/**"/>
+        <include name="org/apache/harmony/security/x/crypto/**"/>
+    </patternset>
+
+
+	<patternset id="security">
+		<include name="java/security/**"/>
+		<include name="javax/security/**"/>
+		<include name="org/apache/harmony/security/fortress/**"/>
+		<include name="org/apache/harmony/security/**"/>
+		<include name="org/apache/harmony/security/x/security/**"/>
+		<include name="org/apache/harmony/misc/Base64.*"/>
+		<include name="org/ietf/jgss/**"/>
+	</patternset>
+
+
+    <patternset id="x_net">
+        <include name="javax/net/**"/>
+    </patternset>
+
+
+    <patternset id="api.src.all">
+        <patternset refid="crypto"/>
+        <patternset refid="security"/>
+        <patternset refid="x_net"/>
+    </patternset>
+
+
+    <patternset id="unit.tests.src.all">
+        <include name="common/unit/org/apache/harmony/security/x/crypto/**"/>
+        <include name="common/unit/org/apache/harmony/sceurity/x/security/**"/>
+        <include name="common/unit/org/apache/harmony/security/**"/>
+        <include name="common/unit/org/apache/harmony/security/fortress/**"/>
+        <include name="common/unit/java/security/**"/>
+        <include name="common/unit/javax/crypto/**"/>
+        <include name="common/unit/javax/net/**"/>
+        <include name="common/unit/javax/security/**"/>
+        <include name="common/unit/org/ietf/jgss/**"/>
+        <include name="linux/unit/org/apache/harmony/security/x/security/**"/>
+        <include name="windows/unit/org/apache/harmony/security/x/security/**"/>
+    </patternset>
+
+
+    <!-- SECURITY TARGETS -->
+
+
+    <target name="dist" depends="init, init.win, init.linux, compile.api, build.jars,
build.native, copy.security"
+        description="Building Security binaries">
+        <!-- clean up -->
+        <delete dir="${tmp}"/>
+    </target>
+
+
+    <target name="tests" depends="dist, tests.compile"
+        description="Building Security tests">
+    </target>
+
+
+    <target name="tests.run" depends="tests, run"
+        description="Running Security tests">
+    </target>
+
+
+    <target name="tests.gen" depends="tests, gen_ser"
+        description="Generating serialized stuff for tests">
+    </target>
+
+    <target name="clean">
+        <delete dir="${build.path}"/>
+    </target>
+
+    <!-- SUPPORT TARGETS -->
+
+
+    <target name="build.jars">
+        <mkdir dir="${build.jars.path}"/>
+
+        <antcall target="build.one.jar">
+            <param name="ref.id" value="crypto"/>
+        </antcall>
+        <antcall target="build.one.jar">
+            <param name="ref.id" value="security"/>
+        </antcall>
+        <antcall target="build.one.jar">
+            <param name="ref.id" value="x_net"/>
+        </antcall>
+        <!-- build security.jar WITHOUT X500Principal class for tests run -->
+        <jar destfile="${build.path}/classes/security_alt.jar">
+            <fileset dir="${build.path}/classes">
+                <patternset refid="security"/>
+                <exclude name="javax/security/auth/x500/X500Principal.*" />
+            </fileset>
+        </jar>
+    </target>
+
+
+    <target name="compile.api" description="Compile Security API sources">
+        <mkdir dir="${build.path}/classes" />
+        <echo message="Compiling api classes from ${src.common.java}, ${src.java}" />
+        <javac sourcepath=""
+            destdir="${build.path}/classes"
+            source="${source.ver}"
+            debug="${java.debug.option}">
+            <src>
+                <pathelement location="${src.common.java}"/>
+                <pathelement location="${src.java}"/>
+            </src>
+            <patternset refid="api.src.all"/>
+            <bootclasspath>
+                <pathelement path="${build.path}/classes"/>
+                <fileset dir="${java.home}/lib">
+                    <include name="*.jar"/>
+                </fileset>
+            </bootclasspath>
+        </javac>
+    </target>
+
+
+    <target name="build.one.jar">
+        <property name="jar.name" value="${ref.id}.jar"/>
+        <jar destfile="${build.jars.path}/${jar.name}">
+            <fileset dir="${build.path}/classes">
+                <patternset refid="${ref.id}"/>
+            </fileset>
+        </jar>
+    </target>
+
+
+    <target name="build.native">
+        <!-- Building the native code -->
+
+        <echo message="jni_h.path=${jni_h.path}"/>
+        <echo message="jni_md_h.path=${jni_md_h.path}"/>
+
+        <subant target="" inheritall="true">
+            <fileset dir="make/native/${compile.native.tail}" includes="jaaswin.xml, jaasnix.xml"/>
+        </subant>
+    </target>
+
+
+    <target name="copy.security">
+        <mkdir dir="${build.ext.path}"/>
+
+        <!-- Copy java_home/lib/security -->
+        <copy todir="${build.lib.path}/security">
+            <fileset dir="${src}/java.home/lib/security"/>
+        </copy>
+
+    </target>
+
+
+    <target name="tests.compile">
+    	
+    	<!-- download the jars we need for testing and create a path -->
+
+    	<!--
+    	<ant antfile="make/download.xml" target="test-download" />
+    		
+    	<path id="sec.test.path">
+    		<fileset dir="${build.path}/lib">
+		        <include name="**/*.jar"/>
+		      </fileset>
+	     </path>
+    		
+    	<property name="test.deps.path" refid="sec.test.path" />
+        -->
+    	
+        <echo message="Compiling Security tests from ${src.tst.common}/unit, ${src.tst.common.ps}/unit"
/>
+    
+        <mkdir dir="${build.path}/tests" />
+
+        <javac srcdir="${src.tst.common}/unit;${src.tst.common.ps}/unit"
+               destdir="${build.path}/tests"
+               sourcepath=""
+               classpath="${env.CLASSPATH};${build.path}/tests;${test.deps.path}"
+               bootclasspath="${build.jars.path}/security.jar;${build.jars.path}/crypto.jar;${build.jars.path}/x_net.jar;${java.home}/lib/rt.jar"
+               source="${source.ver}"
+               debug="${java.debug.option}"
+        >
+
+        <include name="**/*.java"/>
+
+        </javac>
+    </target>
+
+    <target name="run">
+
+        <mkdir dir="${build.path}/tests_report" />
+
+    	<!-- run the tests -->
+    	
+        <junit fork="yes"
+            forkmode="perTest"
+            printsummary="withOutAndErr"
+            errorproperty="test.error"
+            showoutput="on"
+        	haltonfailure="on"
+            dir="${basedir}"
+            jvm="${env.JAVA_HOME}/bin/java">
+ 
+        	<jvmarg value="-Xbootclasspath/p:${build.path}/classes/security_alt.jar${path.separator}${build.jars.path}/crypto.jar${path.separator}${build.jars.path}/x_net.jar"/>
+<!--            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${test.deps.path}"/>
-->
+            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${env.CLASSPATH}"/>
+            <jvmarg value="-Dreference.output=${src.tst.common}/unit" />
+            <jvmarg value="-Dunit.test.root=${src.tst.common}/unit"/>
+            <jvmarg value="-Djava.security.properties==${build.lib.path}/security/java.security"/>
+            <jvmarg value="-Djava.security.policy==${build.lib.path}/security/drl.policy"/>
+
+            <formatter type="plain" />
+            <batchtest todir="${build.path}/tests_report">
+                <fileset dir="${src.tst.common.ps}/unit">
+                    <include name="**/*Test*.java"/>
+                    <!-- Temp -->
+                    <exclude name="org/apache/harmony/security/x/security/auth/module/*LoginModuleTest.java"/>
+                </fileset>
+            </batchtest>
+            <batchtest todir="${build.path}/tests_report">
+                <fileset dir="${src.tst.common}/unit">
+                    <include name="**/*Test*.java"/>
+                    <!-- See README, Ch.5 -->
+                    <exclude name="javax/security/auth/x500/X500PrincipalTest.java" />
+                    <!-- Not a test -->
+                    <exclude name="org/apache/harmony/security/TestCertUtils.java"/>
+                    <exclude name="org/apache/harmony/security/TestKeyPair.java"/>
+                    <exclude name="org/apache/harmony/security/cert/TestUtils.java"/>
+                    <exclude name="org/apache/harmony/security/provider/cert/CertFactoryTestData.java"/>
+                    <exclude name="org/apache/harmony/security/test/**"/>
+
+                    <!-- 
+                    <exclude name="javax/security/auth/SubjectDomainCombinerTest.java"/>
+                    <exclude name="javax/security/auth/SubjectTest.java"/>
+                    <exclude name="javax/security/auth/login/LoginContextTest.java"/>
+                    -->
+
+                </fileset>
+            </batchtest>
+        </junit>
+    </target>
+
+	<!--                                                       -->
+	<!-- gen_ser : generates the serialized data for the       -->
+	<!--            serialization tests                        -->
+	<!--                                                       -->
+    <target name="gen_ser">
+
+        <mkdir dir="${build.path}/tests_report" />
+
+    	<!-- run the tests -->
+    	
+        <junit fork="yes"
+            forkmode="perTest"
+            printsummary="withOutAndErr"
+            errorproperty="test.error"
+            showoutput="on"
+        	haltonfailure="on"
+            dir="${basedir}"
+            jvm="${env.JAVA_HOME}/bin/java">
+ 
+        	<jvmarg value="-Xbootclasspath/p:${build.path}/classes/security_alt.jar${path.separator}${build.jars.path}/crypto.jar${path.separator}${build.jars.path}/x_net.jar"/>
+<!--            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${test.deps.path}"/>
-->
+            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${env.CLASSPATH}"/>
+            <jvmarg value="-Dreference.output=${src.tst.common}/unit" />
+            <jvmarg value="-Dunit.test.root=${src.tst.common}/unit"/>
+            <jvmarg value="-Djava.security.properties==${build.lib.path}/security/java.security"/>
+            <jvmarg value="-Djava.security.policy==${build.lib.path}/security/drl.policy"/>
+			<jvmarg value="-Dtest.mode=serial.reference" />
+            <formatter type="plain" />
+        	
+        	<batchtest todir="${build.path}/tests_report">
+                <fileset dir="${src.tst.common}/unit">
+                    <include name="**/serialization/**/CodeSignerTest.java"/>
+                    <include name="**/serialization/**/CodeSourceTest.java"/>
+                    <include name="**/serialization/**/TimestampTest.java"/>
+                </fileset>
+            </batchtest>
+        	
+        </junit>
+    </target>
+
+	<!--                                                       -->
+	<!-- test.classlib : Running Security tests against the    -->
+	<!--                 Harmony classlib.  This also uses     -->
+	<!--                 the HarmonyVM (or whatever) found     -->
+    <!--                 at ../../deploy/jre                   -->
+	<!--                                                       -->
+
+    <target name="test.classlib" depends="tests"
+    	description="Running Security tests on Harmony classlib">
+
+        <mkdir dir="${build.path}/tests_report" />
+
+    	<property name="vm.home" location="../../deploy/jre" />
+
+        <junit fork="yes"
+            forkmode="perTest"
+            printsummary="withOutAndErr"
+            errorproperty="test.error"
+            showoutput="on"
+        	haltonfailure="on"
+            dir="${basedir}"
+            jvm="${vm.home}/bin/java">
+        	
+        	<env key="JAVA_HOME" value="${vm.home}"/>
+
+        	<!-- to pick up junit.jar and bouncycastle.jar -->
+            <jvmarg value="-Xbootclasspath/a:${build.path}/tests${path.separator}${env.CLASSPATH}"/>
+
+        	<jvmarg value="-Djava.security.properties==${build.lib.path}/security/java.security"/>
+            <jvmarg value="-Djava.security.policy==${build.lib.path}/security/drl.policy"/>
+        	<jvmarg value="-DTEST_SRC_DIR=${src.tst.common}/unit"/>
+
+            <formatter type="plain" />
+            <batchtest todir="${build.path}/tests_report">
+                <fileset dir="${src.tst.common}/unit">
+                    <include name="**/*Test*.java"/>
+
+                	<!-- Not a test -->
+                    <exclude name="org/apache/harmony/security/TestCertUtils.java"/>
+                    <exclude name="org/apache/harmony/security/TestKeyPair.java"/>
+                    <exclude name="org/apache/harmony/security/cert/TestUtils.java"/>
+                    <exclude name="org/apache/harmony/security/provider/cert/CertFactoryTestData.java"/>
+                    <exclude name="org/apache/harmony/security/test/**"/>
+                	
+                	<!-- Harmony exclude list -->
+                	<exclude name="java/security/AlgorithmParameterGeneratorTest1.java"/>
+                	<exclude name="java/security/KSBuilderTest.java"/>
+                	<exclude name="java/security/KeyPairGeneratorTest1.java"/>
+                	<exclude name="java/security/KeyPairGeneratorTest3.java"/>
+                	<exclude name="java/security/KeyStoreTest1.java"/>
+                	<exclude name="java/security/SignedObjectTest.java"/>
+                	<exclude name="java/security/cert/PKIXBuilderParametersTest.java"/>
+                	<exclude name="java/security/cert/PKIXParametersTest.java"/>
+                	<exclude name="java/security/cert/TrustAnchorTest.java"/>
+                	<exclude name="java/security/cert/X509CRLSelectorTest.java"/>
+                	<exclude name="java/security/cert/X509CertSelectorTest.java"/>
+                	<exclude name="java/security/serialization/KeyPairTest.java"/>
+                	<exclude name="java/security/serialization/SignedObjectTest.java"/>
+                	<exclude name="java/security/spec/DSAParameterSpecTest.java"/>
+                	<exclude name="java/security/spec/DSAPrivateKeySpecTest.java"/>
+                	<exclude name="java/security/spec/DSAPublicKeySpecTest.java"/>
+                	<exclude name="java/security/spec/ECFieldF2mTest.java"/>
+                	<exclude name="java/security/spec/ECFieldFpTest.java"/>
+                	<exclude name="java/security/spec/ECParameterSpecTest.java"/>
+                	<exclude name="java/security/spec/ECPointTest.java"/>
+                	<exclude name="java/security/spec/ECPrivateKeySpecTest.java"/>
+                	<exclude name="java/security/spec/ECPublicKeySpecTest.java"/>
+                	<exclude name="java/security/spec/EllipticCurveTest.java"/>
+                	<exclude name="java/security/spec/RSAKeyGenParameterSpecTest.java"/>
+                	<exclude name="java/security/spec/RSAMultiPrimePrivateCrtKeySpecTest.java"/>
+                	<exclude name="java/security/spec/RSAOtherPrimeInfoTest.java"/>
+                	<exclude name="java/security/spec/RSAPrivateCrtKeySpecTest.java"/>
+                	<exclude name="java/security/spec/RSAPrivateKeySpecTest.java"/>
+                	<exclude name="java/security/spec/RSAPublicKeySpecTest.java"/>
+                	<exclude name="javax/crypto/EncryptedPrivateKeyInfoTest.java"/>
+                	<exclude name="javax/crypto/KeyAgreementTest1.java"/>
+                	<exclude name="javax/crypto/spec/DHParameterSpecTest.java"/>
+                	<exclude name="javax/crypto/spec/DHPrivateKeySpecTest.java"/>
+                	<exclude name="javax/crypto/spec/DHPublicKeySpecTest.java"/>
+                	<exclude name="javax/security/auth/PrivateCredentialPermissionTest.java"/>
+                	<exclude name="javax/security/auth/SubjectDomainCombinerTest.java"/>
+                	<exclude name="javax/security/auth/SubjectTest.java"/>
+                	<exclude name="javax/security/auth/login/LoginContextTest.java"/>
+                	<exclude name="javax/security/auth/login/serialization/SerAccountExpiredExceptionTest.java"/>
+                	<exclude name="javax/security/auth/login/serialization/SerCredentialExpiredExceptionTest.java"/>
+                    <exclude name="javax/security/auth/x500/X500PrincipalTest.java" />
+                	<exclude name="javax/security/cert/X509CertificateTest.java"/>
+                	<exclude name="org/apache/harmony/security/asn1/der/BerInputStreamTest.java"/>
+                	<exclude name="org/apache/harmony/security/asn1/der/IntegerTest.java"/>
+                	<exclude name="org/apache/harmony/security/provider/cert/X509CRLImplTest.java"/>
+                	<exclude name="org/apache/harmony/security/provider/cert/X509CertFactoryImplTest.java"/>
+                	<exclude name="org/apache/harmony/security/provider/cert/X509CertFactoryPerfTest.java"/>
+                	<exclude name="org/apache/harmony/security/provider/cert/X509CertImplTest.java"/>
+                	<exclude name="org/apache/harmony/security/provider/cert/X509CertPathImplTest.java"/>
+                	<exclude name="org/apache/harmony/security/x509/CertificateListTest.java"/>
+                	<exclude name="org/apache/harmony/security/x509/CertificateTest.java"/>
+
+                </fileset>
+            </batchtest>
+        </junit>
+    </target>
+
+</project>



Mime
View raw message