You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2018/08/29 17:45:07 UTC
svn commit: r1839593 - in /openoffice/trunk:
main/jurt/java/jurt/src/test/idl/ main/jurt/java/jurt/src/test/idl/com/
main/jurt/java/jurt/src/test/idl/com/sun/
main/jurt/java/jurt/src/test/idl/com/sun/star/
main/jurt/java/jurt/src/test/idl/com/sun/star/...
Author: damjan
Date: Wed Aug 29 17:45:06 2018
New Revision: 1839593
URL: http://svn.apache.org/viewvc?rev=1839593&view=rev
Log:
Automatically build .idl files found in src/main/idl and src/test/idl
without having to specify them.
Clean up the Ant build a little, removing the unused cppumaker
functions I was experimenting with, and fully generalize IDL building
so it doesn't use any Ant properties, only macrodefs.
Patch by: me
Added:
openoffice/trunk/main/jurt/java/jurt/src/test/idl/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/lib/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/lib/uno/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/lib/uno/protocols/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/lib/uno/protocols/urp/
openoffice/trunk/main/jurt/java/jurt/src/test/idl/com/sun/star/lib/uno/protocols/urp/interfaces.idl
- copied unchanged from r1839592, openoffice/trunk/main/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/interfaces.idl
openoffice/trunk/test/smoketestdoc/src/main/idl/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/sun/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/sun/star/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/sun/star/comp/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/sun/star/comp/smoketest/
openoffice/trunk/test/smoketestdoc/src/main/idl/com/sun/star/comp/smoketest/TestExtension.idl
- copied unchanged from r1839592, openoffice/trunk/test/smoketestdoc/src/main/java/com/sun/star/comp/smoketest/TestExtension.idl
Removed:
openoffice/trunk/main/jurt/java/jurt/src/test/java/com/sun/star/lib/uno/protocols/urp/interfaces.idl
openoffice/trunk/test/smoketestdoc/src/main/java/com/sun/star/comp/smoketest/TestExtension.idl
Modified:
openoffice/trunk/main/ridljar/java/ridl/build.xml
openoffice/trunk/main/solenv/ant/aoo-ant.xml
openoffice/trunk/main/solenv/ant/idl.xml
openoffice/trunk/test/smoketestdoc/build.xml
Modified: openoffice/trunk/main/ridljar/java/ridl/build.xml
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/ridljar/java/ridl/build.xml?rev=1839593&r1=1839592&r2=1839593&view=diff
==============================================================================
--- openoffice/trunk/main/ridljar/java/ridl/build.xml (original)
+++ openoffice/trunk/main/ridljar/java/ridl/build.xml Wed Aug 29 17:45:06 2018
@@ -44,8 +44,8 @@
<target name="javamaker-udkapi" depends="check-javamaker-udkapi" extensionOf="pre-compile" unless="${javamaker.udkapi.skip}">
<mkdir dir="${main.build.dir}"/>
<javamaker
- inputRdb="${OUTDIR}/bin/udkapi.rdb"
- outputDirectory="${main.build.dir}"/>
+ rdbFile="${OUTDIR}/bin/udkapi.rdb"
+ outputDir="${main.build.dir}"/>
<touch file="${javamaker.udkapi.flag}"/>
</target>
Modified: openoffice/trunk/main/solenv/ant/aoo-ant.xml
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/ant/aoo-ant.xml?rev=1839593&r1=1839592&r2=1839593&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/ant/aoo-ant.xml (original)
+++ openoffice/trunk/main/solenv/ant/aoo-ant.xml Wed Aug 29 17:45:06 2018
@@ -35,11 +35,20 @@
<property file="${aoo-ant.basedir}/../inc/minor.mk"/>
<property name="build.base.dir" location="${WORKDIR}/Ant/${ant.project.name}"/>
+
<property name="main.src.dir" location="src/main/java"/>
- <property name="main.build.dir" location="${build.base.dir}/main"/>
+ <property name="idl.src.dir" location="src/main/idl"/>
<property name="test.src.dir" location="src/test/java"/>
+ <property name="test-idl.src.dir" location="src/test/idl"/>
+
+ <property name="main.build.dir" location="${build.base.dir}/main"/>
+ <property name="idl.build.dir" location="${build.base.dir}/idl"/>
+ <property name="idl.build.classes.dir" location="${build.base.dir}/idl/classes"/>
<property name="test.build.dir" location="${build.base.dir}/test"/>
+ <property name="test-idl.build.dir" location="${build.base.dir}/test-idl"/>
+ <property name="test-idl.classes.build.dir" location="${build.base.dir}/test-idl/classes"/>
<property name="test.reports.dir" location="${build.base.dir}/test-reports"/>
+
<property name="java.baseline.version" value="1.7"/>
<property name="jar.dir" location="${WORKDIR}/Ant"/>
@@ -63,7 +72,10 @@
<condition property="has.main.classpath">
<isreference refid="main.classpath"/>
</condition>
- <path id="main.classpath" unless:set="has.main.classpath"/>
+ <path id="internal.main.classpath">
+ <path refid="main.classpath" if:set="has.main.classpath"/>
+ <pathelement location="${idl.classes.build.dir}"/>
+ </path>
<local name="has.test.classpath"/>
<condition property="has.test.classpath">
@@ -71,19 +83,14 @@
</condition>
<path id="internal.test.classpath">
<pathelement location="${main.build.dir}"/>
+ <pathelement location="${idl.classes.build.dir}"/>
<pathelement location="${test.build.dir}"/>
+ <pathelement location="${test-idl.classes.build.dir}"/>
<path refid="main.classpath"/>
<path refid="test.classpath" if:set="has.test.classpath"/>
- <pathelement location="${idl.classes.build.dir}"/>
<pathelement location="${OOO_JUNIT_JAR}"/>
<pathelement location="${HAMCREST_CORE_JAR}" if:set="HAMCREST_CORE_JAR"/>
</path>
-
- <local name="has.idl.files"/>
- <condition property="has.idl.files">
- <isreference refid="idl.files"/>
- </condition>
- <filelist id="idl.files" unless:set="has.idl.files"/>
</target>
<target name="res" depends="prepare">
@@ -109,7 +116,14 @@
<extension-point name="pre-compile" depends="prepare,res"/>
- <target name="compile" depends="pre-compile">
+ <target name="idl" depends="pre-compile">
+ <fileset id="idl.files" dir="${idl.src.dir}" includes="**/*.idl" erroronmissingdir="false"/>
+ <idl-javamaker
+ idlFiles="idl.files"
+ idlBuildDir="${idl.build.dir}"/>
+ </target>
+
+ <target name="compile" depends="idl">
<mkdir dir="${main.build.dir}"/>
<javac srcdir="${main.src.dir}"
destdir="${main.build.dir}"
@@ -118,7 +132,7 @@
debug="${main.debug}"
debuglevel="lines,vars,source"
deprecation="${main.deprecation}"
- classpathref="main.classpath"
+ classpathref="internal.main.classpath"
includeantruntime="false"/>
</target>
@@ -146,7 +160,14 @@
</sequential>
</macrodef>
- <target name="test-compile" depends="compile,idl">
+ <target name="test-idl" depends="pre-compile">
+ <fileset id="test-idl.files" dir="${test-idl.src.dir}" includes="**/*.idl" erroronmissingdir="false"/>
+ <idl-javamaker
+ idlFiles="test-idl.files"
+ idlBuildDir="${test-idl.build.dir}"/>
+ </target>
+
+ <target name="test-compile" depends="compile,test-idl">
<check-test/>
<mkdir dir="${test.build.dir}" unless:set="test.skip"/>
<javac srcdir="${test.src.dir}"
@@ -178,12 +199,15 @@
<target name="jar" depends="compile" if="${jar.enabled}">
<jar destfile="${jar.dir}/${jar.name}.jar"
- basedir="${main.build.dir}"
- manifest="${jar.manifest}">
+ manifest="${jar.manifest}"
+ duplicate="fail">
<manifest>
<attribute name="Class-Path" value="${jar.classpath}" unless:blank="${jar.classpath}"/>
<attribute name="Solar-Version" value="${RSCREVISION}"/>
</manifest>
+ <fileset dir="${main.build.dir}"/>
+<!-- Breaks trunk/test/smoketestdoc by packaging different classes with the same name: -->
+<!-- <fileset dir="${idl.build.classes.dir}" erroronmissingdir="false"/> -->
<include name="**/*.class"/>
<include name="**/*.properties"/>
<include name="**/*.css"/>
Modified: openoffice/trunk/main/solenv/ant/idl.xml
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/ant/idl.xml?rev=1839593&r1=1839592&r2=1839593&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/ant/idl.xml (original)
+++ openoffice/trunk/main/solenv/ant/idl.xml Wed Aug 29 17:45:06 2018
@@ -28,160 +28,105 @@
<!-- global properties -->
<property file="${idl.basedir}/../../ant.properties"/>
-
-
- <property name="idl.build.dir" location="${build.base.dir}/idl"/>
- <property name="idl.urd.build.dir" location="${idl.build.dir}/urd"/>
- <property name="idl.rdb.build.dir" location="${idl.build.dir}/rdb"/>
- <property name="idl.classes.build.dir" location="${idl.build.dir}/classes"/>
- <property name="idl.javamaker.flag" location="${idl.build.dir}/idl.javamaker.flag"/>
-
- <target name="idl">
- <check-idl/>
- <build-idl unless:set="idl.uptodate"/>
- </target>
-
- <target name="unoprivateapi-cppumaker">
- <property name="idl.cppumaker.flag" location="${unoprivateapi.outdir}/idl.cppumaker.flag"/>
- <check-idl-cppumaker/>
- <build-idl-cppumaker unless:set="idl.cppumaker.uptodate"/>
- </target>
-
- <macrodef name="check-idl">
- <sequential>
- <local name="idl.files.exist"/>
- <condition property="idl.files.exist">
- <resourcecount refid="idl.files" when="greater" count="0"/>
+ <macrodef name="idl-javamaker">
+ <attribute name="idlFiles"/>
+ <attribute name="idlBuildDir"/>
+ <sequential>
+ <local name="idl.javamaker.flag"/>
+ <property name="idl.javamaker.flag" location="@{idlBuildDir}/idl.javamaker.flag"/>
+
+ <local name="idl.uptodate"/>
+ <condition property="idl.uptodate">
+ <resourcecount property="idl.uptodate" when="equal" count="0">
+ <resources refid="@{idlFiles}"/>
+ </resourcecount>
</condition>
- <uptodate property="idl.uptodate" targetfile="${idl.javamaker.flag}" if:set="idl.files.exist">
- <srcresources>
- <resources refid="idl.files"/>
- </srcresources>
- </uptodate>
- <property name="idl.uptodate" value="true" unless:set="idl.files.exist"/>
- </sequential>
- </macrodef>
-
- <macrodef name="check-idl-cppumaker">
- <sequential>
- <uptodate property="idl.cppumaker.uptodate" targetfile="${idl.cppumaker.flag}">
- <srcresources>
- <file name="${unoprivateapi.idl}"/>
- </srcresources>
+ <uptodate property="idl.uptodate" targetfile="${idl.javamaker.flag}" unless:set="idl.uptodate">
+ <srcfiles refid="@{idlFiles}"/>
</uptodate>
+ <build-idl
+ idlFiles="@{idlFiles}"
+ idlBuildDir="@{idlBuildDir}"
+ targetFlagFile="${idl.javamaker.flag}"
+ unless:set="idl.uptodate"/>
</sequential>
</macrodef>
<macrodef name="build-idl">
- <sequential>
- <idlc urdDirectory="${idl.urd.build.dir}">
- <idlFiles>
- <resources refid="idl.files"/>
- </idlFiles>
- </idlc>
+ <attribute name="idlFiles"/>
+ <attribute name="idlBuildDir"/>
+ <attribute name="targetFlagFile"/>
+ <sequential>
+ <idlc
+ idlFiles="@{idlFiles}"
+ urdDir="@{idlBuildDir}/urd"/>
<regmerge
- urdDirectory="${idl.urd.build.dir}"
- rdbDirectory="${idl.rdb.build.dir}"/>
+ urdDir="@{idlBuildDir}/urd"
+ rdbFile="@{idlBuildDir}/registry.rdb"/>
<javamaker
- inputRdb="${idl.rdb.build.dir}/registry.rdb"
- outputDirectory="${idl.classes.build.dir}"
+ rdbFile="@{idlBuildDir}/registry.rdb"
+ outputDir="@{idlBuildDir}/classes"
noDependentTypes="true"
excludes="${OUTDIR}/bin/types.rdb"/>
- <touch file="${idl.javamaker.flag}"/>
- </sequential>
- </macrodef>
-
- <macrodef name="build-idl-cppumaker">
- <sequential>
- <idlc urdDirectory="${unoprivateapi.outdir}/urd">
- <idlFiles>
- <file name="${unoprivateapi.idl}"/>
- </idlFiles>
- </idlc>
- <regmerge
- urdDirectory="${unoprivateapi.outdir}/urd"
- rdbDirectory="${unoprivateapi.outdir}/rdb"/>
- <cppumaker
- inputRdb="${unoprivateapi.outdir}/rdb/registry.rdb"
- outputDirectory="${unoprivateapi.outdir}/inc"/>
- <touch file="${idl.cppumaker.flag}"/>
+ <touch file="@{targetFlagFile}"/>
</sequential>
</macrodef>
<macrodef name="idlc">
- <element name="idlFiles"/>
- <attribute name="urdDirectory"/>
+ <attribute name="idlFiles"/>
+ <attribute name="urdDir"/>
<sequential>
- <mkdir dir="@{urdDirectory}"/>
+ <mkdir dir="@{urdDir}"/>
<apply executable="${OUTDIR}/bin/idlc" failonerror="true">
<env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
<env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
<arg value="-I${OUTDIR}/idl"/>
<arg value="-O"/>
- <arg value="@{urdDirectory}"/>
+ <arg value="@{urdDir}"/>
<arg value="-verbose"/>
<arg value="-cid"/>
<arg value="-we"/>
- <resources>
- <idlFiles/>
- </resources>
+ <fileset refid="@{idlFiles}"/>
</apply>
</sequential>
</macrodef>
<macrodef name="regmerge">
- <attribute name="urdDirectory"/>
- <attribute name="rdbDirectory"/>
+ <attribute name="urdDir"/>
+ <attribute name="rdbFile"/>
<sequential>
- <mkdir dir="@{rdbDirectory}"/>
- <delete file="@{rdbDirectory}/registry.rdb"/>
+ <delete file="@{rdbFile}"/>
<apply executable="${OUTDIR}/bin/regmerge" failonerror="true">
<env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
<env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
- <arg value="@{rdbDirectory}/registry.rdb"/>
+ <arg value="@{rdbFile}"/>
<arg value="/UCR"/>
- <fileset dir="@{urdDirectory}" includes="**/*.urd"/>
+ <fileset dir="@{urdDir}" includes="**/*.urd"/>
</apply>
</sequential>
</macrodef>
<macrodef name="javamaker">
- <attribute name="inputRdb"/>
- <attribute name="outputDirectory"/>
+ <attribute name="rdbFile"/>
+ <attribute name="outputDir"/>
<attribute name="noDependentTypes" default="false"/>
<attribute name="excludes" default=""/>
<sequential>
- <mkdir dir="@{outputDirectory}"/>
+ <mkdir dir="@{outputDir}"/>
<exec executable="${OUTDIR}/bin/javamaker" failonerror="true">
<env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
<env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
- <arg value="-O@{outputDirectory}"/>
+ <arg value="-O@{outputDir}"/>
<arg value="-BUCR"/>
<arg value="-nD"
if:true="@{noDependentTypes}"/>
- <arg value="@{inputRdb}"/>
+ <arg value="@{rdbFile}"/>
<arg value="-X@{excludes}"
unless:blank="@{excludes}"/>
</exec>
</sequential>
</macrodef>
- <macrodef name="cppumaker">
- <attribute name="inputRdb"/>
- <attribute name="outputDirectory"/>
- <sequential>
- <mkdir dir="@{outputDirectory}"/>
- <exec executable="${OUTDIR}/bin/cppumaker" failonerror="true">
- <env key="LD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
- <env key="DYLD_LIBRARY_PATH" value="${OUTDIR}/lib"/>
- <arg value="-O@{outputDirectory}"/>
- <arg value="-BUCR"/>
- <arg value="-C"/>
- <arg value="@{inputRdb}"/>
- <arg value="${OUTDIR}/bin/udkapi.rdb"/>
- </exec>
- </sequential>
- </macrodef>
</project>
Modified: openoffice/trunk/test/smoketestdoc/build.xml
URL: http://svn.apache.org/viewvc/openoffice/trunk/test/smoketestdoc/build.xml?rev=1839593&r1=1839592&r2=1839593&view=diff
==============================================================================
--- openoffice/trunk/test/smoketestdoc/build.xml (original)
+++ openoffice/trunk/test/smoketestdoc/build.xml Wed Aug 29 17:45:06 2018
@@ -41,10 +41,6 @@
<pathelement location="${OUTDIR}/bin/ridl.jar"/>
<pathelement location="${OUTDIR}/bin/unoil.jar"/>
</path>
-
- <filelist id="idl.files">
- <file name="${main.src.dir}/com/sun/star/comp/smoketest/TestExtension.idl"/>
- </filelist>
</target>
<target name="pre-clean">
@@ -90,7 +86,7 @@
</target>
<target name="TestExtension" depends="main,smoketestdoc">
- <copy tofile="${build.base.dir}/TestExtension/TestExtension.rdb" file="${idl.rdb.build.dir}/registry.rdb"/>
+ <copy tofile="${build.base.dir}/TestExtension/TestExtension.rdb" file="${idl.build.dir}/registry.rdb"/>
<mkdir dir="${build.base.dir}/TestExtension/META-INF"/>
<copy todir="${build.base.dir}/TestExtension/META-INF" file="${project.dir}/manifest.xml"/>
<zip destfile="${build.base.dir}/TestExtension.oxt" basedir="${build.base.dir}/TestExtension"/>