diff options
22 files changed, 1332 insertions, 780 deletions
diff --git a/features/org.eclipse.emf.cdo.explorer.product-feature/buckminster.cspex b/features/org.eclipse.emf.cdo.explorer.product-feature/buckminster.cspex new file mode 100644 index 0000000000..de6e4ebd59 --- /dev/null +++ b/features/org.eclipse.emf.cdo.explorer.product-feature/buckminster.cspex @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<cs:cspecExtension xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0"> + <cs:dependencies> + <cs:dependency name="org.eclipse.equinox.executable" componentType="eclipse.feature"/> + </cs:dependencies> +</cs:cspecExtension>
\ No newline at end of file diff --git a/features/org.eclipse.emf.cdo.explorer.product-feature/build.properties b/features/org.eclipse.emf.cdo.explorer.product-feature/build.properties index e522515df7..156135c6a9 100644 --- a/features/org.eclipse.emf.cdo.explorer.product-feature/build.properties +++ b/features/org.eclipse.emf.cdo.explorer.product-feature/build.properties @@ -20,4 +20,6 @@ bin.includes = feature.xml,\ about.html src.includes = about.html,\ epl-v10.html,\ - license.html + license.html,\ + buckminster.cspex,\ + copyright.txt diff --git a/features/org.eclipse.emf.cdo.releng.setup.product-feature/buckminster.cspex b/features/org.eclipse.emf.cdo.releng.setup.product-feature/buckminster.cspex new file mode 100644 index 0000000000..de6e4ebd59 --- /dev/null +++ b/features/org.eclipse.emf.cdo.releng.setup.product-feature/buckminster.cspex @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<cs:cspecExtension xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0"> + <cs:dependencies> + <cs:dependency name="org.eclipse.equinox.executable" componentType="eclipse.feature"/> + </cs:dependencies> +</cs:cspecExtension>
\ No newline at end of file diff --git a/features/org.eclipse.emf.cdo.releng.setup.product-feature/build.properties b/features/org.eclipse.emf.cdo.releng.setup.product-feature/build.properties index e00e4ce145..3a6f153b6a 100644 --- a/features/org.eclipse.emf.cdo.releng.setup.product-feature/build.properties +++ b/features/org.eclipse.emf.cdo.releng.setup.product-feature/build.properties @@ -18,5 +18,7 @@ bin.includes = feature.xml,\ about.html src.includes = about.html,\ epl-v10.html,\ - license.html + license.html,\ + buckminster.cspex,\ + copyright.txt diff --git a/features/org.eclipse.emf.cdo.site-feature/.gitignore b/features/org.eclipse.emf.cdo.site-feature/.gitignore new file mode 100644 index 0000000000..639cdd514d --- /dev/null +++ b/features/org.eclipse.emf.cdo.site-feature/.gitignore @@ -0,0 +1 @@ +local.properties diff --git a/features/org.eclipse.emf.cdo.site-feature/.project b/features/org.eclipse.emf.cdo.site-feature/.project index b9f2546ce9..9fa236e987 100644 --- a/features/org.eclipse.emf.cdo.site-feature/.project +++ b/features/org.eclipse.emf.cdo.site-feature/.project @@ -14,6 +14,10 @@ <name>org.eclipse.emf.cdo.releng.version.VersionBuilder</name> <arguments> <dictionary> + <key>ignore.feature.content.changes</key> + <value>true</value> + </dictionary> + <dictionary> <key>release.path</key> <value>/org.eclipse.emf.cdo.releng.release/release.xml</value> </dictionary> diff --git a/features/org.eclipse.emf.cdo.site-feature/feature.xml b/features/org.eclipse.emf.cdo.site-feature/feature.xml index c83dd48795..a80ecc41f3 100644 --- a/features/org.eclipse.emf.cdo.site-feature/feature.xml +++ b/features/org.eclipse.emf.cdo.site-feature/feature.xml @@ -12,7 +12,7 @@ <feature id="org.eclipse.emf.cdo.site" label="CDO Model Repository Site" - version="4.3.0.qualifier" + version="4.2.100.qualifier" provider-name="%providerName" image="eclipse_update_120.jpg" license-feature="org.eclipse.emf.cdo.license" @@ -199,14 +199,6 @@ version="0.0.0"/> <includes - id="org.eclipse.emf.cdo.server.product" - version="0.0.0"/> - - <includes - id="org.eclipse.emf.cdo.explorer.product" - version="0.0.0"/> - - <includes id="org.eclipse.emf.cdo.releng.setup.editor" version="0.0.0"/> @@ -214,10 +206,6 @@ id="org.eclipse.emf.cdo.releng.setup.ide" version="0.0.0"/> - <includes - id="org.eclipse.emf.cdo.releng.setup.product" - version="0.0.0"/> - <plugin id="org.eclipse.emf.cdo.tests.objectivity" download-size="0" diff --git a/features/org.eclipse.emf.cdo.site-feature/local.properties.template b/features/org.eclipse.emf.cdo.site-feature/local.properties.template new file mode 100644 index 0000000000..eb1ad11f21 --- /dev/null +++ b/features/org.eclipse.emf.cdo.site-feature/local.properties.template @@ -0,0 +1,14 @@ +# Copyright (c) 2013 Eike Stepper (Berlin, Germany) 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: +# Eike Stepper - initial API and implementation + +buckminster.output.root = C:/develop/cdo/master/build/result/output +buckminster.temp.root = C:/develop/cdo/master/build/result/temp + +site.pack200 = false +site.signing = false diff --git a/plugins/org.eclipse.emf.cdo.releng.release/release.properties b/plugins/org.eclipse.emf.cdo.releng.release/release.properties index 6871e0a373..b3a74771d9 100644 --- a/plugins/org.eclipse.emf.cdo.releng.release/release.properties +++ b/plugins/org.eclipse.emf.cdo.releng.release/release.properties @@ -1,6 +1,6 @@ # -#Tue Jul 23 10:12:43 CEST 2013 +#Tue Aug 27 08:29:53 CEST 2013 +root.projects=org.eclipse.emf.cdo.site-feature org.eclipse.net4j.db.db2-feature org.eclipse.emf.cdo.releng org.eclipse.emf.cdo.releng.doc org.eclipse.emf.cdo.releng.release org.eclipse.emf.cdo.examples.clone org.eclipse.emf.cdo.examples.client org.eclipse.emf.cdo.examples.master org.eclipse.emf.cdo.examples.client.offline org.eclipse.emf.cdo.releng.setup.product org.eclipse.emf.cdo.releng.setup.product-feature org.eclipse.emf.cdo.server.product-feature org.eclipse.emf.cdo.explorer.product-feature baseline.for.integration=true -root.projects=org.eclipse.emf.cdo.site-feature org.eclipse.net4j.db.db2-feature org.eclipse.emf.cdo.releng org.eclipse.emf.cdo.releng.doc org.eclipse.emf.cdo.releng.release org.eclipse.emf.cdo.examples.clone org.eclipse.emf.cdo.examples.client org.eclipse.emf.cdo.examples.master org.eclipse.emf.cdo.examples.client.offline org.eclipse.emf.cdo.releng.setup.product -ignored.references=org.eclipse.emf.cdo.examples.installer.client org.eclipse.emf.cdo.examples.installer.clone org.eclipse.emf.cdo.examples.installer.master org.eclipse.net4j.db.derby org.apache.derby org.eclipse.emf.cdo.server.objectivity org.eclipse.emf.cdo.server.objectivity.stub org.eclipse.emf.cdo.tests.objectivity show.deviations=false +ignored.references=org.eclipse.emf.cdo.examples.installer.client org.eclipse.emf.cdo.examples.installer.clone org.eclipse.emf.cdo.examples.installer.master org.eclipse.net4j.db.derby org.apache.derby org.eclipse.emf.cdo.server.objectivity org.eclipse.emf.cdo.server.objectivity.stub org.eclipse.emf.cdo.tests.objectivity diff --git a/plugins/org.eclipse.emf.cdo.releng/.gitignore b/plugins/org.eclipse.emf.cdo.releng/.gitignore new file mode 100644 index 0000000000..639cdd514d --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/.gitignore @@ -0,0 +1 @@ +local.properties diff --git a/plugins/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs index c7f85159a0..6ff3e4922a 100644 --- a/plugins/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs +++ b/plugins/org.eclipse.emf.cdo.releng/.settings/org.eclipse.core.resources.prefs @@ -8,3 +8,4 @@ encoding/build.mspec=UTF-8 encoding/build.rmap=UTF-8 encoding/build.rmap-integration=UTF-8 encoding/local.mspec=UTF-8 +encoding/local.setup=ASCII diff --git a/plugins/org.eclipse.emf.cdo.releng/Local Build.launch b/plugins/org.eclipse.emf.cdo.releng/Local Build.launch new file mode 100644 index 0000000000..7280aaa11b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/Local Build.launch @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> +<listEntry value="/org.eclipse.emf.cdo.releng/build.xml"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> +<listEntry value="1"/> +</listAttribute> +<listAttribute key="org.eclipse.debug.ui.favoriteGroups"> +<listEntry value="org.eclipse.ui.externaltools.launchGroup"/> +</listAttribute> +<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_17"/> +<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.launching.remote.InternalAntRunner"/> +<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.releng"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.emf.cdo.releng/build.xml}"/> +<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/> +</launchConfiguration> diff --git a/plugins/org.eclipse.emf.cdo.releng/buckminster.cspex b/plugins/org.eclipse.emf.cdo.releng/buckminster.cspex index e007312de8..c7ed3df728 100644 --- a/plugins/org.eclipse.emf.cdo.releng/buckminster.cspex +++ b/plugins/org.eclipse.emf.cdo.releng/buckminster.cspex @@ -3,6 +3,9 @@ <cs:dependencies> <cs:dependency name="org.eclipse.emf.cdo.site" componentType="eclipse.feature"/> + <cs:dependency name="org.eclipse.emf.cdo.releng.setup.product" componentType="eclipse.feature"/> + <cs:dependency name="org.eclipse.emf.cdo.server.product" componentType="eclipse.feature"/> + <cs:dependency name="org.eclipse.emf.cdo.explorer.product" componentType="eclipse.feature"/> <cs:dependency name="org.eclipse.emf.cdo.releng.release" componentType="osgi.bundle"/> <cs:dependency name="org.eclipse.emf.cdo.examples.client" componentType="osgi.bundle"/> <cs:dependency name="org.eclipse.emf.cdo.examples.client.offline" componentType="osgi.bundle"/> @@ -11,7 +14,6 @@ <cs:dependency name="org.eclipse.emf.cdo.efs" componentType="osgi.bundle"/> <cs:dependency name="org.eclipse.emf.cdo.ui.efs" componentType="osgi.bundle"/> - <cs:dependency name="org.eclipse.equinox.executable" componentType="eclipse.feature"/> <cs:dependency name="org.eclipse.platform" componentType="eclipse.feature"/> <cs:dependency name="org.eclipse.jdt" componentType="eclipse.feature"/> <cs:dependency name="org.eclipse.pde" componentType="eclipse.feature"/> diff --git a/plugins/org.eclipse.emf.cdo.releng/build.rmap b/plugins/org.eclipse.emf.cdo.releng/build.rmap index 91ded7b8a0..4661a5b8c1 100644 --- a/plugins/org.eclipse.emf.cdo.releng/build.rmap +++ b/plugins/org.eclipse.emf.cdo.releng/build.rmap @@ -80,7 +80,7 @@ <!-- EcoreTools --> <rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false"> - <rm:uri format="http://download.eclipse.org/modeling/amalgam/temp/ecoretools-1.0.0"/> + <rm:uri format="http://download.eclipse.org/modeling/emft/ecoretools/updates/1.2/201306071421"/> </rm:provider> <!-- GEF --> diff --git a/plugins/org.eclipse.emf.cdo.releng/build.xml b/plugins/org.eclipse.emf.cdo.releng/build.xml index 0adcb37d74..f617ab4de5 100644 --- a/plugins/org.eclipse.emf.cdo.releng/build.xml +++ b/plugins/org.eclipse.emf.cdo.releng/build.xml @@ -9,756 +9,1019 @@ Contributors: Eike Stepper - initial API and implementation --> -<project name="CDO"> - - <property file="build.properties" /> - <property environment="hudson" /> - - <taskdef resource="net/sf/antcontrib/antlib.xml"> - <classpath> - <pathelement location="/develop/bin/ant-contrib/ant-contrib-1.0b3.jar" /> - <pathelement location="${ant.contrib}" /> - </classpath> - </taskdef> - - <macrodef name="eclipse.launch"> - <attribute name="app" /> - <element name="properties" optional="true" /> - <element name="args" optional="true" /> - <sequential> - <property name="@{app}.deploy.dir" value="${tools}/@{app}" /> - <pathconvert property="@{app}.launcher"> - <first count="1"> - <sort> - <fileset dir="${@{app}.deploy.dir}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" /> - <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators"> - <date /> - </reverse> - </sort> - </first> - </pathconvert> - <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}" failonerror="true"> - <env key="no_proxy" value="${no.proxy}" /> - <properties /> - <args /> - </java> - </sequential> - </macrodef> - - <macrodef name="buckminster"> - <attribute name="command" /> - <attribute name="workspace" default="${ws}" /> - <element name="sysproperties" optional="true" /> - <element name="globargs" optional="true" /> - <element name="cmdargs" optional="true" /> - <sequential> - <eclipse.launch app="buckminster"> - <properties> - <sysproperties /> - </properties> - <args> - <jvmarg value="-XX:MaxPermSize=256M" /> - <jvmarg value="-Xmx4g" /> - <jvmarg value="-Dsite.pack200=false" /> - <jvmarg value="-Dsite.retain.unpacked=true" /> - <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=/shared/common/jdk1.6.0-latest/bin" /> - <jvmarg value="-Declipse.p2.MD5Check=false" /> - <jvmarg value="-Declipse.p2.mirrors=false" /> - <jvmarg value="-Declipse.p2.unsignedPolicy=allow" /> - <jvmarg value="-Dgit.clone=${git.clone}" /> - <arg value="-data" /> - <arg value="@{workspace}" /> - <arg value="--loglevel" /> - <arg value="${hudson.LOGLEVEL}" /> - <arg value="--displaystacktrace" /> - <globargs /> - <arg value="@{command}" /> - <arg value="-P" /> - <arg value="${properties.tmp}" /> - <cmdargs /> - </args> - </eclipse.launch> - </sequential> - </macrodef> - - <macrodef name="generate.product.platform"> - <attribute name="id" /> - <attribute name="profile" /> - <attribute name="platform" /> - <attribute name="os" /> - <attribute name="ws" /> - <attribute name="arch" /> - <attribute name="priority" /> - <sequential> - <if> - <or> - <not> - <isset property="platform" /> - </not> - <equals arg1="${platform}" arg2="@{platform}" /> - </or> - <then> - <echo message="" /> - <echo message="Generating @{profile} for @{platform}" /> - <mkdir dir="${temp.products}/@{profile}-@{platform}" /> - - <eclipse.launch app="director"> - <properties> - <sysproperty key="org.eclipse.update.jarprocessor.pack200" - value="/shared/common/jdk1.6.0-latest/bin" /> - <sysproperty key="eclipse.p2.mirrors" value="false" /> - <sysproperty key="eclipse.p2.MD5Check" value="false" /> - </properties> - <args> - <arg value="-r" /> - <arg value="file:${hudson.WORKSPACE}" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/releases/${train}" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/releases/${train.previous}" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}-I-builds" /> - <arg value="-d" /> - <arg value="${temp.products}/@{profile}-@{platform}" /> - <arg value="-p" /> - <arg value="@{profile}" /> - <arg value="-i" /> - <arg value="@{id}" /> - <arg value="-p2.os" /> - <arg value="@{os}" /> - <arg value="-p2.ws" /> - <arg value="@{ws}" /> - <arg value="-p2.arch" /> - <arg value="@{arch}" /> - </args> - </eclipse.launch> - - <delete includeemptydirs="true" quiet="true"> - <fileset dir="${temp.products}/@{profile}-@{platform}"> - <include name="p2/**" /> - <include name="launcher.exe" /> - <include name="eclipsec.exe" /> - </fileset> - </delete> - - <copy todir="${temp.products}/@{profile}-@{platform}" failonerror="true"> - <fileset dir="${git.clone}/features/org.eclipse.emf.cdo.license-feature/rootfiles"> - <include name="epl-v10.html" /> - <include name="notice.html" /> - </fileset> - </copy> - - <zip destfile="${zips}/emf-cdo-${build.qualifier}-@{profile}-@{platform}.zip"> - <fileset dir="${temp.products}/@{profile}-@{platform}"> - <include name="**" /> - </fileset> - </zip> - - <echo message="description=for execution on @{platform}.${line.separator}priority=@{priority}" - file="${zips}/emf-cdo-${build.qualifier}-@{profile}-@{platform}.properties" /> - </then> - </if> - </sequential> - </macrodef> - - <macrodef name="generate.product"> - <attribute name="id" /> - <attribute name="profile" /> - <attribute name="priority" /> - <sequential> - <generate.product.platform id="@{id}" - profile="@{profile}" - platform="Windows" - os="win32" - ws="win32" - arch="x86_64" - priority="@{priority}50" /> - <generate.product.platform id="@{id}" - profile="@{profile}" - platform="Linux" - os="linux" - ws="gtk" - arch="x86_64" - priority="@{priority}40" /> - <generate.product.platform id="@{id}" - profile="@{profile}" - platform="Mac" - os="macosx" - ws="cocoa" - arch="x86_64" - priority="@{priority}30" /> - </sequential> - </macrodef> - - <!-- =============== --> - <!-- Init Properties --> - <!-- =============== --> - - <target name="-init.properties"> - <echo message="stream = ${stream}" /> - <echo message="branch = ${branch}" /> - <echo message="train = ${train}" /> - - <condition property="no.proxy" value="${hudson.no_proxy}, dev.eclipse.org" else="dev.eclipse.org"> - <isset property="hudson.no_proxy" /> - </condition> - - <property name="git.clone" location="${hudson.WORKSPACE}/git" /> - <property name="releng" location="${git.clone}/plugins/org.eclipse.emf.cdo.releng" /> - <property name="test.report" location="${hudson.WORKSPACE}/test-report.xml" /> - - <property name="tools" location="${hudson.WORKSPACE}/tools" /> - <property name="result" location="${hudson.WORKSPACE}/result" /> - <property name="zips" location="${hudson.WORKSPACE}/zips" /> - - <property name="ws" location="${result}/ws" /> - <property name="tp" location="${result}/tp" /> - - <property name="buckminster.output.root" location="${result}/output" /> - <property name="buckminster.temp.root" location="${result}/temp" /> - - <property name="temp.dropins" location="${buckminster.temp.root}/_dropins" /> - <property name="temp.products" location="${buckminster.temp.root}/_products" /> - </target> - - <!-- ========== --> - <!-- Init Clean --> - <!-- ========== --> - - <target name="-init.clean" depends="-init.properties"> - <delete includeemptydirs="true" failonerror="true" quiet="true"> - <fileset dir="${hudson.WORKSPACE}"> - <include name="binary/**" /> - <include name="features/**" /> - <include name="plugins/**" /> - <include name="zips/**" /> - <include name="help/**" /> - <include name="*.jar" /> - <include name="*.xml" /> - <include name="*.html" /> - </fileset> - </delete> - - <delete dir="${buckminster.output.root}" includeemptydirs="true" failonerror="true" quiet="true" /> - <delete dir="${buckminster.temp.root}" includeemptydirs="true" failonerror="true" quiet="true" /> - - <mkdir dir="${result}" /> - </target> - - <!-- ========== --> - <!-- Init Tools --> - <!-- ========== --> - - <target name="-init.tools" depends="-init.clean"> - <if> - <equals arg1="${hudson.CLEAN_TOOLS}" arg2="true" /> - <then> - <echo message="Cleaning tools" /> - <delete dir="${tools}/director" includeemptydirs="true" failonerror="true" quiet="true" /> - <delete dir="${tools}/buckminster" includeemptydirs="true" failonerror="true" quiet="true" /> - </then> - </if> - - <if> - <not> - <available file="${tools}/director/director" /> - </not> - <then> - <echo message="" /> - <echo message="Installing director" /> - <tempfile destdir="${java.io.tmpdir}" - prefix="director-" - suffix=".zip" - property="director.zip" - deleteonexit="true" /> - <get src="http://download.eclipse.org/tools/buckminster/products/director_latest.zip" - dest="${director.zip}" /> - <mkdir dir="${tools}" /> - <unzip src="${director.zip}" dest="${tools}" /> - <delete file="${director.zip}" /> - </then> - </if> - - <if> - <not> - <available file="${tools}/buckminster/buckminster" /> - </not> - <then> - <echo message="" /> - <echo message="Installing buckminster" /> - <eclipse.launch app="director"> - <properties> - <sysproperty key="org.eclipse.update.jarprocessor.pack200" - value="/shared/common/jdk1.6.0-latest/bin" /> - <sysproperty key="eclipse.p2.mirrors" value="false" /> - <sysproperty key="eclipse.p2.MD5Check" value="false" /> - </properties> - <args> - <arg value="-r" /> - <arg value="http://download.eclipse.org/tools/buckminster/headless-4.3" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/eclipse/updates/3.8" /> - <arg value="-r" /> - <arg value="http://download.eclipse.org/modeling/emf/cdo/updates/integration" /> - <arg value="-d" /> - <arg value="${tools}/buckminster" /> - <arg value="-p" /> - <arg value="Buckminster" /> - <arg value="-i" /> - <arg value="org.eclipse.buckminster.cmdline.product" /> - <arg value="-i" /> - <arg value="org.eclipse.buckminster.core.headless.feature.feature.group" /> - <arg value="-i" /> - <arg value="org.eclipse.buckminster.pde.headless.feature.feature.group" /> - <arg value="-i" /> - <arg value="org.eclipse.buckminster.git.headless.feature.feature.group" /> - <arg value="-i" /> - <arg value="org.eclipse.ant.launching" /> - <arg value="-i" /> - <arg value="org.eclipse.pde.api.tools.ee.j2se15.group" /> - <arg value="-i" /> - <arg value="org.eclipse.emf.cdo.releng.version.headless.feature.group" /> - <arg value="-i" /> - <arg value="org.eclipse.emf.cdo.releng.apireports.feature.group" /> - </args> - </eclipse.launch> - - <!-- See http://wiki.eclipse.org/Hudson#Configuring_a_proxy_for_the_p2_director --> - <copy file="${releng}/hudson/org.eclipse.core.net.prefs" - todir="${tools}/buckminster/configuration/.settings" - overwrite="true" /> - </then> - </if> - </target> - - <!-- ================ --> - <!-- Init Build Infos --> - <!-- ================ --> - - <target name="-init.buildinfos" depends="-init.clean"> - <if> - <not> - <isset property="build.trigger" /> - </not> - <then> - <xmlproperty keeproot="false"> - <url url="${hudson.BUILD_URL}/api/xml?tree=actions[causes[shortDescription]]" /> - </xmlproperty> - <loadresource property="build.trigger"> - <propertyresource name="action.cause.shortDescription" /> - <filterchain> - <replaceregex pattern="^Triggered by " replace="" /> - <replaceregex pattern="^Gerrit: .*" replace="gerrit" /> - <replaceregex pattern="^Started by " replace="" /> - <replaceregex pattern="^Gestartet durch " replace="" /> - <replaceregex pattern="Benutzer" replace="user" /> - </filterchain> - </loadresource> - </then> - </if> - <condition property="gerrit.trigger" value="true"> - <equals arg1="${build.trigger}" arg2="gerrit" /> - </condition> - <echo message="build.trigger = ${build.trigger}" /> - - <if> - <equals arg1="${hudson.BUILD_TYPE}" arg2="<default>" /> - <then> - <condition property="build.type" value="${weekly}" else="N"> - <equals arg1="${build.trigger}" arg2="timer" /> - </condition> - </then> - <else> - <property name="build.type" value="${hudson.BUILD_TYPE}" /> - </else> - </if> - <echo message="build.type = ${build.type}" /> - - <property name="build.timestamp" value="${hudson.BUILD_ID}" /> - <echo message="build.timestamp = ${build.timestamp}" /> - - <tempfile property="build.qualifier.tmp" - destdir="${java.io.tmpdir}" - prefix="build-qualifier-" - suffix=".tmp" - deleteonexit="true" /> - <echo message="build.qualifier=${build.type}${build.timestamp}" file="${build.qualifier.tmp}" /> - <replaceregexp file="${build.qualifier.tmp}"> - <regexp pattern="([0-9]*)-([0-9]*)-([0-9]*)_([0-9]*)-([0-9]*)-([0-9]*)" /> - <substitution expression="\1\2\3-\4\5" /> - </replaceregexp > - <property file="${build.qualifier.tmp}" /> - <echo message="build.qualifier = ${build.qualifier}" /> - <echoxml file="${hudson.WORKSPACE}/build-info.xml"> - <build stream="${stream}" - branch="${branch}" - train="${train}" - eclipse="${eclipse}" - emf="${emf}" - type="${build.type}" - timestamp="${build.timestamp}" - qualifier="${build.qualifier}" - trigger="${build.trigger}" - hudson="${hudson.HUDSON_URL}" - revision="${hudson.GIT_COMMIT}" - job="${hudson.JOB_NAME}" - number="${hudson.BUILD_NUMBER}" /> - </echoxml> - - <condition property="site.signing" value="true" else="false"> - <and> - <not> - <equals arg1="${build.type}" arg2="N" /> - </not> - <equals arg1="${hudson.HUDSON_URL}" arg2="https://hudson.eclipse.org/hudson/" /> - </and> - </condition> - <echo message="site.signing = ${site.signing}" /> - - <if> - <equals arg1="${site.signing}" arg2="true" /> - <then> - <property name="eclipse.staging.area" - value="/shared/download-staging.priv/modeling/emf/cdo/${hudson.JOB_NAME}" /> - <echo message="eclipse.staging.area = ${eclipse.staging.area}" /> - </then> - </if> - - <echo message="" /> - - <property name="properties.tmp" value="${result}${file.separator}buckminster.properties" /> - <echoproperties destfile="${properties.tmp}"> - <propertyset negate="true"> - <propertyref name="basedir" /> - <propertyref name="eclipse.home" /> - <propertyref name="properties.tmp" /> - <propertyref name="line.separator" /> - <propertyref name="path.separator" /> - <propertyref prefix="ant." /> - <propertyref prefix="file." /> - <propertyref prefix="java." /> - <propertyref prefix="sun." /> - <propertyref prefix="user." /> - </propertyset> - </echoproperties> - <echo message="${hudson.JOB_URL}ws/result/buckminster.properties" /> - - <echoproperties destfile="${result}/all.properties" /> - <echo message="${hudson.JOB_URL}ws/result/all.properties" /> - </target> - - <!-- ============== --> - <!-- Init Workspace --> - <!-- ============== --> - - <target name="-init.workspace" depends="-init.clean"> - <echo message="Initializing workspace" /> - - <if> - <equals arg1="${hudson.CLEAN_TP}" arg2="true" /> - <then> - <delete dir="${tp}" includeemptydirs="true" failonerror="true" quiet="true" /> - </then> - </if> - - <delete dir="${ws}" includeemptydirs="true" failonerror="true" quiet="true" /> - <unzip dest="${ws}" src="${releng}/hudson/workspace.zip" /> - <copy file="${releng}/hudson/test-report-empty.xml" tofile="${test.report}" /> - </target> - - <!-- ========= --> - <!-- Provision --> - <!-- ========= --> - - <target name="provision" - depends="-init.tools,-init.buildinfos,-init.workspace" - description="Imports projects and binaries and set up API baseline"> - <echo message="Importing projects into ${ws}" /> - <echo message="Importing binaries into ${tp}" /> - <mkdir dir="${tp}" /> - - <move file="${releng}/hudson/api_baseline.xml" tofile="${releng}/hudson/api_baseline.target" /> - - <buckminster command="setpref"> - <cmdargs> - <arg value="maxParallelResolutions=1" /> - </cmdargs> - </buckminster> - - <buckminster command="import"> - <cmdargs> - <arg value="-B" /> - <arg value="${hudson.WORKSPACE}/bom.xml" /> - - <arg value="-P" /> - <arg value="${basedir}/build.properties" /> - - <!-- Last argument: --> - <arg value="${basedir}/build.mspec" /> - </cmdargs> - </buckminster> - <echo message="" /> - <echo message="Setting API baseline to /opt/public/modeling/emf/cdo/api_baseline" /> - <buckminster command="addbaseline"> - <cmdargs> - <arg value="-A" /> - <arg value="CDO Baseline" /> - </cmdargs> - </buckminster> - </target> - - <!-- ===== --> - <!-- Build --> - <!-- ===== --> - - <target name="build" depends="provision" description="Builds all projects and generates build-infos.xml"> - <echo message="Building all projects in workspace ${ws}" /> - <buckminster command="build"> - <cmdargs> - <arg value="--thorough" /> - </cmdargs> - </buckminster> - <delete failonerror="false" includeemptydirs="true"> - <fileset dir="${git.clone}/plugins"> - <exclude name="org.eclipse.emf.cdo.releng.doc/**" /> - <include name="*.doc/bin/**" /> - <include name="*.help/bin/**" /> - </fileset> - </delete> - </target> - - <!-- ======= --> - <!-- Site.p2 --> - <!-- ======= --> - - <target name="site.p2" depends="build" description="Generates the site and depending artifacts"> - <if> - <isset property="gerrit.trigger" /> - <then> - <echo message="Skipping org.eclipse.emf.cdo.site#site.p2" /> - </then> - <else> - <echo message="Performing org.eclipse.emf.cdo.site#site.p2" /> - <buckminster command="perform"> - <cmdargs> - <arg value="org.eclipse.emf.cdo.site#site.p2" /> - </cmdargs> - </buckminster> - - <pathconvert property="site.p2.dir"> - <dirset dir="${buckminster.output.root}"> - <filename name="org.eclipse.emf.cdo.site_*-eclipse.feature/site.p2" /> - </dirset> - </pathconvert> - <echoproperties destfile="${result}/all.properties" /> - - <copy todir="${hudson.WORKSPACE}" - overwrite="true" - includeemptydirs="true" - preservelastmodified="true" - failonerror="true"> - <fileset dir="${site.p2.dir}"> - <include name="**" /> - </fileset> - </copy> - - <antcall target="-generate.all" /> - </else> - </if> - </target> - - <!-- ==== --> - <!-- Test --> - <!-- ==== --> - - <target name="test" depends="site.p2" description="Runs the tests"> - <condition property="launch.config" - value="org.eclipse.emf.cdo.tests.all/CDO GerritTests" - else="org.eclipse.emf.cdo.tests.db/CDO AllTests (H2 ALL)"> - <isset property="gerrit.trigger" /> - </condition> - <echo message="Running ${launch.config}" /> - <buckminster command="junit"> - <cmdargs> - <arg value="-l" /> - <arg value="${launch.config}.launch" /> - <arg value="-o" /> - <arg value="${test.report}" /> - <arg value="--terseXML" /> - <arg value="--flatXML" /> - </cmdargs> - </buckminster> - </target> - - <!-- ============ --> - <!-- Generate All --> - <!-- ============ --> - - <target name="-generate.all"> - <mkdir dir="${zips}" /> - - <antcall target="-generate.help" /> - <antcall target="-generate.index" /> - <antcall target="-generate.bookmarks" /> - <antcall target="-generate.dropins" /> - - <!-- Must come after generate.dropins --> - <antcall target="-generate.api" /> - - <if> - <equals arg1="${hudson.GENERATE_PRODUCTS}" arg2="true" /> - <then> - <antcall target="-generate.products" /> - </then> - </if> - </target> - - <!-- ============== --> - <!-- Generate Help --> - <!-- ============== --> - - <target name="-generate.help"> - <copy todir="${hudson.WORKSPACE}"> - <fileset dir="${releng}"> - <include name="help/**" /> - </fileset> - </copy> - </target> - - <!-- ============== --> - <!-- Generate Index --> - <!-- ============== --> - - <target name="-generate.index"> - <unzip src="${hudson.WORKSPACE}/content.jar" dest="${hudson.WORKSPACE}" /> - <property name="content.xml" location="${hudson.WORKSPACE}/content.xml" /> - <xslt style="xsl/content2html.xsl" in="${content.xml}" out="${hudson.WORKSPACE}/index.html" /> - <xslt style="xsl/content2xml.xsl" in="${content.xml}" out="${hudson.WORKSPACE}/index.xml" /> - <delete file="${content.xml}" /> - </target> - - <!-- =================== --> - <!-- Generate Booksmarks --> - <!-- =================== --> - - <target name="-generate.bookmarks"> - <property name="bookmarks.tmp" location="${hudson.WORKSPACE}/bookmarks.tmp" /> - <xslt style="xsl/bom2bookmarks.xsl" in="${hudson.WORKSPACE}/bom.xml" out="${bookmarks.tmp}" /> - <replace file="${bookmarks.tmp}" token="http://dev.eclipse.org" value="file://to-be-removed" /> - <replace file="${bookmarks.tmp}" token="file:/home/data/httpd/" value="http://" /> - <property name="bookmarks.xml" location="${hudson.WORKSPACE}/bookmarks.xml" /> - <concat destfile="${bookmarks.xml}"> - <header filtering="false"><?xml version="1.0" encoding="UTF-8"?> +<project name="CDO" default="generate"> + + <property file="local.properties" /> + <property file="build.properties" /> + <property environment="env" /> + + <!-- ========== --> + <!-- Build Root --> + <!-- ========== --> + + <condition property="build.root" value="${env.WORKSPACE}"> + <isset property="env.HUDSON_URL" /> + </condition> + <fail unless="build.root" message="The property 'build.root' must be defined in a 'local.properties' file" /> + + <!-- + <echo message="Deleting contents of ${build.root}" /> + <delete includeemptydirs="true" failonerror="false" verbose="false"> + <fileset dir="${build.root}"> + <include name="**" /> + </fileset> + </delete> + <mkdir dir="${build.root}" /> + --> + + <!-- =========== --> + <!-- Ant Contrib --> + <!-- =========== --> + + <property name="antcontrib.version" value="1.0b3" /> + <property name="antcontrib.dir" location="${build.root}/tools/ant-contrib-${antcontrib.version}" /> + <property name="antcontrib.zip" location="${java.io.tmpdir}/ant-contrib-${antcontrib.version}.zip" /> + <property name="antcontrib.jar" location="${antcontrib.dir}/ant-contrib-${antcontrib.version}.jar" /> + + <mkdir dir="${antcontrib.dir}" /> + <get src="http://www.java2s.com/Code/JarDownload/ant-contrib/ant-contrib-${antcontrib.version}.jar.zip" + dest="${antcontrib.zip}" + skipexisting="true" /> + + <unzip dest="${antcontrib.dir}" src="${antcontrib.zip}" /> + + <taskdef resource="net/sf/antcontrib/antlib.xml"> + <classpath> + <pathelement location="${antcontrib.jar}" /> + </classpath> + </taskdef> + + <!-- ============== --> + <!-- Eclipse Launch --> + <!-- ============== --> + + <macrodef name="eclipse"> + <attribute name="app" /> + <element name="properties" optional="true" /> + <element name="args" optional="true" /> + <sequential> + <!-- Find launcher --> + <property name="@{app}.deploy.dir" value="${tools}/@{app}" /> + <pathconvert property="@{app}.launcher"> + <first count="1"> + <sort> + <fileset dir="${@{app}.deploy.dir}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" /> + <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators"> + <date /> + </reverse> + </sort> + </first> + </pathconvert> + + <!-- Run launcher --> + <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}" failonerror="true"> + <env key="no_proxy" value="${no.proxy}" /> + <properties /> + <args /> + </java> + </sequential> + </macrodef> + + <!-- =========== --> + <!-- Buckminster --> + <!-- =========== --> + + <macrodef name="buckminster"> + <attribute name="command" /> + <attribute name="workspace" default="${ws}" /> + <element name="sysproperties" optional="true" /> + <element name="globargs" optional="true" /> + <element name="cmdargs" optional="true" /> + <sequential> + <!-- Prepare buckminster.temp.root --> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${buckminster.temp.root}" defaultexcludes="false"> + <include name="**" /> + </fileset> + </delete> + <mkdir dir="${buckminster.temp.root}" /> + + <!-- Create buckminster.properties --> + <property name="buckminster.properties" location="${buckminster.temp.root}/buckminster.properties" /> + <echoproperties destfile="${buckminster.properties}"> + <propertyset negate="true"> + <propertyref name="basedir" /> + <propertyref name="eclipse.home" /> + <propertyref name="buckminster.properties" /> + <propertyref name="line.separator" /> + <propertyref name="path.separator" /> + <propertyref prefix="ant." /> + <propertyref prefix="file." /> + <propertyref prefix="java." /> + <propertyref prefix="sun." /> + <propertyref prefix="user." /> + </propertyset> + </echoproperties> + + <!-- Launch Buckminster --> + <eclipse app="buckminster"> + <properties> + <sysproperties /> + </properties> + <args> + <jvmarg value="-XX:MaxPermSize=256M" /> + <jvmarg value="-Xmx4g" /> + <jvmarg value="-Dsite.pack200=${site.signing}" /> + <jvmarg value="-Dsite.retain.unpacked=true" /> + <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${jarprocessor.dir}" /> + <jvmarg value="-Declipse.p2.MD5Check=false" /> + <jvmarg value="-Declipse.p2.mirrors=${p2.mirrors}" /> + <jvmarg value="-Declipse.p2.unsignedPolicy=allow" /> + <jvmarg value="-Dgit.clone=${git.clone}" /> + <arg value="-data" /> + <arg value="@{workspace}" /> + <arg value="--loglevel" /> + <arg value="${loglevel}" /> + <arg value="--displaystacktrace" /> + <globargs /> + <arg value="@{command}" /> + <arg value="-P" /> + <arg value="${buckminster.properties}" /> + <cmdargs /> + </args> + </eclipse> + + <!-- Cleanup buckminster.temp.root --> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${buckminster.temp.root}" defaultexcludes="false"> + <include name="**" /> + </fileset> + </delete> + </sequential> + </macrodef> + + <!-- ======== --> + <!-- Director --> + <!-- ======== --> + + <macrodef name="director"> + <element name="args" /> + <sequential> + <eclipse app="director"> + <properties> + <sysproperty key="org.eclipse.update.jarprocessor.pack200" value="${jarprocessor.dir}" /> + <sysproperty key="eclipse.p2.mirrors" value="${p2.mirrors}" /> + <sysproperty key="eclipse.p2.MD5Check" value="false" /> + </properties> + <args /> + </eclipse> + </sequential> + </macrodef> + + <!-- ============= --> + <!-- Generate Site --> + <!-- ============= --> + + <macrodef name="generate.site"> + <attribute name="feature" /> + <attribute name="todir" default="${build.root}" /> + <sequential> + <echo message="Generating site" /> + + <!-- Clean --> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="@{todir}" defaultexcludes="false"> + <include name="binary/**" /> + <include name="features/**" /> + <include name="plugins/**" /> + <include name="artifacts.jar" /> + <include name="content.jar" /> + </fileset> + </delete> + + <!-- Prepare buckminster.output.root --> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${buckminster.output.root}" defaultexcludes="false"> + <include name="**" /> + </fileset> + </delete> + <mkdir dir="${buckminster.output.root}" /> + + <!-- Perform Buckminster --> + <buckminster command="perform"> + <cmdargs> + <arg value="@{feature}#site.p2" /> + </cmdargs> + </buckminster> + + <!-- Determine site.p2 directory --> + <pathconvert property="@{feature}.dir"> + <dirset dir="${buckminster.output.root}"> + <filename name="@{feature}_*-eclipse.feature/site.p2" /> + </dirset> + </pathconvert> + + <!-- Move site.p2 contents --> + <move todir="@{todir}" overwrite="true" includeemptydirs="true" preservelastmodified="true" failonerror="true"> + <fileset dir="${@{feature}.dir}"> + <include name="**" /> + </fileset> + </move> + </sequential> + </macrodef> + + <!-- ============= --> + <!-- Generate Help --> + <!-- ============= --> + + <macrodef name="generate.help"> + <sequential> + <echo message="Generating help center" /> + <copy todir="${build.root}"> + <fileset dir="${releng}"> + <include name="help/**" /> + </fileset> + </copy> + </sequential> + </macrodef> + + <!-- ============== --> + <!-- Generate Index --> + <!-- ============== --> + + <macrodef name="generate.index"> + <sequential> + <echo message="Generating repository index" /> + <unzip src="${build.root}/content.jar" dest="${build.root}" /> + <property name="content.xml" location="${build.root}/content.xml" /> + <xslt style="xsl/content2html.xsl" in="${content.xml}" out="${build.root}/index.html" /> + <xslt style="xsl/content2xml.xsl" in="${content.xml}" out="${build.root}/index.xml" /> + <delete file="${content.xml}" /> + </sequential> + </macrodef> + + <!-- =================== --> + <!-- Generate Booksmarks --> + <!-- =================== --> + + <macrodef name="generate.bookmarks"> + <sequential> + <echo message="Generating dependency bookmarks" /> + <property name="bookmarks.tmp" location="${build.root}/bookmarks.tmp" /> + <xslt style="xsl/bom2bookmarks.xsl" in="${build.root}/bom.xml" out="${bookmarks.tmp}" /> + <replace file="${bookmarks.tmp}" token="http://dev.eclipse.org" value="file://to-be-removed" /> + <replace file="${bookmarks.tmp}" token="file:/home/data/httpd/" value="http://" /> + <property name="bookmarks.xml" location="${build.root}/bookmarks.xml" /> + <concat destfile="${bookmarks.xml}"> + <header filtering="false"><?xml version="1.0" encoding="UTF-8"?> <bookmarks> </header> - <union> - <sort> - <tokens> - <file file="${bookmarks.tmp}" /> - <linetokenizer includedelims="true" /> - </tokens> - </sort> - </union> - <filterchain> - <linecontains> - <contains value="http://" /> - </linecontains> - </filterchain> - <footer filtering="false"></bookmarks> + <union> + <sort> + <tokens> + <file file="${bookmarks.tmp}" /> + <linetokenizer includedelims="true" /> + </tokens> + </sort> + </union> + <filterchain> + <linecontains> + <contains value="http://" /> + </linecontains> + </filterchain> + <footer filtering="false"></bookmarks> </footer> - </concat> - <delete file="${bookmarks.tmp}" /> - </target> - - <!-- ================ --> - <!-- Generate Dropins --> - <!-- ================ --> - - <target name="-generate.dropins"> - <delete failonerror="false" includeemptydirs="true" quiet="true"> - <fileset dir="${temp.dropins}" defaultexcludes="false"> - <include name="**/*" /> - </fileset> - </delete> - <mkdir dir="${temp.dropins}" /> - - <copy todir="${temp.dropins}" failonerror="true"> - <fileset dir="${git.clone}/features/org.eclipse.emf.cdo.license-feature/rootfiles"> - <include name="epl-v10.html" /> - <include name="notice.html" /> - </fileset> - </copy> - - <copy todir="${temp.dropins}/features" flatten="true"> - <fileset dir="${buckminster.output.root}"> - <include name="*-eclipse.feature/jar/*" /> - <include name="*-eclipse.feature/source.jar/*" /> - <exclude name="org.eclipse.emf.cdo.site*/**/*" /> - <exclude name="org.eclipse.emf.cdo.epp*/**/*" /> - <exclude name="org.eclipse.emf.cdo.license*/**/*" /> - </fileset> - </copy> - - <copy todir="${temp.dropins}/plugins" flatten="true"> - <fileset dir="${buckminster.output.root}"> - <include name="*-osgi.bundle/jar/*" /> - <include name="*-osgi.bundle/source.jar/*" /> - </fileset> - </copy> - - <zip destfile="${zips}/emf-cdo-${build.qualifier}-Dropins.zip"> - <fileset dir="${temp.dropins}"> - <include name="**/*" /> - </fileset> - </zip> - <echo message=" for use with a <a href="http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/p2_dropins_format.html">dropins</a> folder." - file="${zips}/emf-cdo-${build.qualifier}-Dropins.properties" /> - </target> - - <!-- ============ --> - <!-- Generate API --> - <!-- ============ --> - - <target name="-generate.api"> - <echo message="Generating API reports" /> - <buckminster command="perform"> - <cmdargs> - <arg value="-D" /> - <arg value="api.report=${hudson.WORKSPACE}/api.xml" /> - <arg value="org.eclipse.emf.cdo.releng#generate.api.reports" /> - </cmdargs> - </buckminster> - <echo message="Converting to HTML" /> - <java classname="org.eclipse.emf.cdo.releng.Api2Html"> - <classpath> - <pathelement location="${releng}/bin/" /> - <pathelement location="/opt/public/common/apache-ant-1.7.1/lib/xercesImpl.jar" /> - </classpath> - <arg value="${hudson.WORKSPACE}" /> - <arg value="${build.qualifier}" /> - <arg value="${git.clone}/plugins" /> - <arg value="${tp}/plugins" /> - </java> - <copy file="${releng}/hudson/api.css" todir="${hudson.WORKSPACE}" overwrite="true" /> - </target> - - <!-- ================= --> - <!-- Generate Products --> - <!-- ================= --> - - <target name="-generate.products"> - <delete includeemptydirs="true" failonerror="true" quiet="true"> - <fileset dir="${temp.products}"> - <include name="**" /> - </fileset> - </delete> - <mkdir dir="${temp.products}" /> - - <generate.product id="org.eclipse.emf.cdo.server.product.tcp_h2" profile="CDOServer" priority="4" /> - <generate.product id="org.eclipse.emf.cdo.explorer.product" profile="CDOExplorer" priority="3" /> - <generate.product id="org.eclipse.emf.cdo.releng.setup.product.ide" profile="Setup" priority="2" /> - </target> + </concat> + <delete file="${bookmarks.tmp}" /> + </sequential> + </macrodef> + + <!-- ================ --> + <!-- Generate Dropins --> + <!-- ================ --> + + <macrodef name="generate.dropins"> + <sequential> + <echo message="Generating dropin archives" /> + <property name="temp.dropins" location="${result}/temp.dropins" /> + <delete failonerror="false" includeemptydirs="true" quiet="true"> + <fileset dir="${temp.dropins}" defaultexcludes="false"> + <include name="**/*" /> + </fileset> + </delete> + <mkdir dir="${temp.dropins}" /> + + <copy todir="${temp.dropins}" failonerror="true"> + <fileset dir="${git.clone}/features/org.eclipse.emf.cdo.license-feature/rootfiles"> + <include name="epl-v10.html" /> + <include name="notice.html" /> + </fileset> + </copy> + + <copy todir="${temp.dropins}/features" flatten="true"> + <fileset dir="${buckminster.output.root}"> + <include name="*-eclipse.feature/jar/*" /> + <include name="*-eclipse.feature/source.jar/*" /> + <exclude name="org.eclipse.emf.cdo.site*/**/*" /> + <exclude name="org.eclipse.emf.cdo.epp*/**/*" /> + <exclude name="org.eclipse.emf.cdo.license*/**/*" /> + </fileset> + </copy> + + <copy todir="${temp.dropins}/plugins" flatten="true"> + <fileset dir="${buckminster.output.root}"> + <include name="*-osgi.bundle/jar/*" /> + <include name="*-osgi.bundle/source.jar/*" /> + </fileset> + </copy> + + <mkdir dir="${zips}" /> + <zip destfile="${zips}/emf-cdo-${build.qualifier}-Dropins.zip"> + <fileset dir="${temp.dropins}"> + <include name="**/*" /> + </fileset> + </zip> + <echo message=" for use with a <a href="http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/p2_dropins_format.html">dropins</a> folder." + file="${zips}/emf-cdo-${build.qualifier}-Dropins.properties" /> + </sequential> + </macrodef> + + <!-- ============ --> + <!-- Generate API --> + <!-- ============ --> + + <macrodef name="generate.api"> + <sequential> + <echo message="Generating API reports" /> + <buckminster command="perform"> + <cmdargs> + <arg value="-D" /> + <arg value="api.report=${build.root}/api.xml" /> + <arg value="org.eclipse.emf.cdo.releng#generate.api.reports" /> + </cmdargs> + </buckminster> + <echo message="Converting to HTML" /> + <java classname="org.eclipse.emf.cdo.releng.Api2Html"> + <classpath> + <pathelement location="${releng}/bin/" /> + <pathelement location="/opt/public/common/apache-ant-1.7.1/lib/xercesImpl.jar" /> + </classpath> + <arg value="${build.root}" /> + <arg value="${build.qualifier}" /> + <arg value="${git.clone}/plugins" /> + <arg value="${tp}/plugins" /> + </java> + <copy file="${releng}/hudson/api.css" todir="${build.root}" overwrite="true" /> + </sequential> + </macrodef> + + <!-- ================= --> + <!-- Generate Products --> + <!-- ================= --> + + <macrodef name="generate.products"> + <sequential> + <property name="temp.products" location="${result}/temp.products" /> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${temp.products}"> + <include name="**" /> + </fileset> + </delete> + <mkdir dir="${temp.products}" /> + + <if> + <not> + <equals arg1="${skip.generate.products.server}" arg2="true" /> + </not> + <then> + <generate.product id="org.eclipse.emf.cdo.server.product.tcp_h2" profile="CDOServer" priority="4" /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.products.explorer}" arg2="true" /> + </not> + <then> + <generate.product id="org.eclipse.emf.cdo.explorer.product" profile="CDOExplorer" priority="3" /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.products.setup}" arg2="true" /> + </not> + <then> + <generate.product id="org.eclipse.emf.cdo.releng.setup.product.ide" profile="Setup" priority="2" /> + </then> + </if> + </sequential> + </macrodef> + + <!-- ================ --> + <!-- Generate Product --> + <!-- ================ --> + + <macrodef name="generate.product"> + <attribute name="id" /> + <attribute name="profile" /> + <attribute name="priority" /> + <sequential> + <if> + <not> + <equals arg1="${skip.generate.products.windows}" arg2="true" /> + </not> + <then> + <generate.product.platform id="@{id}" + profile="@{profile}" + platform="Windows" + os="win32" + ws="win32" + arch="x86_64" + priority="@{priority}50" /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.products.linux}" arg2="true" /> + </not> + <then> + <generate.product.platform id="@{id}" + profile="@{profile}" + platform="Linux" + os="linux" + ws="gtk" + arch="x86_64" + priority="@{priority}40" /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.products.macos}" arg2="true" /> + </not> + <then> + <generate.product.platform id="@{id}" + profile="@{profile}" + platform="Mac" + os="macosx" + ws="cocoa" + arch="x86_64" + priority="@{priority}30" /> + </then> + </if> + </sequential> + </macrodef> + + <!-- ========================= --> + <!-- Generate Product Platform --> + <!-- ========================= --> + + <macrodef name="generate.product.platform"> + <attribute name="id" /> + <attribute name="profile" /> + <attribute name="platform" /> + <attribute name="os" /> + <attribute name="ws" /> + <attribute name="arch" /> + <attribute name="priority" /> + <sequential> + <if> + <or> + <not> + <isset property="platform" /> + </not> + <equals arg1="${platform}" arg2="@{platform}" /> + </or> + <then> + <echo message="" /> + <echo message="Generating @{profile} for @{platform}" /> + <mkdir dir="${temp.products}/@{profile}-@{platform}" /> + + <director> + <args> + <arg value="-r" /> + <arg value="file:${build.root}" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/releases/${train}" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/releases/${train.previous}" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/eclipse/updates/${eclipse}-I-builds" /> + <arg value="-d" /> + <arg value="${temp.products}/@{profile}-@{platform}" /> + <arg value="-p" /> + <arg value="@{profile}" /> + <arg value="-i" /> + <arg value="@{id}" /> + <arg value="-p2.os" /> + <arg value="@{os}" /> + <arg value="-p2.ws" /> + <arg value="@{ws}" /> + <arg value="-p2.arch" /> + <arg value="@{arch}" /> + </args> + </director> + + <delete includeemptydirs="true" quiet="true"> + <fileset dir="${temp.products}/@{profile}-@{platform}"> + <include name="p2/**" /> + <include name="launcher.exe" /> + <include name="eclipsec.exe" /> + </fileset> + </delete> + + <copy todir="${temp.products}/@{profile}-@{platform}" failonerror="true"> + <fileset dir="${git.clone}/features/org.eclipse.emf.cdo.license-feature/rootfiles"> + <include name="epl-v10.html" /> + <include name="notice.html" /> + </fileset> + </copy> + + <mkdir dir="${zips}" /> + <zip destfile="${zips}/emf-cdo-${build.qualifier}-@{profile}-@{platform}.zip"> + <fileset dir="${temp.products}/@{profile}-@{platform}"> + <include name="**" /> + </fileset> + </zip> + + <echo message="description=for execution on @{platform}.${line.separator}priority=@{priority}" + file="${zips}/emf-cdo-${build.qualifier}-@{profile}-@{platform}.properties" /> + </then> + </if> + </sequential> + </macrodef> + + <!-- =========== --> + <!-- Init Hudson --> + <!-- =========== --> + + <target name="-init.hudson" if="env.HUDSON_URL"> + <property name="build.location" value="hudson" /> + <property name="build.timestamp" value="${env.BUILD_ID}" /> + <property name="loglevel" value="${env.LOGLEVEL}" /> + <property name="jarprocessor.dir" value="${env.org.eclipse.update.jarprocessor.pack200}" /> + <property name="p2.mirrors" value="false" /> + <property name="generate.products" value="${env.GENERATE_PRODUCTS}" /> + + <!-- skip.generate.products --> + <condition property="skip.generate.products" value="false" else="true"> + <equals arg1="${env.GENERATE_PRODUCTS}" arg2="true" /> + </condition> + + <!-- build.trigger --> + <if> + <not> + <isset property="build.trigger" /> + </not> + <then> + <xmlproperty keeproot="false"> + <url url="${env.BUILD_URL}/api/xml?tree=actions[causes[shortDescription]]" /> + </xmlproperty> + <loadresource property="build.trigger"> + <propertyresource name="action.cause.shortDescription" /> + <filterchain> + <replaceregex pattern="^Triggered by " replace="" /> + <replaceregex pattern="^Gerrit: .*" replace="gerrit" /> + <replaceregex pattern="^Started by " replace="" /> + <replaceregex pattern="^Gestartet durch " replace="" /> + <replaceregex pattern="Benutzer" replace="user" /> + </filterchain> + </loadresource> + </then> + </if> + + <!-- build.type --> + <if> + <equals arg1="${env.BUILD_TYPE}" arg2="<default>" /> + <then> + <condition property="build.type" value="${weekly}" else="N"> + <equals arg1="${build.trigger}" arg2="timer" /> + </condition> + </then> + <else> + <property name="build.type" value="${env.BUILD_TYPE}" /> + </else> + </if> + + <!-- site.signing --> + <condition property="site.signing" value="true" else="false"> + <and> + <not> + <equals arg1="${build.type}" arg2="N" /> + </not> + <equals arg1="${env.HUDSON_URL}" arg2="https://hudson.eclipse.org/hudson/" /> + </and> + </condition> + + <!-- site.signing --> + <if> + <equals arg1="${site.signing}" arg2="true" /> + <then> + <property name="eclipse.staging.area" value="/shared/download-staging.priv/modeling/emf/cdo/${env.JOB_NAME}" /> + </then> + </if> + </target> + + <!-- ========== --> + <!-- Init Local --> + <!-- ========== --> + + <target name="-init.local" unless="env.HUDSON_URL"> + <property name="build.location" value="local" /> + <property name="build.trigger" value="manual" /> + <property name="site.signing" value="false" /> + <property name="git.clone" value="${build.root}/git" /> + + <tstamp> + <format property="build.timestamp" pattern="yyyy-MM-dd_HH-mm-ss" /> + </tstamp> + + <if> + <and> + <equals arg1="${keep.git}" arg2="true" /> + <available file="${git.clone}" type="dir" /> + </and> + <then> + <echo message="Keeping Git clone" /> + </then> + <else> + <echo message="Copying Git clone from ${original.git.dir}" /> + <copy todir="${git.clone}"> + <fileset dir="${original.git.dir}" defaultexcludes="false"> + <exclude name="**/*.class" /> + </fileset> + </copy> + </else> + </if> + </target> + + <!-- =============== --> + <!-- Init Properties --> + <!-- =============== --> + + <target name="-init.properties" depends="-init.hudson,-init.local"> + <condition property="gerrit.trigger" value="true"> + <equals arg1="${build.trigger}" arg2="gerrit" /> + </condition> + + <condition property="no.proxy" value="${env.no_proxy}, dev.eclipse.org" else="dev.eclipse.org"> + <isset property="env.no_proxy" /> + </condition> + + <property name="git.clone" location="${build.root}/git" /> + <property name="releng" location="${git.clone}/plugins/org.eclipse.emf.cdo.releng" /> + <property name="test.report" location="${build.root}/test-report.xml" /> + <property name="tools" location="${build.root}/tools" /> + <property name="zips" location="${build.root}/zips" /> + + <property name="result" location="${build.root}/result" /> + <property name="ws" location="${result}/ws" /> + <property name="tp" location="${result}/tp" /> + + <property name="buckminster.output.root" location="${result}/output" /> + <property name="buckminster.temp.root" location="${result}/temp" /> + + <!-- build.qualifier --> + <tempfile property="build.qualifier.tmp" + destdir="${java.io.tmpdir}" + prefix="build-qualifier-" + suffix=".tmp" + deleteonexit="true" /> + <echo message="build.qualifier=${build.type}${build.timestamp}" file="${build.qualifier.tmp}" /> + <replaceregexp file="${build.qualifier.tmp}"> + <regexp pattern="([0-9]*)-([0-9]*)-([0-9]*)_([0-9]*)-([0-9]*)-([0-9]*)" /> + <substitution expression="\1\2\3-\4\5" /> + </replaceregexp > + <property file="${build.qualifier.tmp}" /> + + <!-- build-info.xml --> + <echoxml file="${build.root}/build-info.xml"> + <build stream="${stream}" + branch="${branch}" + train="${train}" + eclipse="${eclipse}" + emf="${emf}" + type="${build.type}" + timestamp="${build.timestamp}" + qualifier="${build.qualifier}" + trigger="${build.trigger}" + hudson="${env.HUDSON_URL}" + revision="${env.GIT_COMMIT}" + job="${env.JOB_NAME}" + number="${env.BUILD_NUMBER}" /> + </echoxml> + + <!-- Echo --> + <echo message="stream = ${stream}" /> + <echo message="branch = ${branch}" /> + <echo message="train = ${train}" /> + <echo message="build.type = ${build.type}" /> + <echo message="build.location = ${build.location}" /> + <echo message="build.trigger = ${build.trigger}" /> + <echo message="build.timestamp = ${build.timestamp}" /> + <echo message="build.qualifier = ${build.qualifier}" /> + <echo message="site.signing = ${site.signing}" /> + </target> + + <!-- ========== --> + <!-- Init Tools --> + <!-- ========== --> + + <target name="-init.tools" depends="-init.properties"> + <if> + <and> + <equals arg1="${keep.tools}" arg2="true" /> + <available file="${tools}/director" type="dir" /> + <available file="${tools}/buckminster" type="dir" /> + </and> + <then> + <echo message="Keeping tool installation" /> + </then> + <else> + <!-- Delete existing tool installations --> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${tools}" defaultexcludes="false"> + <include name="director" /> + <include name="buckminster" /> + </fileset> + </delete> + + <!-- Install director --> + <echo message="" /> + <echo message="Installing director" /> + <tempfile destdir="${java.io.tmpdir}" + prefix="director-" + suffix=".zip" + property="director.zip" + deleteonexit="true" /> + <get src="http://download.eclipse.org/tools/buckminster/products/director_latest.zip" dest="${director.zip}" /> + <mkdir dir="${tools}" /> + <unzip src="${director.zip}" dest="${tools}" /> + <delete file="${director.zip}" /> + + <!-- Install buckminster --> + <echo message="" /> + <echo message="Installing buckminster" /> + <director> + <args> + <arg value="-r" /> + <arg value="http://download.eclipse.org/tools/buckminster/headless-4.3" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/eclipse/updates/3.8" /> + <arg value="-r" /> + <arg value="http://download.eclipse.org/modeling/emf/cdo/updates/integration" /> + <arg value="-d" /> + <arg value="${tools}/buckminster" /> + <arg value="-p" /> + <arg value="Buckminster" /> + <arg value="-i" /> + <arg value="org.eclipse.buckminster.cmdline.product" /> + <arg value="-i" /> + <arg value="org.eclipse.buckminster.core.headless.feature.feature.group" /> + <arg value="-i" /> + <arg value="org.eclipse.buckminster.pde.headless.feature.feature.group" /> + <arg value="-i" /> + <arg value="org.eclipse.buckminster.git.headless.feature.feature.group" /> + <arg value="-i" /> + <arg value="org.eclipse.ant.launching" /> + <arg value="-i" /> + <arg value="org.eclipse.pde.api.tools.ee.j2se15.group" /> + <arg value="-i" /> + <arg value="org.eclipse.emf.cdo.releng.version.headless.feature.group" /> + <arg value="-i" /> + <arg value="org.eclipse.emf.cdo.releng.apireports.feature.group" /> + </args> + </director> + + <!-- See http://wiki.eclipse.org/Hudson#Configuring_a_proxy_for_the_p2_director --> + <copy file="${releng}/${build.location}/org.eclipse.core.net.prefs" + todir="${tools}/buckminster/configuration/.settings" + overwrite="true" /> + </else> + </if> + </target> + + <!-- ========= --> + <!-- Provision --> + <!-- ========= --> + + <target name="provision" depends="-init.tools" description="Imports projects and binaries"> + <if> + <not> + <equals arg1="${skip.provision}" arg2="true" /> + </not> + <then> + <echo message="Initializing workspace" /> + <delete includeemptydirs="true" failonerror="false"> + <fileset dir="${result}" defaultexcludes="false"> + <include name="ws" /> + <include name="output" /> + <include name="temp" /> + <include name="*.properties" /> + </fileset> + </delete> + + <mkdir dir="${result}" /> + <unzip dest="${ws}" src="${releng}/hudson/workspace.zip" /> + + <copy file="${releng}/hudson/test-report-empty.xml" tofile="${test.report}" verbose="true" /> + <copy file="${releng}/hudson/api_baseline.xml" tofile="${releng}/hudson/api_baseline.target" verbose="true" /> + + <if> + <equals arg1="${build.location}" arg2="local" /> + <then> + <echo message="Using local baseline ${baseline.dir}" /> + <replaceregexp file="${releng}/hudson/api_baseline.target" + match="path="[^"]+"" + replace="path="${baseline.dir}"" /> + </then> + </if> + + <buckminster command="setpref"> + <cmdargs> + <arg value="maxParallelResolutions=1" /> + </cmdargs> + </buckminster> + + <if> + <and> + <equals arg1="${keep.tp}" arg2="true" /> + <available file="${tp}" type="dir" /> + </and> + <then> + <echo message="Keeping target platform ${tp}" /> + </then> + <else> + <echo message="Purging target platform ${tp}" /> + <delete failonerror="false" includeemptydirs="true"> + <fileset dir="${result}" defaultexcludes="false"> + <include name="tp" /> + </fileset> + </delete> + </else> + </if> + + <echo message="Importing binaries into ${tp}" /> + <echo message="Importing projects into ${ws}" /> + <mkdir dir="${tp}" /> + <buckminster command="import"> + <cmdargs> + <arg value="-B" /> + <arg value="${build.root}/bom.xml" /> + + <arg value="-P" /> + <arg value="${basedir}/build.properties" /> + + <!-- Last argument: --> + <arg value="${basedir}/build.mspec" /> + </cmdargs> + </buckminster> + + <echo message="" /> + <echo message="Setting API baseline" /> + <buckminster command="addbaseline"> + <cmdargs> + <arg value="-A" /> + <arg value="CDO Baseline" /> + </cmdargs> + </buckminster> + </then> + </if> + </target> + + <!-- ===== --> + <!-- Build --> + <!-- ===== --> + + <target name="build" depends="provision" description="Builds all projects and generates build-infos.xml"> + <if> + <not> + <equals arg1="${skip.build}" arg2="true" /> + </not> + <then> + <echo message="Building all projects in workspace ${ws}" /> + <buckminster command="build"> + <cmdargs> + <arg value="--thorough" /> + </cmdargs> + </buckminster> + + <delete failonerror="false" includeemptydirs="true"> + <fileset dir="${git.clone}/plugins"> + <exclude name="org.eclipse.emf.cdo.releng.doc/**" /> + <include name="*.doc/bin/**" /> + <include name="*.help/bin/**" /> + </fileset> + </delete> + </then> + </if> + </target> + + <!-- ======= --> + <!-- Site.p2 --> + <!-- ======= --> + + <target name="generate" depends="build" description="Generates the site and depending artifacts"> + <if> + <or> + <isset property="gerrit.trigger" /> + <equals arg1="${skip.generate}" arg2="true" /> + </or> + <then> + <echo message="Skipping generate" /> + </then> + <else> + <if> + <not> + <equals arg1="${skip.generate.site}" arg2="true" /> + </not> + <then> + <generate.site feature="org.eclipse.emf.cdo.site" /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.help}" arg2="true" /> + </not> + <then> + <generate.help /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.index}" arg2="true" /> + </not> + <then> + <generate.index /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.bookmarks}" arg2="true" /> + </not> + <then> + <generate.bookmarks /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.dropins}" arg2="true" /> + </not> + <then> + <generate.dropins /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.api}" arg2="true" /> + </not> + <then> + <generate.api /> + </then> + </if> + + <if> + <not> + <equals arg1="${skip.generate.products}" arg2="true" /> + </not> + <then> + <generate.products /> + </then> + </if> + </else> + </if> + </target> + + <!-- ==== --> + <!-- Test --> + <!-- ==== --> + + <target name="test" depends="generate" description="Runs the tests"> + <condition property="launch.config" + value="org.eclipse.emf.cdo.tests.all/CDO GerritTests" + else="org.eclipse.emf.cdo.tests.db/CDO AllTests (H2 ALL)"> + <isset property="gerrit.trigger" /> + </condition> + <echo message="Running ${launch.config}" /> + <buckminster command="junit"> + <cmdargs> + <arg value="-l" /> + <arg value="${launch.config}.launch" /> + <arg value="-o" /> + <arg value="${test.report}" /> + <arg value="--terseXML" /> + <arg value="--flatXML" /> + </cmdargs> + </buckminster> + </target> </project> diff --git a/plugins/org.eclipse.emf.cdo.releng/local.properties b/plugins/org.eclipse.emf.cdo.releng/local.properties new file mode 100644 index 0000000000..75f888348f --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/local.properties @@ -0,0 +1,42 @@ +# Copyright (c) 2013 Eike Stepper (Berlin, Germany) 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: +# Eike Stepper - initial API and implementation + +jarprocessor.dir = C:/Program Files/Java/jdk1.6.0_41/bin +bundlepool.dir = C:/develop/.p2pool-tp +original.git.dir = C:/develop/cdo/master/git/cdo +baseline.dir = C:/develop/cdo/.baselines/4.2 +build.root = C:/develop/cdo/master/build + +build.type = N +p2.mirrors = true +loglevel = INFO + +# Set the following properties to true to speed up repeated builds +keep.tools = true +keep.git = true +keep.tp = true + +skip.provision = false +skip.build = false + +skip.generate = false +skip.generate.site = false +skip.generate.help = true +skip.generate.index = true +skip.generate.bookmarks = true +skip.generate.dropins = true +skip.generate.api = true + +skip.generate.products = false +skip.generate.products.server = true +skip.generate.products.explorer = true +skip.generate.products.setup = false +skip.generate.products.windows = false +skip.generate.products.linux = true +skip.generate.products.macos = true diff --git a/plugins/org.eclipse.emf.cdo.releng/local.properties.template b/plugins/org.eclipse.emf.cdo.releng/local.properties.template new file mode 100644 index 0000000000..75f888348f --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/local.properties.template @@ -0,0 +1,42 @@ +# Copyright (c) 2013 Eike Stepper (Berlin, Germany) 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: +# Eike Stepper - initial API and implementation + +jarprocessor.dir = C:/Program Files/Java/jdk1.6.0_41/bin +bundlepool.dir = C:/develop/.p2pool-tp +original.git.dir = C:/develop/cdo/master/git/cdo +baseline.dir = C:/develop/cdo/.baselines/4.2 +build.root = C:/develop/cdo/master/build + +build.type = N +p2.mirrors = true +loglevel = INFO + +# Set the following properties to true to speed up repeated builds +keep.tools = true +keep.git = true +keep.tp = true + +skip.provision = false +skip.build = false + +skip.generate = false +skip.generate.site = false +skip.generate.help = true +skip.generate.index = true +skip.generate.bookmarks = true +skip.generate.dropins = true +skip.generate.api = true + +skip.generate.products = false +skip.generate.products.server = true +skip.generate.products.explorer = true +skip.generate.products.setup = false +skip.generate.products.windows = false +skip.generate.products.linux = true +skip.generate.products.macos = true diff --git a/plugins/org.eclipse.emf.cdo.releng/local.setup b/plugins/org.eclipse.emf.cdo.releng/local.setup new file mode 100644 index 0000000000..fc8d0d4695 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/local.setup @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="ASCII"?> +<setup:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:setup="http://www.eclipse.org/CDO/releng/setup/1.0" xmlns:workingsets="http://www.eclipse.org/CDO/releng/workingsets/1.0" name="CDO"> + <configuration href="../org.eclipse.emf.cdo.releng.setup/model/My.setup#/"/> + <setupTasks xsi:type="setup:P2Task"> + <p2Repositories url="http://download.eclipse.org/releases/kepler"/> + <p2Repositories url="http://download.eclipse.org/modeling/emf/cdo/updates/integration"/> + <p2Repositories url="http://download.eclipse.org/mylyn/snapshots/weekly"/> + <p2Repositories url="http://download.eclipse.org/tools/buckminster/updates-4.3"/> + <p2Repositories url="http://download.eclipse.org/egit/updates-nightly"/> + <p2Repositories url="http://download.eclipse.org/egit/github/updates-nightly"/> + <installableUnits id="org.eclipse.pde.api.tools.ee.feature.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.launches.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.manifests.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.projectcopy.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.relativepaths.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.tasks.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.version.feature.group"/> + <installableUnits id="org.eclipse.emf.cdo.releng.workingsets.feature.group"/> + <installableUnits id="org.eclipse.mylyn.github.feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.hudson.feature.group"/> + <installableUnits id="org.eclipse.mylyn.ide_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.java_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.pde_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.team_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.gerrit.feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.bugzilla_feature.feature.group"/> + <installableUnits id="org.eclipse.mylyn.git.feature.group"/> + <installableUnits id="org.eclipse.egit.feature.group"/> + <installableUnits id="org.eclipse.egit.mylyn.feature.group"/> + <installableUnits id="org.eclipse.buckminster.core.feature.feature.group"/> + <installableUnits id="org.eclipse.buckminster.git.feature.feature.group"/> + <installableUnits id="org.eclipse.buckminster.pde.feature.feature.group"/> + <installableUnits id="org.eclipse.net4j.util.ui.feature.group"/> + </setupTasks> + <setupTasks xsi:type="setup:EclipseIniTask" option="-data" value="${setup.branch.dir}/ws"/> + <setupTasks xsi:type="setup:EclipseIniTask" option="-Djgit.gitprefix" value="=${setup.git.prefix}" vm="true"/> + <setupTasks xsi:type="setup:EclipseIniTask" option="-Dorg.eclipse.buckminster.core.bundle.pool" value="=${setup.install.dir}/.p2pool-tp" vm="true"/> + <setupTasks xsi:type="setup:EclipsePreferenceTask" key="instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE" value="ignore"/> + <setupTasks xsi:type="setup:EclipsePreferenceTask" key="instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unclosedCloseable" value="ignore"/> + <setupTasks xsi:type="setup:EclipsePreferenceTask" key="instance/org.eclipse.pde/compilers.f.unresolved-features" value="2"/> + <setupTasks xsi:type="setup:WorkingSetTask" id="CDO"> + <workingSetGroup> + <workingSets name="Features"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo.*-feature"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j.*-feature"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.gastro.*-feature"/> + </workingSets> + <workingSets name="Infrastructure"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo\.releng\.promotion.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo\.releng\.doc\.supplemental.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="cdo\.www.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.simrel\.build.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="com\.ibm\.db2\.jcc.*"/> + </workingSets> + <workingSets name="Releng"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo\.releng.*"/> + </workingSets> + <workingSets name="CDO Dawn"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo\.dawn.*"/> + </workingSets> + <workingSets name="CDO Tests"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf.cdo\.tests.*"/> + </workingSets> + <workingSets name="CDO Examples"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo\.examples.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.gastro.*"/> + </workingSets> + <workingSets name="CDO"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.emf\.cdo.*"/> + </workingSets> + <workingSets name="Net4j DB"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j\.db.*"/> + </workingSets> + <workingSets name="Net4j Examples"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j\.examples.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j\.buddies.*"/> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j\.jms.*"/> + </workingSets> + <workingSets name="Net4j"> + <predicates xsi:type="workingsets:NamePredicate" pattern="org\.eclipse\.net4j.*"/> + </workingSets> + </workingSetGroup> + </setupTasks> + <branches name="master"> + <setupTasks xsi:type="setup:P2Task"> + <p2Repositories url="http://download.eclipse.org/releases/kepler"/> + <installableUnits id="org.eclipse.emf.sdk.feature.group"/> + <installableUnits id="org.eclipse.emf.ecoretools.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.runtime.notation.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.runtime.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.sdk.feature.group"/> + </setupTasks> + <setupTasks xsi:type="setup:GitCloneTask" name="cdo" remoteURI="ssh://git.eclipse.org:29418/cdo/cdo" checkoutBranch="master"/> + <setupTasks xsi:type="setup:StringVariableTask" requirements="//@branches.0/@setupTasks.1" name="git.clone" value="${setup.branch.dir}/git/cdo" description="Location of CDO's Git clone."/> + <setupTasks xsi:type="setup:BuckminsterImportTask" requirements="//@branches.0/@setupTasks.2" id="CDO" mspec="${setup.branch.dir}/git/cdo/plugins/org.eclipse.emf.cdo.releng/local.mspec" targetPlatform="${setup.branch.dir}/tp" bundlePool="${setup.install.dir}/.p2pool-tp"/> + <setupTasks xsi:type="setup:ApiBaselineTask" requirements="//@branches.0/@setupTasks.3" version="4.2" zipLocation="http://sourceforge.net/projects/net4j/files/Baselines/emf-cdo-4.2-baseline.zip/download"/> + </branches> + <branches name="4.2"> + <setupTasks xsi:type="setup:P2Task"> + <p2Repositories url="http://download.eclipse.org/releases/kepler"/> + <installableUnits id="org.eclipse.emf.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.runtime.notation.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.runtime.sdk.feature.group"/> + <installableUnits id="org.eclipse.gmf.sdk.feature.group"/> + </setupTasks> + <setupTasks xsi:type="setup:GitCloneTask" name="cdo" remoteURI="ssh://git.eclipse.org:29418/cdo/cdo" checkoutBranch="streams/4.2-maintenance"/> + <setupTasks xsi:type="setup:StringVariableTask" requirements="//@branches.1/@setupTasks.1" name="git.clone" value="${setup.branch.dir}/git/cdo" description="Location of CDO's Git clone."/> + <setupTasks xsi:type="setup:BuckminsterImportTask" requirements="//@branches.1/@setupTasks.2" id="CDO" mspec="${setup.branch.dir}/git/cdo/plugins/org.eclipse.emf.cdo.releng/local.mspec" targetPlatform="${setup.branch.dir}/tp" bundlePool="${setup.install.dir}/.p2pool-tp"/> + <setupTasks xsi:type="setup:ApiBaselineTask" requirements="//@branches.1/@setupTasks.3" version="4.2" zipLocation="http://sourceforge.net/projects/net4j/files/Baselines/emf-cdo-4.2-baseline.zip/download"/> + </branches> +</setup:Project> diff --git a/plugins/org.eclipse.emf.cdo.releng/local/org.eclipse.core.net.prefs b/plugins/org.eclipse.emf.cdo.releng/local/org.eclipse.core.net.prefs new file mode 100644 index 0000000000..f68721f649 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/local/org.eclipse.core.net.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +nonProxiedHosts=localhost|127.0.0.1 +org.eclipse.core.net.hasMigrated=true +systemProxiesEnabled=true diff --git a/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java new file mode 100644 index 0000000000..dd211b5d05 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/src/org/eclipse/emf/cdo/releng/Main.java @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2004-2013 Eike Stepper (Berlin, Germany) 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: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.releng; + +/** + * @author Eike Stepper + */ +public class Main +{ + public static void main(String[] args) + { + for (String arg : args) + { + System.out.println(arg); + } + } +} diff --git a/plugins/org.eclipse.emf.cdo.releng/test.ant b/plugins/org.eclipse.emf.cdo.releng/test.ant new file mode 100644 index 0000000000..b14609a840 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.releng/test.ant @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!-- + Copyright (c) 2011-2013 Eike Stepper (Berlin, Germany) 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: + Eike Stepper - initial API and implementation +--> +<project name="test" default="main"> + + <target name="main"> + </target> + +</project> diff --git a/plugins/org.eclipse.emf.cdo.server.objectivity.stub/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.objectivity.stub/META-INF/MANIFEST.MF index 7c6ebcdc87..f6e2cd7df3 100644 --- a/plugins/org.eclipse.emf.cdo.server.objectivity.stub/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.server.objectivity.stub/META-INF/MANIFEST.MF @@ -2,32 +2,32 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.emf.cdo.server.objectivity.stub -Bundle-Version: 4.2.0.qualifier +Bundle-Version: 4.3.0.qualifier Bundle-Localization: plugin Bundle-ClassPath: oojava_epl.jar -Export-Package: com.objy.as;version="4.2.0";uses:="com.objy.pm.asexcep,com.objy.db.app,com.objy.as.app", - com.objy.as.app;version="4.2.0";uses:="com.objy.db.app,com.objy.pm.asapp", - com.objy.db;version="4.2.0";uses:="com.objy.db.app", - com.objy.db.app;version="4.2.0";uses:="com.objy.db.iapp,com.objy.ejb", - com.objy.db.iapp;version="4.2.0";uses:="com.objy.db.app,com.objy.ejb,javax.transaction.xa", - com.objy.db.util;version="4.2.0";uses:="com.objy.db.iapp,com.objy.db.app,com.objy.pm", - com.objy.ejb;version="4.2.0";uses:="com.objy.db.iapp,com.objy.db.app,javax.transaction.xa", - com.objy.pm;version="4.2.0"; +Export-Package: com.objy.as;version="4.3.0";uses:="com.objy.pm.asexcep,com.objy.db.app,com.objy.as.app", + com.objy.as.app;version="4.3.0";uses:="com.objy.db.app,com.objy.pm.asapp", + com.objy.db;version="4.3.0";uses:="com.objy.db.app", + com.objy.db.app;version="4.3.0";uses:="com.objy.db.iapp,com.objy.ejb", + com.objy.db.iapp;version="4.3.0";uses:="com.objy.db.app,com.objy.ejb,javax.transaction.xa", + com.objy.db.util;version="4.3.0";uses:="com.objy.db.iapp,com.objy.db.app,com.objy.pm", + com.objy.ejb;version="4.3.0";uses:="com.objy.db.iapp,com.objy.db.app,javax.transaction.xa", + com.objy.pm;version="4.3.0"; uses:="com.objy.db.iapp, com.objy.db.app, com.objy.pm.asapp, com.objy.db, com.objy.as.app", - com.objy.pm.asapp;version="4.2.0"; + com.objy.pm.asapp;version="4.3.0"; uses:="com.objy.db.iapp, com.objy.db.app, com.objy.as.app, com.objy.pm", - com.objy.pm.asexcep;version="4.2.0"; + com.objy.pm.asexcep;version="4.3.0"; uses:="com.objy.db.app, com.objy.as, com.objy.as.app, com.objy.pm", - com.objy.pm.tmi;version="4.2.0" + com.objy.pm.tmi;version="4.3.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-Vendor: %providerName |