[ooo-build-commit] ooeclipse: Branch 'master'

Cédric Bosdonnat cbosdo at kemper.freedesktop.org
Tue Apr 1 13:44:52 PDT 2014


 java/source/org/openoffice/ide/eclipse/java/export/JavaExportPart.java |   69 ++-
 java/source/org/openoffice/ide/eclipse/java/export/build.xml           |  182 --------
 java/source/org/openoffice/ide/eclipse/java/export/build.xml.tpl       |  212 ++++++++++
 java/source/org/openoffice/ide/eclipse/java/messages.properties        |    1 
 4 files changed, 265 insertions(+), 199 deletions(-)

New commits:
commit a991733db00c6bcd95c8234ae6e0f95e633e2a1d
Author: Cédric Bosdonnat <cedric.bosdonnat at free.fr>
Date:   Tue Apr 1 22:40:00 2014 +0200

    Generate an ant build file for exported projects

diff --git a/java/source/org/openoffice/ide/eclipse/java/export/JavaExportPart.java b/java/source/org/openoffice/ide/eclipse/java/export/JavaExportPart.java
index 69fcbb9..3c8dbd2 100644
--- a/java/source/org/openoffice/ide/eclipse/java/export/JavaExportPart.java
+++ b/java/source/org/openoffice/ide/eclipse/java/export/JavaExportPart.java
@@ -20,16 +20,23 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
- * 
+ *
  * The Initial Developer of the Original Code is: Cédric Bosdonnat.
  *
  * Copyright: 2009 by Cédric Bosdonnat
  *
  * All Rights Reserved.
- * 
+ *
  ************************************************************************/
 package org.openoffice.ide.eclipse.java.export;
 
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Properties;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -41,14 +48,17 @@ import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
+import org.openoffice.ide.eclipse.core.PluginLogger;
+import org.openoffice.ide.eclipse.core.model.IUnoidlProject;
 import org.openoffice.ide.eclipse.core.model.language.LanguageExportPart;
 import org.openoffice.ide.eclipse.core.wizards.pages.ManifestExportPage;
 import org.openoffice.ide.eclipse.java.Messages;
+import org.openoffice.ide.eclipse.java.utils.TemplatesHelper;
 import org.openoffice.plugin.core.model.UnoPackage;
 
 /**
  * Dialog part for the Ant scripts export configuration.
- * 
+ *
  * @author Cédric Bosdonnat
  *
  */
@@ -60,38 +70,38 @@ public class JavaExportPart extends LanguageExportPart {
     private Text mNameRowTxt;
 
     private JavaExportPageControl mController;
-    
+
     /**
      * {@inheritDoc}
      */
     @Override
     public void createControls(Composite pParent) {
-        
+
         mController = new JavaExportPageControl();
-        
+
         Label titleLbl = new Label( pParent, SWT.NONE );
         titleLbl.setText( Messages.getString("JavaExportPart.Title") ); //$NON-NLS-1$
         titleLbl.setLayoutData( new GridData( SWT.BEGINNING, SWT.BEGINNING, false, false ) );
-        
+
         Composite content = new Composite( pParent, SWT.NONE );
         GridData gd = new GridData( SWT.FILL, SWT.FILL, true, true );
         gd.horizontalIndent = ManifestExportPage.HORIZONTAL_INDENT;
         content.setLayoutData( gd );
         content.setLayout( new GridLayout() );
-        
+
         mSaveScripts = new Button( content, SWT.CHECK );
         mSaveScripts.setText( Messages.getString("JavaExportPart.SaveAntScript") ); //$NON-NLS-1$
         mSaveScripts.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, true, false ) );
         mSaveScripts.addSelectionListener( new SelectionListener() {
-            
+
             public void widgetSelected( SelectionEvent pE ) {
-                
+
                 mController.setSaveAntScript( mSaveScripts.getSelection() );
-                
+
                 mNameRowLbl.setEnabled( mController.isSavePathEnabled() );
                 mNameRowTxt.setEnabled( mController.isSavePathEnabled() );
             }
-            
+
             public void widgetDefaultSelected( SelectionEvent pE ) {
                 widgetSelected( pE );
             }
@@ -102,20 +112,20 @@ public class JavaExportPart extends LanguageExportPart {
         gd = new GridData( SWT.FILL, SWT.BEGINNING, true, false );
         gd.horizontalIndent = ManifestExportPage.HORIZONTAL_INDENT;
         mNameRow.setLayoutData( gd );
-        
+
         mNameRowLbl = new Label( mNameRow, SWT.NONE );
         mNameRowLbl.setLayoutData( new GridData( SWT.BEGINNING, SWT.CENTER, false, false ) );
         mNameRowLbl.setText( Messages.getString("JavaExportPart.AntFile") ); //$NON-NLS-1$
-        
+
         mNameRowTxt = new Text( mNameRow, SWT.BORDER | SWT.SINGLE );
         mNameRowTxt.setLayoutData( new GridData( SWT.FILL, SWT.CENTER, true, false ) );
         mNameRowTxt.addModifyListener( new ModifyListener() {
-            
+
             public void modifyText( ModifyEvent pEvent ) {
                 mController.setSavePath( mNameRowTxt.getText() );
             }
         });
-        
+
         // Load the default values
         mSaveScripts.setSelection( mController.isSavePathEnabled() );
         mNameRowTxt.setText( mController.getSavePath() );
@@ -140,7 +150,32 @@ public class JavaExportPart extends LanguageExportPart {
     @Override
     public void doFinish( UnoPackage pModel ) {
         if ( mController.getSaveAntScript() ) {
-            // TODO Generate the build script
+
+            // Generate the build script
+            IUnoidlProject unoProject = getPage().getProject();
+            String prjName = unoProject.getName();
+            IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(unoProject.getName());
+
+            TemplatesHelper.copyTemplate( project, mController.getSavePath(),
+                            JavaExportPart.class, new String( ), prjName );
+
+            // Generate the build.properties file
+            File dir = project.getFile(mController.getSavePath()).getLocation().toFile().getParentFile();
+            File propsFile = new File(dir, "build.properties"); //$NON-NLS-1$
+            FileWriter writer = null;
+
+            try {
+                writer = new FileWriter(propsFile);
+
+                Properties props = new Properties();
+                props.put("office.install.dir", new String()); //$NON-NLS-1$
+                props.put("sdk.dir", new String()); //$NON-NLS-1$
+                props.put("java.debug", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+                props.store(writer, "This file can contain setup-dependent data, don't commit them!"); //$NON-NLS-1$
+                writer.close();
+            } catch ( IOException e ) {
+                PluginLogger.error( Messages.getString("JavaExportPart.BuildPropertiesError"), e ); //$NON-NLS-1$
+            }
         }
     }
 }
diff --git a/java/source/org/openoffice/ide/eclipse/java/export/build.xml b/java/source/org/openoffice/ide/eclipse/java/export/build.xml
deleted file mode 100644
index 2e63008..0000000
--- a/java/source/org/openoffice/ide/eclipse/java/export/build.xml
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This library is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as 
- * published by the Free Software Foundation, either version 3 of 
- * the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program. 
- * If not, see <http://www.gnu.org/licenses/>.
- * 
- * Copyright: 2009 by Cédric Bosdonnat
- *
- * All Rights Reserved.
- -->
-<project name="COOoder" default="package-oxt" basedir="..">
-
-    <target name="init-env">
-    	
-    	<!--  set properties from libreoffice install and its SDK -->
-    	<echo message="Initializing the properties for LibreOffice"/>
-    	
-    	<property name="office.basis.dir" value="${office.install.dir}${file.separator}basis-link"/>
-    	<property name="office.ure.dir" value="${office.basis.dir}${file.separator}ure-link"/>
-
-        <property name="office.libs.path" value="${office.install.dir}${file.separator}program${path.separator}${office.basis.dir}${file.separator}program${path.separator}${office.ure.dir}${file.separator}lib"/>
-
-		<echo message="Office libs path: ${office.libs.path}"/>
-
-        <path id="office.class.path">
-            <fileset dir="${office.basis.dir}${file.separator}program${file.separator}classes">
-                <include name="*.jar"/>
-            </fileset>
-            <fileset dir="${office.ure.dir}${file.separator}share${file.separator}java">
-                <include name="*.jar"/>
-            </fileset>
-        </path>
-
-        <property name="office.unotypes.rdb" 
-            value="${office.ure.dir}${file.separator}share${file.separator}misc${file.separator}types.rdb"/>
-
-        <property name="office.offapi.rdb"
-            value="${office.basis.dir}${file.separator}program${file.separator}offapi.rdb"/>
-    	
-    	<property name="sdk.idl.dir" location="${sdk.dir}${file.separator}idl"/> 
-        <property name="sdk.idlc" value="${sdk.dir}${file.separator}${sdk.bin.dir}${file.separator}idlc"/>
-        <property name="sdk.regmerge" value="${sdk.dir}${file.separator}${sdk.bin.dir}${file.separator}regmerge"/>
-        <property name="sdk.javamaker" value="${sdk.dir}${file.separator}${sdk.bin.dir}${file.separator}javamaker"/>
-    	
-    	<property environment="env"/>
-    	<property name="office.tool.path" value="${env.PATH}${path.separator}${office.libs.path}"/>
-    
-        <!-- set properties for the project structure -->
-        <property file=".unoproject"/>
-        <property file="package.properties"/>
-        <dirname property="project.dir" file="package.properties"/>
-        
-        <property name="build.dir" value="${project.build}"/>
-        <property name="build.classes.dir" value="${build.dir}/classes"/>
-        <property name="dist.dir" value="${build.dir}/dist"/>
-        
-        <!-- set properties for the output structure -->
-    
-        <property name="uno.package.name" value="${project.dir}${file.separator}${dist.dir}${file.separator}${ant.project.name}.oxt"/>
-        <property name="src.dir.absolute" value="${project.dir}${project.srcdir}"/>
-        <property name="idl.dir" value="${project.dir}${project.idl}"/>
-    
-        <property name="idl.out" value="${project.dir}${file.separator}${build.dir}${file.separator}idl"/>
-        <property name="idl.out.urd" value="${idl.out}${file.separator}urd"/>
-        <property name="idl.out.rdb" value="${idl.out}${file.separator}rdb"/>
-        <property name="idl.rdb.name" value="types.rdb"/>
-        <property name="idl.rdb.fullpath" value="${idl.out.rdb}${file.separator}${idl.rdb.name}"/>
-    
-    	<!-- create a few empty directories -->
-    	
-        <mkdir dir="${build.dir}" />
-        <mkdir dir="${idl.out}"/>
-        <mkdir dir="${idl.out.urd}"/>
-        <mkdir dir="${idl.out.rdb}"/>
-        <mkdir dir="${build.classes.dir}"/>
-        <mkdir dir="${dist.dir}"/>
-    </target>
-    
-    <target name="clean" depends="init-env">
-        <delete dir="${build.dir}"/>
-    </target>
-    
-    <target name="package-oxt" depends="package-jar">
-        <!-- The manifest.xml file is extracted from the package build with Eclipse -->
-        
-        <zip destfile="${uno.package.name}" includes="${contents}">
-            <fileset dir="." includes="${contents}"/>
-            <zipfileset dir="descriptions" includes="**/*.txt" prefix="descriptions"/>
-            <zipfileset file="ant/manifest.xml" fullpath="META-INF/manifest.xml"/>
-            <zipfileset file="${dist.dir}/${ant.project.name}.jar" 
-                fullpath="${ant.project.name}.jar"/>
-            <zipfileset file="${idl.rdb.fullpath}" fullpath="types.rdb"/>
-        </zip>
-    </target>
-    
-    <target name="package-jar" depends="compile-java">
-        <jar destfile="${dist.dir}/${ant.project.name}.jar">
-            <manifest>
-                <attribute name="RegistrationClassName" value="${regclassname}"/>
-            </manifest>
-            <fileset dir="${build.classes.dir}">
-                <include name="**/*.class"/>
-            </fileset>
-            <fileset dir="${src.dir.absolute}">
-                <exclude name="**/*.java"/>
-            </fileset>
-        </jar>
-    </target>
-    
-    <target name="compile-java" depends="types">
-        <echo message="build classes: ${build.classes.dir}"/>
-        <javac srcdir="${src.dir.absolute}" source="1.4" target="1.4" encoding="UTF-8"
-            destdir="${build.classes.dir}" excludes="**/*Test*">
-            <classpath>
-                <pathelement location="${build.classes.dir}"/>
-                <path refid="office.class.path"/>
-            </classpath>
-        </javac>
-    </target>
-    
-    <target name="types" depends="merge-urd">
-        <echo message="Generating java class files from rdb..."/>
-        <condition property="args.offapi" value=" -X${office.offapi.rdb}" else="">
-            <length string="${office.offapi.rdb}" when="greater" length="0" trim="true"/>
-        </condition>
-
-        <exec executable="${sdk.javamaker}" failonerror="true">
-            <env key="PATH" path="${office.tool.path}"/>    
-            <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
-            <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
-            <arg value="-nD"/>
-            <arg value="-Gc"/>
-            <arg value="-BUCR"/>
-            <arg value="-O"/>
-            <arg value="${project.dir}${file.separator}${build.classes.dir}"/>
-            <arg file="${idl.rdb.fullpath}"/>
-            <arg line="-X${office.unotypes.rdb}${args.offapi}"/>
-        </exec>
-    </target>
-    
-    <target name="merge-urd" depends="compile-idl">
-        <delete file="${idl.rdb.fullpath}"/>    
-        <apply executable="${sdk.regmerge}" failonerror="true">
-            <env key="PATH" path="${office.tool.path}"/>
-            <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
-            <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/> 
-            <arg file="${idl.rdb.fullpath}"/>
-            <arg value="/UCR"/>
-            <fileset dir="${idl.out.urd}" includes="**/*.urd" casesensitive="yes"/>
-        </apply>
-    </target>
-    
-    <target name="compile-idl" depends="init-env">
-        <echo message="${sdk.idlc}"/>
-        <echo message="${office.tool.path}"/>
-
-        <apply executable="${sdk.idlc}" failonerror="true">
-            <env key="PATH" path="${office.tool.path}"/>
-            <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
-            <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
-            <arg value="-C"/>
-            <arg value="-O"/>
-            <arg value="${idl.out.urd}"/>
-            <arg value="-I"/>
-            <arg value="${idl.dir}"/>
-            <arg value="-I"/>
-            <arg value="${sdk.idl.dir}"/>
-            <fileset dir="${idl.dir}" includes="**/*.idl" casesensitive="yes"/>
-        </apply>
-    </target>
-    
-</project>
diff --git a/java/source/org/openoffice/ide/eclipse/java/export/build.xml.tpl b/java/source/org/openoffice/ide/eclipse/java/export/build.xml.tpl
new file mode 100644
index 0000000..cc99f03
--- /dev/null
+++ b/java/source/org/openoffice/ide/eclipse/java/export/build.xml.tpl
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="{0}" default="package-oxt" basedir=".">
+
+    <target name="init-env">
+        
+        <!--  set properties from libreoffice install and its SDK -->
+        <property file="$'{'ant.file}/../build.properties"/>
+        
+        <echo message="Initializing the properties for LibreOffice"/>
+        <first id="sofficeParents">
+            <dirset dir="$'{'office.install.dir}">
+                <present targetdir="$'{'office.install.dir}">
+                    <mapper type="glob" from="*" to="*/soffice.bin" />
+                </present>
+            </dirset>
+        </first>
+        <property name="office.basis.dir" value="$'{'toString:sofficeParents}$'{'file.separator}.."/>
+        <property name="office.ure.dir" value="$'{'office.basis.dir}$'{'file.separator}ure-link"/>
+
+        <property name="office.libs.path" value="$'{'office.install.dir}$'{'file.separator}program$'{'path.separator}$'{'office.basis.dir}$'{'file.separator}program$'{'path.separator}$'{'office.ure.dir}$'{'file.separator}lib"/>
+
+        <echo message="Office libs path: $'{'office.libs.path}"/>
+
+        <path id="office.class.path">
+            <fileset dir="$'{'office.basis.dir}$'{'file.separator}program$'{'file.separator}classes">
+                <include name="*.jar"/>
+            </fileset>
+            <fileset dir="$'{'office.ure.dir}$'{'file.separator}share$'{'file.separator}java">
+                <include name="*.jar"/>
+            </fileset>
+        </path>
+
+        <property name="office.unotypes.rdb" 
+            value="$'{'office.ure.dir}$'{'file.separator}share$'{'file.separator}misc$'{'file.separator}types.rdb"/>
+
+        <first id="offapirdbPaths">
+            <fileset dir="$'{'office.install.dir}" includes="**/offapi.rdb" />
+        </first>
+        <property name="office.offapi.rdb" value="$'{'toString:offapirdbPaths}"/>
+
+        <property name="sdk.idl.dir" location="$'{'sdk.dir}$'{'file.separator}idl"/> 
+        <property name="sdk.idlc" value="$'{'sdk.dir}$'{'file.separator}$'{'sdk.bin.dir}$'{'file.separator}idlc"/>
+        <property name="sdk.javamaker" value="$'{'sdk.dir}$'{'file.separator}$'{'sdk.bin.dir}$'{'file.separator}javamaker"/>
+
+        <first id="regmergePaths">
+            <union>
+                <fileset dir="$'{'office.ure.dir}" includes="**/regmerge" />
+                <fileset dir="$'{'sdk.dir}" includes="**/regmerge" />
+            </union>
+        </first>
+        <property name="sdk.regmerge" value="$'{'toString:regmergePaths}"/>
+
+        <property environment="env"/>
+        <property name="office.tool.path" value="$'{'env.PATH}$'{'path.separator}$'{'office.libs.path}"/>
+
+        <!-- set properties for the project structure -->
+        <property file=".unoproject"/>
+        <property file="package.properties"/>
+        <dirname property="project.dir" file="package.properties"/>
+
+        <property name="build.dir" value="$'{'project.build}"/>
+        <property name="build.classes.dir" value="$'{'build.dir}/classes"/>
+        <property name="dist.dir" value="$'{'build.dir}/dist"/>
+
+        <!-- set properties for the output structure -->
+
+        <property name="uno.package.name" value="$'{'project.dir}$'{'file.separator}$'{'dist.dir}$'{'file.separator}$'{'ant.project.name}.oxt"/>
+        <property name="src.dir.absolute" value="$'{'project.dir}$'{'project.srcdir}"/>
+        <property name="idl.dir" value="$'{'project.dir}$'{'project.idl}"/>
+
+        <property name="idl.out" value="$'{'project.dir}$'{'file.separator}$'{'build.dir}$'{'file.separator}idl"/>
+        <property name="idl.out.urd" value="$'{'idl.out}$'{'file.separator}urd"/>
+        <property name="idl.out.rdb" value="$'{'idl.out}$'{'file.separator}rdb"/>
+        <property name="idl.rdb.name" value="types.rdb"/>
+        <property name="idl.rdb.fullpath" value="$'{'idl.out.rdb}$'{'file.separator}$'{'idl.rdb.name}"/>
+
+        <!-- create a few empty directories -->
+
+        <mkdir dir="$'{'build.dir}" />
+        <mkdir dir="$'{'idl.out}"/>
+        <mkdir dir="$'{'idl.out.urd}"/>
+        <mkdir dir="$'{'idl.out.rdb}"/>
+        <mkdir dir="$'{'build.classes.dir}"/>
+        <mkdir dir="$'{'dist.dir}"/>
+    </target>
+
+    <target name="clean" depends="init-env">
+        <delete dir="$'{'build.dir}"/>
+    </target>
+
+    <target name="package-oxt" depends="package-jar">
+        <zip destfile="$'{'uno.package.name}" includes="$'{'contents}">
+            <fileset dir="." includes="$'{'contents}"/>
+            <zipfileset dir="descriptions" includes="**/*.txt" prefix="descriptions"/>
+            <zipfileset file="ant/manifest.xml" fullpath="META-INF/manifest.xml"/>
+            <zipfileset file="$'{'dist.dir}/$'{'ant.project.name}.jar" 
+                fullpath="$'{'ant.project.name}.jar"/>
+            <zipfileset file="$'{'idl.rdb.fullpath}" fullpath="types.rdb"/>
+        </zip>
+    </target>
+
+    <target name="package-jar" depends="compile-java">
+        <jar destfile="$'{'dist.dir}/$'{'ant.project.name}.jar">
+            <manifest>
+                <attribute name="RegistrationClassName" value="$'{'regclassname}"/>
+            </manifest>
+            <fileset dir="$'{'build.classes.dir}">
+                <include name="**/*.class"/>
+            </fileset>
+            <fileset dir="$'{'src.dir.absolute}">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </jar>
+    </target>
+
+    <target name="compile-java" depends="types">
+        <echo message="build classes: $'{'build.classes.dir}"/>
+        <javac srcdir="$'{'src.dir.absolute}" source="1.4" target="1.4" encoding="UTF-8"
+            destdir="$'{'build.classes.dir}" excludes="**/*Test*">
+            <classpath>
+                <pathelement location="$'{'build.classes.dir}"/>
+                <path refid="office.class.path"/>
+            </classpath>
+        </javac>
+    </target>
+
+    <target name="types-old" depends="merge-urd">
+        <echo message="Generating java class files from rdb..."/>
+        <condition property="args.offapi" value=" -X$'{'office.offapi.rdb}" else="">
+            <length string="$'{'office.offapi.rdb}" when="greater" length="0" trim="true"/>
+        </condition>
+
+        <exec executable="$'{'sdk.javamaker}" errorproperty="regmerge.err"
+              resultproperty="regmerge.result">
+            <env key="PATH" path="$'{'office.tool.path}"/>    
+            <env key="LD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <env key="DYLD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <arg value="-nD"/>
+            <arg value="-Gc"/>
+            <arg value="-BUCR"/>
+            <arg value="-O"/>
+            <arg value="$'{'project.dir}$'{'file.separator}$'{'build.classes.dir}"/>
+            <arg file="$'{'idl.rdb.fullpath}"/>
+            <arg line="-X$'{'office.unotypes.rdb}$'{'args.offapi}"/>
+        </exec>
+
+        <condition property="regmerge.noprefix" value="true" else="false">
+            <contains string="$'{'regmerge.err}" substring="-BUCR"/>
+        </condition>
+
+        <condition property="regermerge.failed">
+            <and>
+                <isfalse value="$'{'regmerge.noprefix}"/>
+                <isfailure code="$'{'regmerge.result}"/>
+            </and>
+        </condition>
+
+        <fail if="$'{'regmerge.failed}" message="Regmerge failed: $'{'regmerge.err}"/>
+    </target>
+
+    <target name="types-noprefix" depends="types-old" if="$'{'regmerge.noprefix}">
+        <condition property="args.offapi" value=" -X$'{'office.offapi.rdb}" else="">
+            <length string="$'{'office.offapi.rdb}" when="greater" length="0" trim="true"/>
+        </condition>
+
+        <exec executable="$'{'sdk.javamaker}" failonerror="true">
+            <env key="PATH" path="$'{'office.tool.path}"/>    
+            <env key="LD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <env key="DYLD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <arg value="-nD"/>
+            <arg value="-Gc"/>
+            <arg value="-O"/>
+            <arg value="$'{'project.dir}$'{'file.separator}$'{'build.classes.dir}"/>
+            <arg file="$'{'idl.rdb.fullpath}"/>
+            <arg line="-X$'{'office.unotypes.rdb}$'{'args.offapi}"/>
+        </exec>
+    </target>
+
+    <target name="types" depends="types-old, types-noprefix" />
+
+	<target name="merge-urd" depends="compile-idl">
+        <delete file="$'{'idl.rdb.fullpath}"/>    
+        <apply executable="$'{'sdk.regmerge}" failonerror="true">
+            <env key="PATH" path="$'{'office.tool.path}"/>
+            <env key="LD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <env key="DYLD_LIBRARY_PATH" path="$'{'office.tool.path}"/> 
+            <arg file="$'{'idl.rdb.fullpath}"/>
+            <arg value="/UCR"/>
+            <fileset dir="$'{'idl.out.urd}" includes="**/*.urd" casesensitive="yes"/>
+        </apply>
+    </target>
+
+    <target name="compile-idl" depends="init-env">
+        <echo message="$'{'sdk.idlc}"/>
+        <echo message="$'{'office.tool.path}"/>
+
+        <apply executable="$'{'sdk.idlc}" failonerror="true">
+            <env key="PATH" path="$'{'office.tool.path}"/>
+            <env key="LD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <env key="DYLD_LIBRARY_PATH" path="$'{'office.tool.path}"/>
+            <arg value="-C"/>
+            <arg value="-O"/>
+            <arg value="$'{'idl.out.urd}"/>
+            <arg value="-I"/>
+            <arg value="$'{'idl.dir}"/>
+            <arg value="-I"/>
+            <arg value="$'{'sdk.idl.dir}"/>
+            <fileset dir="$'{'idl.dir}" includes="**/*.idl" casesensitive="yes"/>
+        </apply>
+    </target>
+
+</project>
diff --git a/java/source/org/openoffice/ide/eclipse/java/messages.properties b/java/source/org/openoffice/ide/eclipse/java/messages.properties
index 8f4d8f2..9b802d7 100644
--- a/java/source/org/openoffice/ide/eclipse/java/messages.properties
+++ b/java/source/org/openoffice/ide/eclipse/java/messages.properties
@@ -4,6 +4,7 @@ Language.UnreadableOutputError=Unreadable output error
 Language.CreateCodeError=Code generation failed
 Language.GetClasspathError=Failed to get the project classpath
 JavaExportPart.AntFile=Ant build file
+JavaExportPart.BuildPropertiesError=Error creating build.properties
 JavaExportPart.SaveAntScript=Save as Ant script
 JavaExportPart.Title=Java options
 JavaWizardPage.IncludeTestClasses=Include base classes for tests


More information about the ooo-build-commit mailing list