blob: 235f1c547559f9f48323f39be2c5fb77c7c891bf [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021 Equo
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.
SPDX-License-Identifier: EPL-2.0
Contributors:
Guillermo Zunino, Equo - initial implementation
Mauro Garcia, Equo - Fix src spotifycdn
-->
<project name="chromiumbuild" default="build.jars" basedir=".">
<property name="targets" value="chromium_install"/>
<property name="fragment" value="org.eclipse.swt.browser.chromium.${swt.ws}.${swt.os}.${swt.arch}"/>
<property name="src_common" value="'bundles/org.eclipse.swt/Eclipse SWT/common/library' 'bundles/org.eclipse.swt.browser.chromium/common/library' 'bundles/org.eclipse.swt.browser.chromium/common/rust-library'"/>
<property name="src_gtk" value="${src_common} 'bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library'"/>
<property name="src_cocoa" value="${src_common} 'bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/library'"/>
<property name="src_win32" value="${src_common} 'bundles/org.eclipse.swt/Eclipse SWT PI/win32/library'"/>
<property name="swtbasename" value="swt-chromium"/>
<property name="swtplugindir" value="../org.eclipse.swt"/>
<target name="build_local">
<antcall target="swtbuild.build_local"/>
<exec executable="rmdir">
<arg value="${output_dir}/webkitextensions${swt_version}/"/>
</exec>
</target>
<target name="get_cef">
<condition property="cefos" value="windows" else="${swt.os}">
<equals arg1="${swt.os}" arg2="win32"/>
</condition>
<property name="ceffile" value="cef_binary_3.3071.1649.g98725e6_${cefos}64_minimal.tar.bz2"/>
<mkdir dir="${tmphome}"/>
<get src="https://cef-builds.spotifycdn.com/${ceffile}" dest="${tmphome}/${ceffile}" usetimestamp="true"/>
<untar dest="${repo.src}/bundles/org.eclipse.swt.browser.chromium/common/rust-library/chromium_subp/cef_${swt.os}" overwrite="false" compression="bzip2" src="${tmphome}/${ceffile}">
<cutdirsmapper dirs="1"/>
</untar>
</target>
<target name="build_chromium" depends="init_fragment,get_version,get_cef">
<property name="rust_dir" value="${repo.src}/bundles/org.eclipse.swt.browser.chromium/common/rust-library"/>
<property name="chromium_output_dir" value="${basedir}/${fragment_dir}/chromium-${cef_ver}"/>
<property name="chromium_subp_output_dir" value="${chromium_output_dir}"/>
<property name="chromium_subp" value="chromium_subp-${swt_version}"/>
<property name="chromium_subp_from" value="chromium_subp"/>
<exec dir="${rust_dir}/chromium_subp" executable="cargo" failonerror="true">
<arg line="build"/>
<arg line="--release"/>
</exec>
<exec dir="${rust_dir}/chromium_swt" executable="cargo" failonerror="true">
<arg line="build"/>
<arg line="--release"/>
</exec>
<copy todir="${chromium_output_dir}" overwrite="true">
<fileset dir="${rust_dir}/chromium_swt/target/release/">
<include name="libchromium_swt_${swt_version}.so"/>
<include name="libchromium_swt_${swt_version}.dylib"/>
<include name="chromium_swt_${swt_version}.dll"/>
</fileset>
</copy>
<copy tofile="${chromium_subp_output_dir}/${chromium_subp}" file="${rust_dir}/chromium_subp/target/release/${chromium_subp_from}" overwrite="true"/>
<chmod perm="755" verbose="true" dir="${chromium_output_dir}" includes="*.so,*.dylib,*.jnilib" />
<chmod perm="755" verbose="true" dir="${chromium_subp_output_dir}" includes="${chromium_subp}" />
</target>
<import file="${swtplugindir}/buildFragment.xml"/>
<import file="${swtplugindir}/buildSWT.xml"/>
</project>