ICU-5464 Update build script and directory structure for supporting eclipse headless plugin build

X-SVN-Rev: 21327
This commit is contained in:
Yoshito Umaoka 2007-03-29 15:18:26 +00:00
parent 1216f77150
commit 97380a1eaf
82 changed files with 644 additions and 84 deletions

45
.gitattributes vendored
View file

@ -53,27 +53,30 @@ README text !eol
src/com/ibm/icu/dev/data/rbbi/english.dict -text
src/com/ibm/icu/dev/data/testdata.jar -text
src/com/ibm/icu/dev/data/thai6.ucs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.base.tests/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.base.tests/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.base/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.base/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4-feature/.project -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4-feature/build.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4-feature/feature.xml -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4-feature/sourceTemplatePlugin/build.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4-feature/sourceTemplatePlugin/plugin.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/.classpath -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/.project -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/META-INF/MANIFEST.MF -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/build.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/fragment-icu-jse4.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.jse4/plugin.properties -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.tests/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu.tests/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/com.ibm.icu/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/features/com.ibm.icu.jse4/.project -text
src/com/ibm/icu/dev/eclipse/features/com.ibm.icu.jse4/build.properties -text
src/com/ibm/icu/dev/eclipse/features/com.ibm.icu.jse4/feature.xml -text
src/com/ibm/icu/dev/eclipse/features/com.ibm.icu.jse4/sourceTemplatePlugin/build.properties -text
src/com/ibm/icu/dev/eclipse/features/com.ibm.icu.jse4/sourceTemplatePlugin/plugin.properties -text
src/com/ibm/icu/dev/eclipse/pdebuild/allElements.xml -text
src/com/ibm/icu/dev/eclipse/pdebuild/build.properties -text
src/com/ibm/icu/dev/eclipse/pdebuild/customTargets.xml -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base.tests/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base.tests/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.base/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/.classpath -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/.project -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/META-INF/MANIFEST.MF -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/build.properties -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/fragment-icu-jse4.properties -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.jse4/plugin.properties -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.tests/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu.tests/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu/.settings/org.eclipse.jdt.core.prefs -text
src/com/ibm/icu/dev/eclipse/plugins/com.ibm.icu/.settings/org.eclipse.jdt.ui.prefs -text
src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Asian.txt -text
src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Chinese.txt -text
src/com/ibm/icu/dev/test/perf/data/collation/TestNames_Japanese.txt -text

274
build.xml
View file

@ -1402,6 +1402,119 @@
depends="eclipseCoreProject,eclipseTestProject,eclipseWrapperProject,eclipseFragmentProject"
description="create all eclipse icu projects"/>
<target name="eclipsePDEBuild"
depends="initEclipsePDEBuildEnv, eclipseProjects"
description="build icu4j plugin files">
<!-- copy OSGi jar file to baseLocation -->
<mkdir dir="${eclipse.projects.dir}/baseLocation/features"/>
<mkdir dir="${eclipse.projects.dir}/baseLocation/plugins"/>
<copy toDir="${eclipse.projects.dir}/baseLocation/plugins" file="${eclipse.osgi.jar}"/>
<!-- copy PDE build script files and run the build -->
<pathconvert property="eclipse.projects.dir.full" dirsep="/">
<path location="${basedir}/${eclipse.projects.dir}"/>
</pathconvert>
<antcall target="runEclipsePDEBuild">
<param name="icu.plugin.id" value="com.ibm.icu"/>
</antcall>
<antcall target="runEclipsePDEBuild">
<param name="icu.plugin.id" value="com.ibm.icu.base"/>
</antcall>
<antcall target="runEclipsePDEBuild">
<param name="icu.plugin.id" value="com.ibm.icu.jse4"/>
</antcall>
</target>
<target name="initEclipsePDEBuildEnv"
depends="init,initEclipseHome,initEclipseLauncher,initEclipseOSGiJar,initEclipsePDE"
description="Initialize eclipse PDE build environment">
<echo message="[PDE build configuration properties]"/>
<echo message=" Eclipse home: ${eclipse.home}"/>
<echo message=" Launcher jar: ${eclipse.launcher}"/>
<echo message=" OSGi bundle jar: ${eclipse.osgi.jar}"/>
<echo message=" Base OS: ${eclipse.baseos}"/>
<echo message=" Base WS: ${eclipse.basews}"/>
<echo message=" Base ARCH: ${eclipse.basearch}"/>
</target>
<target name="initEclipseHome"
if="env.ECLIPSE_HOME"
unless="eclipse.home"
description="Initialize the property eclipse.home from the environment variable ECLIPSE_HOME">
<property name="eclipse.home" value="${env.ECLIPSE_HOME}"/>
</target>
<target name="initEclipseLauncher"
if="eclipse.home"
description="Locate org.eclipse.equinox.launcher jar file for eclipse 3.3 and beyond">
<first id="equinox.launcher">
<fileset dir="${eclipse.home}/plugins">
<include name="org.eclipse.equinox.launcher_*.jar"/>
</fileset>
</first>
<pathconvert property="eclipse.launcher" dirsep="/" refid="equinox.launcher"/>
</target>
<target name="initEclipseOSGiJar"
if="eclipse.home"
description="Locate org.eclipse.osgi plugin jar file">
<first id="osgi.bundle">
<fileset dir="${eclipse.home}/plugins">
<include name="org.eclipse.osgi_*.jar"/>
</fileset>
</first>
<pathconvert property="eclipse.osgi.jar" dirsep="/" refid="osgi.bundle"/>
</target>
<target name="initEclipsePDE"
depends="locateEclipsePDE"
if="eclipse.pde.dir"
description="Set up PDE runtime arguments">
<property file="${eclipse.pde.dir}/templates/headless-build/build.properties" prefix="pde.template"/>
<property name="eclipse.baseos" value="${pde.template.baseos}"/>
<property name="eclipse.basews" value="${pde.template.basews}"/>
<property name="eclipse.basearch" value="${pde.template.basearch}"/>
</target>
<target name="locateEclipsePDE"
if="eclipse.home"
description="Locate org.eclipse.pde.build plug-in and set the property 'eclipse.pde.dir'">
<first id="eclipse.pde.plugin.dir">
<dirset dir="${eclipse.home}/plugins">
<include name="org.eclipse.pde.build_*"/>
</dirset>
</first>
<pathconvert property="eclipse.pde.dir" dirsep="/" refid="eclipse.pde.plugin.dir"/>
</target>
<target name="runEclipsePDEBuild">
<mkdir dir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}"/>
<copy toDir="${eclipse.projects.dir}/buildScripts/${icu.plugin.id}">
<fileset dir="${eclipse.dir}/pdebuild" includes="**/*"/>
<filterset>
<filter token="PLUGIN_ID" value="${icu.plugin.id}"/>
<filter token="BUILD_DIR" value="${eclipse.projects.dir.full}"/>
<filter token="BUILD_TYPE" value="ICU4J"/>
<filter token="BUILD_ID" value="${icu.plugin.id}"/>
<filter token="BASE_LOCATION" value="${eclipse.projects.dir.full}/baseLocation"/>
<filter token="BASE_OS" value="${eclipse.baseos}"/>
<filter token="BASE_WS" value="${eclipse.basews}"/>
<filter token="BASE_ARCH" value="${eclipse.basearch}"/>
</filterset>
</copy>
<java jar="${eclipse.launcher}" fork="true" failonerror="true">
<arg value="-application"/>
<arg value="org.eclipse.ant.core.antRunner"/>
<arg value="-buildfile"/>
<arg value="${eclipse.pde.dir}/scripts/build.xml"/>
<arg value="-Dbuilder=${eclipse.projects.dir.full}/buildScripts/${icu.plugin.id}"/>
</java>
</target>
<target name="undoEclipseMangle" depends="buildmangle" description="preprocess files back to default)">
<java classname="com.ibm.icu.dev.tool.docs.CodeMangler" classpath="${build.dir}" logError="true">
<arg value="@eclipseCoreArgs.txt"/>
@ -1433,10 +1546,10 @@
encoding="ascii"/>
<antcall target="indices"/>
<jar jarfile="${jar.file}" compress="true">
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<fileset dir="${basedir}" includes="license.html, unicode-license.txt" />
<fileset dir="${build.dir}"
includes="com/ibm/icu/util/**/*,com/ibm/icu/text/**/*,com/ibm/icu/math/**/*,com/ibm/icu/impl/**/*,com/ibm/icu/lang/**/*"
excludes="META-INF/services/**/*,com/ibm/icu/charset/**/*,${icu4j.data.path}/*.cnv, ${icu4j.data.path}/cnvalias.icu"/>
<manifest>
<attribute name="Built-By" value="${corp}"/>
<section name="common">
@ -1456,26 +1569,26 @@
<target name="eclipseCoreProject" depends="eclipseCore,initIcuEclipseVersion" description="gather eclipse icu core project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu-feature"/>
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu"/>
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu"/>
</delete>
<!-- collect source files -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu">
<!-- PLUGIN FILES -->
<!-- icu source -->
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu/src/com/ibm/icu">
<fileset dir="src/com/ibm/icu"
includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*"
excludes="**/CVS/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt"/>
includes="impl/**/*,lang/**/*,math/**/*,text/**/*,util/**/*"
excludes="**/.svn/**/*,**/*.jar,**/Transliterator_Han_Latin*.txt"/>
</copy>
<!-- collect icu data files -->
<copy todir="${eclipse.projects.dir}/com.ibm.icu/src/com/ibm/icu/impl/data">
<fileset dir="${build.dir}/com/ibm/icu/impl/data"
<!-- icu data -->
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu/src/com/ibm/icu/impl/data">
<fileset dir="${build.dir}/com/ibm/icu/impl/data"
includes="**/*.brk,**/*.icu,**/*.res,**/*.spp,**/*.txt"
excludes="**/Transliterator_Han_Latin*.txt"/>
</copy>
<!-- collect eclipse project files -->
<copy todir="${eclipse.projects.dir}">
<fileset dir="${eclipse.dir}"
includes="com.ibm.icu/**/*,com.ibm.icu-feature/**/*"
excludes="**/CVS/**/*"/>
<!-- plugin project -->
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu">
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu" excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
@ -1483,26 +1596,36 @@
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- copy ICU license file -->
<!-- license -->
<copy file="license.html"
todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/>
todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files"/>
<!-- ucd terms -->
<copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
todir="${eclipse.projects.dir}/com.ibm.icu/about_files"/>
<!-- copy ICU about file -->
todir="${eclipse.projects.dir}/plugins/com.ibm.icu/about_files"/>
<!-- about -->
<copy file="${eclipse.dir}/misc/about_icu.html"
tofile="${eclipse.projects.dir}/com.ibm.icu/about.html"/>
tofile="${eclipse.projects.dir}/plugins/com.ibm.icu/about.html"/>
<!-- FEATURE FILES -->
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu">
<fileset dir="${eclipse.dir}/features/com.ibm.icu" excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
<filter token="SPEC_VERSION" value="${icu4j.eclipse.spec.version.string}"/>
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- common eclipse about file -->
<copy file="${eclipse.dir}/misc/about.html"
todir="${eclipse.projects.dir}/com.ibm.icu-feature/sourceTemplatePlugin"/>
todir="${eclipse.projects.dir}/features/com.ibm.icu/sourceTemplatePlugin"/>
</target>
<!-- ensure eclipse wrapper code builds with foundation1.0/java1.3 -->
<target name="eclipseWrapper" depends="init">
<javac includes="com/ibm/icu/util/**/*.java,com/ibm/icu/text/**/*.java"
compiler="javac1.3"
srcdir="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src"
srcdir="${eclipse.dir}/plugins/com.ibm.icu.base/src"
destdir="${wrapper.build.dir}"
classpathref="build.classpath"
bootclasspath="ee.foundation.jar"
@ -1522,15 +1645,16 @@
<target name="eclipseWrapperProject" depends="eclipseWrapper,eclipseWrapperTest,initIcuEclipseVersion" description="gather eclipse icu core project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base-feature"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.base.tests"/>
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base"/>
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.base.tests"/>
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.base"/>
</delete>
<!-- collect eclipse project files -->
<copy todir="${eclipse.projects.dir}">
<fileset dir="${eclipse.dir}"
includes="com.ibm.icu.base/**/*,com.ibm.icu.base-feature/**/*,com.ibm.icu.base.tests/**/*"
excludes="**/CVS/**/*"/>
<!-- PLUGIN FILES -->
<!-- source and project files -->
<copy todir="${eclipse.projects.dir}/plugins">
<fileset dir="${eclipse.dir}/plugins"
includes="com.ibm.icu.base/**/*,com.ibm.icu.base.tests/**/*"
excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
@ -1538,15 +1662,28 @@
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- copy ICU license file -->
<!-- license -->
<copy file="license.html"
todir="${eclipse.projects.dir}/com.ibm.icu.base/about_files"/>
<!-- copy ICU about file -->
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about_files"/>
<!-- about -->
<copy file="${eclipse.dir}/misc/about_icu.html"
tofile="${eclipse.projects.dir}/com.ibm.icu.base/about.html"/>
tofile="${eclipse.projects.dir}/plugins/com.ibm.icu.base/about.html"/>
<!-- FEATURE FILES -->
<!-- project files -->
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu.base">
<fileset dir="${eclipse.dir}/features/com.ibm.icu.base"
excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
<filter token="SPEC_VERSION" value="${icu4j.eclipse.spec.version.string}"/>
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- common eclipse about file -->
<copy file="${eclipse.dir}/misc/about.html"
todir="${eclipse.projects.dir}/com.ibm.icu.base-feature/sourceTemplatePlugin"/>
todir="${eclipse.projects.dir}/features/com.ibm.icu.base/sourceTemplatePlugin"/>
</target>
<target name="eclipseTestMangle" depends="buildmangle">
@ -1592,21 +1729,20 @@
<target name="eclipseTestProject" depends="eclipseTests,zipTestSrc" description="gather eclipse icu test project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.tests"/>
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests"/>
</delete>
<!-- copy eclipse test source and project files -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests">
<fileset dir="${eclipse.dir}/com.ibm.icu.tests"
includes="**/*"
excludes="**/CVS/**/"/>
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests">
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu.tests"
excludes="**/.svn/**/"/>
<filterset>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
</filterset>
</copy>
<!-- copy icu test jar -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${testjar.file}"/>
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${testjar.file}"/>
<!-- copy icu test source zip -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.tests" file="${zipTestSrc.file}"/>
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.tests" file="${zipTestSrc.file}"/>
</target>
<target name="eclipseFragmentMangle" depends="buildmangle">
@ -1652,11 +1788,13 @@
<target name="eclipseFragmentProject" depends="eclipseFragment,initIcuEclipseVersion" description="gather eclipse icu fragment project files">
<delete failonerror="no">
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.jse4"/>
<fileset dir="${eclipse.projects.dir}/com.ibm.icu.jse4-feature"/>
<fileset dir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4"/>
<fileset dir="${eclipse.projects.dir}/features/com.ibm.icu.jse4"/>
</delete>
<!-- collect source files -->
<copy toDir="${eclipse.projects.dir}/com.ibm.icu.jse4/src">
<!-- PLUGIN FILES -->
<!-- source -->
<copy toDir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/src">
<!-- TODO: Use a single file list as input. The list is identical with eclipseFragmentArgs.txt -->
<fileset dir="${src.dir}">
<include name="com/ibm/icu/impl/CollectionUtilities.java"/>
@ -1674,10 +1812,10 @@
<include name="com/ibm/icu/util/GlobalizationPreferences.java"/>
</fileset>
</copy>
<!-- collect eclipse project files -->
<copy todir="${eclipse.projects.dir}">
<fileset dir="${eclipse.dir}"
includes="com.ibm.icu.jse4/**/*,com.ibm.icu.jse4-feature/**/*"/>
<!-- project files -->
<copy todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4">
<fileset dir="${eclipse.dir}/plugins/com.ibm.icu.jse4"
excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
@ -1685,18 +1823,28 @@
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- copy ICU license file -->
<!-- license -->
<copy file="license.html"
todir="${eclipse.projects.dir}/com.ibm.icu.jse4/about_files"/>
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files"/>
<!-- ucd terms -->
<copy file="src/com/ibm/icu/dev/data/unicode/ucdterms.txt"
todir="${eclipse.projects.dir}/com.ibm.icu.jse4/about_files"/>
<!-- copy ICU about file -->
<copy file="${eclipse.dir}/misc/about_icu.html"
tofile="${eclipse.projects.dir}/com.ibm.icu.jse4/about.html"/>
<!-- common eclipse about file -->
todir="${eclipse.projects.dir}/plugins/com.ibm.icu.jse4/about_files"/>
<!-- FEATURE FILES -->
<!-- project files -->
<copy todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4">
<fileset dir="${eclipse.dir}/features/com.ibm.icu.jse4"
excludes="**/.svn/**/*"/>
<filterset>
<filter token="BUILD_VERSION" value="${icu4j.eclipse.build.version.string}"/>
<filter token="COPYRIGHT" value="${copyright.eclipse}"/>
<filter token="SPEC_VERSION" value="${icu4j.eclipse.spec.version.string}"/>
<filter token="VERSION_NUMBER" value="${icu4j.version.number}"/>
</filterset>
</copy>
<!-- common eclipse about -->
<copy file="${eclipse.dir}/misc/about.html"
todir="${eclipse.projects.dir}/com.ibm.icu.jse4-feature/sourceTemplatePlugin"/>
todir="${eclipse.projects.dir}/features/com.ibm.icu.jse4/sourceTemplatePlugin"/>
</target>
<target name="zipTestSrc" depends="init" description="build zip of test sources for debugging">
@ -1726,7 +1874,7 @@
<target name="gatherEclipseWrapperAPI" depends="tools" if="version.1.4">
<javadoc classpath="${build.dir}"
sourcepath="${src.dir}/com/ibm/icu/dev/eclipse/com.ibm.icu.base/src"
sourcepath="${eclipse.dir}/plugins/com.ibm.icu.base/src"
packagenames="com.ibm.icu.text,com.ibm.icu.util"
source="1.4">
<doclet name="com.ibm.icu.dev.tool.docs.GatherAPIData"

View file

@ -0,0 +1,28 @@
<project name="allElements Delegator">
<!-- ===================================================================== -->
<!-- Run a given ${target} on all elements being built -->
<!-- Replace element.id with the id of the top level element being built. -->
<!-- If element.id does not exist in ${buildDirectory}/features/element.id -->
<!-- or ${baseLocation}/features/element.id, then you must provide the -->
<!-- location by setting the property "pluginPath" -->
<!-- Add on <ant> task for each top level element being built. -->
<!-- ===================================================================== -->
<target name="allElementsDelegator">
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="@PLUGIN_ID@" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Targets to assemble the built elements for particular configurations -->
<!-- These generally call the generated assemble scripts (named in -->
<!-- ${assembleScriptName}) but may also add pre and post processing -->
<!-- Add one target for each root element and each configuration -->
<!-- Replace element.id with the id of the top level element being built -->
<!-- ===================================================================== -->
<target name="assemble.@PLUGIN_ID@">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>
</project>

View file

@ -0,0 +1,220 @@
###############################################################################
# Copyright (c) 2003, 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
#####################
# Parameters describing how and where to execute the build.
# Typical users need only update the following properties:
# baseLocation - where things you are building against are installed
# bootclasspath - The base jars to compile against (typicaly rt.jar)
# configs - the list of {os, ws, arch} configurations to build.
#
# Of course any of the settings here can be overridden by spec'ing
# them on the command line (e.g., -DbaseLocation=d:/eclipse
############# PRODUCT/PACKAGING CONTROL #############
product=/plugin or feature id/path/to/.product
runPackager=true
#Set the name of the archive that will result from the product build.
#archiveNamePrefix=
# The prefix that will be used in the generated archive.
#archivePrefix=<output archive root>
archivePrefix=
# The location underwhich all of the build output will be collected.
collectingFolder=${archivePrefix}
# The list of {os, ws, arch} configurations to build. This
# value is a '&' separated list of ',' separate triples. For example,
# configs=win32,win32,x86 & linux,motif,x86
# By default the value is *,*,*
#configs=win32, win32, x86 & \
# linux, gtk, ppc &\
# linux, gtk, x86 & \
# linux, gtk, x86_64 & \
# linux, motif, x86 & \
# solaris, motif, sparc & \
# solaris, gtk, sparc & \
# aix, motif, ppc & \
# hpux, motif, PA_RISC & \
# macosx, carbon, ppc
# By default PDE creates one archive (result) per entry listed in the configs property.
# Setting this value to try will cause PDE to only create one output containing all
# artifacts for all the platforms listed in the configs property.
#groupConfigurations=true
#The format of the archive. By default a zip is created using antZip.
#The list can only contain the configuration for which the desired format is different than zip.
#archivesFormat=win32, win32, x86 - antZip& \
# linux, gtk, ppc - antZip &\
# linux, gtk, x86 - antZip& \
# linux, gtk, x86_64 - antZip& \
# linux, motif, x86 - antZip& \
# solaris, motif, sparc - antZip& \
# solaris, gtk, sparc - antZip& \
# aix, motif, ppc - antZip& \
# hpux, motif, PA_RISC - antZip& \
# macosx, carbon, ppc - antZip
#Set to true if you want the output to be ready for an update jar (no site.xml generated)
#outputUpdateJars = false
#Set to true for Jnlp generation
#codebase should be a URL that will be used as the root of all relative URLs in the output.
#generateJnlp=false
#jnlp.codebase=<codebase url>
#jnlp.j2se=<j2se version>
#jnlp.locale=<a locale>
#Set to true if you want to sign jars
#signJars=false
#sign.alias=<alias>
#sign.keystore=<keystore location>
#sign.storepass=<keystore password>
#Arguments to send to the zip executable
zipargs=
#Arguments to send to the tar executable
tarargs=
#Control the creation of a file containing the version included in each configuration - on by default
#generateVersionsLists=false
############## BUILD NAMING CONTROL ################
# The directory into which the build elements are fetched and where
# the build takes place.
buildDirectory=@BUILD_DIR@
# Type of build. Used in naming the build output. Typically this value is
# one of I, N, M, S, ...
buildType=@BUILD_TYPE@
# ID of the build. Used in naming the build output.
buildId=@BUILD_ID@
# Label for the build. Used in naming the build output
buildLabel=${buildType}.${buildId}
# Timestamp for the build. Used in naming the build output
timestamp=007
#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
#The value will only be applied to plugin or features indicating build.properties, qualifier = context
#forceContextQualifier=<the value for the qualifier>
#Enable / disable the generation of a suffix for the features that use .qualifier.
#The generated suffix is computed according to the content of the feature
#generateFeatureVersionSuffix=true
############# BASE CONTROL #############
# Settings for the base Eclipse components and Java class libraries
# against which you are building.
# Base location for anything the build needs to compile against. For example,
# in most RCP app or a plug-in, the baseLocation should be the location of a previously
# installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack.
base=<path/to/parent/of/eclipse>
#baseLocation=${base}/eclipse
baseLocation=@BASE_LOCATION@
#Os/Ws/Arch/nl of the eclipse specified by baseLocation
baseos=@BASE_OS@
basews=@BASE_WS@
basearch=@BASE_ARCH@
#this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built
filteredDependencyCheck=false
#pluginPath is a list of locations in which to find plugins and features. This list is separated by the platform file separator (; or :)
#a location is one of:
#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
#- a directory that contains a /plugins or /features subdirectory
#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
#pluginPath=
skipBase=true
eclipseURL=<url for eclipse download site>
eclipseBuildId=<Id of Eclipse build to get>
eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip
############# MAP FILE CONTROL ################
# This section defines CVS tags to use when fetching the map files from the repository.
# If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml
skipMaps=true
mapsRepo=:pserver:anonymous@example.com/path/to/repo
mapsRoot=path/to/maps
mapsCheckoutTag=HEAD
#tagMaps=true
mapsTagTag=v${buildId}
############ REPOSITORY CONTROL ###############
# This section defines properties parameterizing the repositories where plugins, fragments
# bundles and features are being obtained from.
# The tags to use when fetching elements to build.
# By default thebuilder will use whatever is in the maps.
# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the
# overriding value
# For example fetchTag=CVS=HEAD, SVN=v20050101
# fetchTag=HEAD
skipFetch=true
############# JAVA COMPILER OPTIONS ##############
# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
#bootclasspath=${java.home}/lib/rt.jar
# specific JRE locations to compile against. These values are used to compile bundles specifying a
# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
#CDC-1.0/Foundation-1.0= /path/to/rt.jar
#CDC-1.1/Foundation-1.1=
#OSGi/Minimum-1.0=
#OSGi/Minimum-1.1=
#JRE-1.1=
#J2SE-1.2=
#J2SE-1.3=
#J2SE-1.4=
#J2SE-1.5=
#JavaSE-1.6=
#PersonalJava-1.1=
#PersonalJava-1.2=
#CDC-1.0/PersonalBasis-1.0=
#CDC-1.0/PersonalJava-1.0=
#CDC-1.1/PersonalBasis-1.1=
#CDC-1.1/PersonalJava-1.1=
# Specify the output format of the compiler log when eclipse jdt is used
logExtension=.log
# Whether or not to include debug info in the output jars
javacDebugInfo=false
# Whether or not to fail the build if there are compiler errors
javacFailOnError=true
# Enable or disable verbose mode of the compiler
javacVerbose=true
# Extra arguments for the compiler. These are specific to the java compiler being used.
#compilerArg=
# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
javacSource=1.3
# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
javacTarget=1.1

View file

@ -0,0 +1,161 @@
<project name="Build specific targets and properties" default="noDefault">
<!-- ===================================================================== -->
<!-- Run a given ${target} on all elements being built -->
<!-- Add on <ant> task for each top level element being built. -->
<!-- ===================================================================== -->
<property name="allElementsFile" value="${builder}/allElements.xml"/>
<import file="${allElementsFile}" />
<target name="allElements">
<antcall target="allElementsDelegator" />
</target>
<!-- ===================================================================== -->
<!-- ===================================================================== -->
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
</target>
<target name="checkLocalBase">
<available file="${base}" property="skipBase" />
</target>
<!-- ===================================================================== -->
<!-- Check out map files from correct repository -->
<!-- Replace values for mapsCheckoutTag as desired. -->
<!-- ===================================================================== -->
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
<property name="mapsCheckoutTag" value="HEAD" />
<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
</target>
<target name="checkLocalMaps">
<available property="skipMaps" file="${buildDirectory}/maps" />
</target>
<target name="tagMapFiles" if="tagMaps">
<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
</target>
<!-- ===================================================================== -->
<target name="clean" unless="noclean">
<antcall target="allElements">
<param name="target" value="cleanElement" />
</antcall>
</target>
<target name="gatherLogs">
<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
<antcall target="allElements">
<param name="target" value="gatherLogs" />
</antcall>
<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
<fileset dir="${buildDirectory}/features">
<include name="**/*.log.zip" />
</fileset>
</unzip>
</target>
<!-- ===================================================================== -->
<!-- Steps to do before setup -->
<!-- ===================================================================== -->
<target name="preSetup">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after setup but before starting the build proper -->
<!-- ===================================================================== -->
<target name="postSetup">
<antcall target="getBaseComponents" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do before fetching the build elements -->
<!-- ===================================================================== -->
<target name="preFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after fetching the build elements -->
<!-- ===================================================================== -->
<target name="postFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before generating the build scripts. -->
<!-- ===================================================================== -->
<target name="preGenerate">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after generating the build scripts. -->
<!-- ===================================================================== -->
<target name="postGenerate">
<antcall target="clean" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do before running the build.xmls for the elements being built. -->
<!-- ===================================================================== -->
<target name="preProcess">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after running the build.xmls for the elements being built. -->
<!-- ===================================================================== -->
<target name="postProcess">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before running assemble. -->
<!-- ===================================================================== -->
<target name="preAssemble">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after running assemble. -->
<!-- ===================================================================== -->
<target name="postAssemble">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before running package. -->
<!-- ===================================================================== -->
<target name="prePackage">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after running package. -->
<!-- ===================================================================== -->
<target name="postPackage">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after the build is done. -->
<!-- ===================================================================== -->
<target name="postBuild">
<antcall target="gatherLogs" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do to test the build results -->
<!-- ===================================================================== -->
<target name="test">
</target>
<!-- ===================================================================== -->
<!-- Steps to do to publish the build results -->
<!-- ===================================================================== -->
<target name="publish">
</target>
<!-- ===================================================================== -->
<!-- Default target -->
<!-- ===================================================================== -->
<target name="noDefault">
<echo message="You must specify a target when invoking this file" />
</target>
</project>