You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-tv/tvbrowser/files/tvbrowser-9999-build.xml

966 lines
36 KiB

<?xml version="1.0"?>
<!--
| Ant build script for the TV-Browser project.
|
| TV-Browser
| Copyright (C) 04-2003 Martin Oberhauser (martin@tvbrowser.org)
|
| This program is free software; you can redistribute it and/or
| modify it under the terms of the GNU General Public License
| as published by the Free Software Foundation; either version 2
| of the License, or (at your option) any later version.
|
| This program is distributed in the hope that it will be useful,
| but WITHOUT ANY WARRANTY; without even the implied warranty of
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| GNU General Public License for more details.
|
| You should have received a copy of the GNU General Public License
| along with this program; if not, write to the Free Software
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
| CVS information:
| $RCSfile: tvbrowser-9999-build.xml,v $
| $Source: /var/cvsroot/gentoo-x86/media-tv/tvbrowser/files/tvbrowser-9999-build.xml,v $
| $Date: 2015/05/31 00:56:25 $
| $Author: monsieurp $
| $Revision: 1.1 $
|
| Author: Til Schneider, www.murfman.de
+-->
<project name="TV-Browser" default="targets" basedir=".">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| The properties and paths
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<property environment="env"/>
<property file="build.properties"/>
<property name="programname" value="TV-Browser"/>
<property name="programname.file" value="tvbrowser"/>
<property name="classes.dir" value="classes"/>
<property name="lib.dir" value="lib"/>
<property name="txt.dir" value="txt"/>
<property name="src.dir" value="src"/>
<property name="test.src.dir" value="test/src"/>
<property name="test.classes.dir" value="test/classes"/>
<property name="doc.dir" value="doc"/>
<property name="doc.header" value="${programname} ${tvbrowser.version} API"/>
<property name="doc.title" value="API documentation for ${programname} ${tvbrowser.version}"/>
<property name="doc.bottom" value="${programname} ${tvbrowser.version}, Copyright (C) 2004-2008 TV-Browser Team (dev@tvbrowser.org)"/>
<property name="unpacked.dir" value="unpacked"/>
<property name="runtime.dir" value="runtime"/>
<property name="tvbrowser-default.runtime.dir" value="${runtime.dir}/tvbrowser_default"/>
<property name="tvbrowser-win.runtime.dir" value="${runtime.dir}/tvbrowser_win"/>
<property name="tvbrowser-linux.runtime.dir" value="${runtime.dir}/tvbrowser_linux"/>
<property name="tvbrowser-transportable.runtime.dir" value="${runtime.dir}/tvbrowser_transportable"/>
<property name="tvbrowser-nightly.runtime.dir" value="${runtime.dir}/tvbrowser_nightly"/>
<property name="tvbrowser-mac.runtime.dir" value="${runtime.dir}/tvbrowser_mac"/>
<property name="tvbrowser-macjava.runtime.dir" value="${runtime.dir}/tvbrowser_macjava"/>
<property name="themepacks.dir" value="themepacks"/>
<property name="personas.dir" value="personas"/>
<property name="deployment.dir" value="deployment" />
<property name="win.dir" value="${deployment.dir}/win"/>
<property name="linux.dir" value="${deployment.dir}/linux"/>
<property name="osx.dir" value="${deployment.dir}/macosx"/>
<property name="x11.dir" value="${deployment.dir}/x11"/>
<property name="installer.dir" value="${win.dir}/installer"/>
<property name="package-lists.dir" value="${txt.dir}/package-lists"/>
<property name="public.dir" value="public"/>
<property name="newsplugin.url" value="http://www.tvbrowser.org/data/uploads/1372016422809_543/NewsPlugin.jar"/>
<path id="sourcepath">
<pathelement location="${src.dir}"/>
</path>
<path id="classpath">
<pathelement location="${classes.dir}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
<exclude name="ant.jar"/>
</fileset>
</path>
<path id="docpath">
<path refid="sourcepath"/>
</path>
<path id="ant-deb.classpath">
<fileset dir="${deployment.dir}/linux/ant-deb-task" includes="*.jar"/>
</path>
<path id="ant-rpm.classpath">
<fileset dir="${deployment.dir}/linux/redline-rpm" includes="*.jar"/>
</path>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| Display all targets
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="targets" description="lists all the available public targets">
<echo message="usage: build [target]"/>
<echo message=""/>
<echo message="main targets:"/>
<echo message="============="/>
<echo message=" targets Shows this list of targets."/>
<echo message=" download-libs Downloads all necessary libraries from the Internet."/>
<echo message=" dump-info Dumps some information (VM-Version...)."/>
<echo message=" public-default Creates platform-independent binaries"/>
<echo message=" public-mac Creates binaries for the Mac OS X (requires Mac OS X)"/>
<echo message=" public-macjava Creates binaries for the Mac OS X with Java from Oracle (requires Mac OS X)"/>
<echo message=" public-linux Creates binaries for Linux platforms"/>
<echo message=" public-ubuntu Creates binaries for Ubuntu platforms"/>
<echo message=" public-fedora Creates binaries for Fedora platforms"/>
<echo message=" public-transportable Creates platform-independent binaries for transportable version of TV-Browser (requires Windows)"/>
<echo message=" public-nightly Creates platform-independent binaries for nightly transportable version of TV-Browser (without platform dependent starters)"/>
<echo message=" public-src Creates a .zip file containing the full source code of TV-Browser"/>
<echo message=" public-doc Generates the JavaDoc documentation."/>
<echo message=" release-packages Generates all packages needed for a TV-Browser release (without Mac version, works only under Windows)."/>
<echo message=""/>
<echo message="further targets:"/>
<echo message="================"/>
<echo message=" clean Deletes all class files, runtime directories and temporary files."/>
<echo message=" clean-runtime Deletes the runtime directory."/>
<echo message=" make-default Compiles the platform independent source code."/>
<echo message=" make-transportable Compiles the platform independent source code for transportable version."/>
<echo message=" make-linux Compiles the source code for linux platforms."/>
<echo message=" make-win Compiles the source code for windows platforms."/>
<echo message=" make-mac Compiles the source code for Mac OS X."/>
<echo message=" make-macjava Compiles the source code for Mac OS X with Java from Oracle."/>
<echo message=" runtime-default Creates the platform independent runtime directory" />
<echo message=" runtime-transportable Creates the platform independent runtime directory for transportable version" />
<echo message=" runtime-linux Creates a runtime directory for linux platforms" />
<echo message=" runtime-mac Creates a runtime directory for Mac OS X" />
<echo message=" runtime-macjava Creates a runtime directory for Mac OS X with Java from Oracle" />
<echo message=" runtime-win Creates a runtime directory for MS Windows" />
<echo message=" test Runs the JUnit tests."/>
</target>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| Clean tasks: remove files
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Deletes the runtime director -->
<target name="clean">
<delete dir="${classes.dir}"/>
<delete dir="${unpacked.dir}"/>
<delete dir="${test.classes.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-default" depends="clean">
<delete dir="${tvbrowser-default.runtime.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-transportable" depends="clean">
<delete dir="${tvbrowser-transportable.runtime.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-win" depends="clean">
<delete dir="${tvbrowser-win.runtime.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-linux" depends="clean">
<delete dir="${tvbrowser-linux.runtime.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-mac" depends="clean">
<delete dir="${tvbrowser-mac.runtime.dir}"/>
</target>
<!-- Deletes the classes and the runtime directory. -->
<target name="clean-macjava" depends="clean">
<delete dir="${tvbrowser-macjava.runtime.dir}"/>
</target>
<target name="clean-all" depends="clean-mac, clean-macjava, clean-linux, clean-win, clean-default">
<delete dir="${public.dir}"/>
</target>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| Make tasks: compile the source code
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="copy-resources">
<copy todir="${classes.dir}">
<fileset dir="${src.dir}" includes="**/*.gif"/>
<fileset dir="${src.dir}" includes="**/*.jpg"/>
<fileset dir="${src.dir}" includes="**/*.png"/>
<fileset dir="${src.dir}" includes="**/*.dtd"/>
<fileset dir="${src.dir}" includes="**/*.properties"/>
<fileset dir="${src.dir}" includes="**/*.theme"/>
<fileset dir="${src.dir}" includes="**/*.csv"/>
</copy>
</target>
<!-- Compiles the platform independent source code -->
<target name="make-default" depends="copy-resources">
<echo message="Compiling the source code ... "/>
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}" debug="${debug}" deprecation="true" encoding="UTF-8" target="1.6" source="1.6">
<src>
<path refid="sourcepath"/>
</src>
<classpath>
<path refid="classpath"/>
</classpath>
</javac>
</target>
<!-- Compiles the source code for windows platforms -->
<target name="make-win" depends="make-default">
</target>
<!-- Compiles the source code for linux platforms -->
<target name="make-linux" depends="make-default">
</target>
<!-- Compiles the source code for transportable version of TV-Browser -->
<target name="make-transportable" depends="make-default">
</target>
<!-- Compiles the source code for mac platforms -->
<target name="make-mac" depends="copy-resources">
<echo message="Compiling the source code ..."/>
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}" debug="${debug}" deprecation="true" encoding="UTF-8" target="1.5" source="1.5">
<src>
<path refid="sourcepath"/>
</src>
<classpath>
<path refid="classpath"/>
<path location="/System/Library/Java"/>
</classpath>
</javac>
</target>
<!-- Compiles the source code for mac platforms with Java from Oracle -->
<target name="make-macjava" depends="copy-resources">
<echo message="Compiling the source code ..."/>
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}" debug="${debug}" deprecation="true" encoding="UTF-8" target="1.6" source="1.6">
<src>
<path refid="sourcepath"/>
</src>
<classpath>
<path refid="classpath"/>
<path location="/Library/Java/JavaVirtualMachines"/>
</classpath>
</javac>
</target>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| Runtime tasks: create runtime folders for the specified platform
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="mkdirs">
<!-- Make the TV-Browser runtime -->
<delete dir="${tvbrowser-default.runtime.dir}"/>
<mkdir dir="${tvbrowser-default.runtime.dir}"/>
<mkdir dir="${tvbrowser-default.runtime.dir}/plugins"/>
</target>
<!-- Creates the platform independent runtime folder -->
<target name="runtime" depends="clean-default, make-default, mkdirs">
<echo message="Creating the jars ..."/>
<!-- Pack the tvbrowser.jar -->
<jar jarfile="${tvbrowser-default.runtime.dir}/tvbrowser.jar"
compress="true"
index="true">
<manifest>
<attribute name="Main-Class" value="tvbrowser.TVBrowser"/>
<attribute name="SplashScreen-Image" value="splash.png"/>
</manifest>
<fileset dir="${classes.dir}" includes="tvbrowser/**"/>
<fileset dir="${classes.dir}" includes="devplugin/**"/>
<fileset dir="${classes.dir}" includes="tvdataservice/**"/>
<fileset dir="${classes.dir}" includes="util/**"/>
<fileset dir="${classes.dir}" includes="com/**"/>
<fileset dir="${classes.dir}/imgs" includes="splash.png"/>
</jar>
<!-- Copy the other stuff -->
<echo message="Copying the images and all the other stuff ..."/>
<mkdir dir="${tvbrowser-default.runtime.dir}/imgs"/>
<copy todir="${tvbrowser-default.runtime.dir}/imgs">
<fileset dir="${classes.dir}/imgs" excludes="splash.png"/>
</copy>
<copy todir="${tvbrowser-default.runtime.dir}/imgs">
<fileset dir="./images/additional">
<include name="*.ico"/>
</fileset>
</copy>
<mkdir dir="${tvbrowser-default.runtime.dir}/personas"/>
<copy todir="${tvbrowser-default.runtime.dir}/personas">
<fileset dir="./personas"/>
</copy>
<copy todir="${tvbrowser-default.runtime.dir}">
<fileset dir="${txt.dir}" includes="LICENSE.txt"/>
<fileset dir="${txt.dir}" includes="COPYRIGHT.txt"/>
<fileset dir="${deployment.dir}/common" includes="**" />
<!-- <fileset dir="${txt.dir}" includes="website.url"/> -->
<!-- <fileset dir="${txt.dir}" includes="default.properties"/> -->
<!-- <fileset dir="${txt.dir}" includes="osx.properties"/> -->
<!-- <fileset dir="${txt.dir}" includes="windows.properties"/> -->
<!-- <fileset dir="${txt.dir}" includes="tvbrowser.sh"/> -->
</copy>
<!-- Themepacks -->
<mkdir dir="${tvbrowser-default.runtime.dir}/themepacks"/>
<copy todir="${tvbrowser-default.runtime.dir}/themepacks">
<fileset dir="themepacks"/>
</copy>
<!-- Icon-Themes -->
<mkdir dir="${tvbrowser-default.runtime.dir}/icons"/>
<!-- Info-Icon-Themes -->
<mkdir dir="${tvbrowser-default.runtime.dir}/infothemes"/>
<zip destfile="${tvbrowser-default.runtime.dir}/infothemes/tvb_default.zip">
<zipfileset dir="images/infothemes/tvb_default"></zipfileset>
</zip>
<zip destfile="${tvbrowser-default.runtime.dir}/infothemes/tvb_colored.zip">
<zipfileset dir="images/infothemes/tvb_colored"></zipfileset>
</zip>
<zip destfile="${tvbrowser-default.runtime.dir}/icons/Tango.zip">
<zipfileset dir="images/themes/tango"></zipfileset>
</zip>
<zip destfile="${tvbrowser-default.runtime.dir}/icons/CrystalClear.zip">
<zipfileset dir="images/themes/CrystalClear"></zipfileset>
</zip>
</target>
<!-- Creates the default runtime folder (platform independent) -->
<target name="runtime-default" depends="clean-default, make-default, runtime">
</target>
<!-- Creates the runtime folder for the transportable version -->
<target name="runtime-transportable" depends="clean-transportable, make-transportable, runtime">
<echo message="deployment dir is ${deployment.dir}, win is ${win.dir}" />
<mkdir dir="${tvbrowser-transportable.runtime.dir}"/>
<mkdir dir="${tvbrowser-transportable.runtime.dir}/settings"/>
<copy todir="${tvbrowser-transportable.runtime.dir}/settings">
<fileset dir="${deployment.dir}" includes="packer.txt"/>
</copy>
<copy todir="${tvbrowser-transportable.runtime.dir}">
<fileset dir="${tvbrowser-default.runtime.dir}"/>
<fileset dir="${win.dir}/jRegistryKey" includes="jRegistryKey.dll" />
</copy>
</target>
<!-- Creates the runtime folder for the windows platform -->
<target name="runtime-win" depends="clean-win, make-win, runtime">
<echo message="deployment dir is ${deployment.dir}, win is ${win.dir}" />
<mkdir dir="${tvbrowser-win.runtime.dir}"/>
<copy todir="${tvbrowser-win.runtime.dir}">
<fileset dir="${tvbrowser-default.runtime.dir}"/>
<fileset dir="${win.dir}/jRegistryKey" includes="jRegistryKey.dll" />
<fileset dir="${deployment.dir}" includes="windows.properties"/>
<fileset dir="${win.dir}" includes="tvbrowser_noDD.txt"/>
</copy>
</target>
<!-- Creates the runtime folder for the Mac platform -->
<target name="runtime-mac" depends="clean-mac, make-mac, runtime">
<delete dir="${tvbrowser-mac.runtime.dir}"/>
<mkdir dir="${tvbrowser-mac.runtime.dir}"/>
<jarbundler dir="${tvbrowser-mac.runtime.dir}"
verbose="false"
name="TV-Browser"
icon="./images/additional/tvbrowser.icns"
mainclass="tvbrowser.TVBrowser"
extraclasspath="/System/Library/Java"
jvmversion="1.6+"
vmoptions="-Dpropertiesfile=osx.properties -Xmx256m"
bundleid="org.tvbrowser"
smalltabs="true"
antialiasedgraphics="true"
antialiasedtext="true"
liveresize="true"
growboxintrudes="false"
screenmenu="true"
developmentregion="Global"
version="${tvbrowser.version}"
workingdirectory="$APP_PACKAGE/Contents/Resources"
jars="${tvbrowser-default.runtime.dir}/tvbrowser.jar">
<resourcefileset dir="${tvbrowser-default.runtime.dir}">
<exclude name="tvbrowser.jar"/>
</resourcefileset>
</jarbundler>
<copy todir="${tvbrowser-mac.runtime.dir}/TV-Browser.app/Contents/Resources">
<fileset dir="${deployment.dir}" includes="osx.properties"/>
</copy>
</target>
<!-- Creates the runtime folder for the Mac platform with Java from Oracle->
<target name="runtime-macjava" depends="clean-macjava, make-macjava, runtime, test"-->
<target name="runtime-macjava" depends="clean-macjava, make-macjava, runtime">
<!-- Creates an .app file for Mac OS X with appbundler for Java SE 7+ from infinitekind -->
<taskdef name="appbundler"
classpath="deployment/macosx7/appbundler-1.0ea.jar"
classname="com.oracle.appbundler.AppBundlerTask" />
<!--runtime dir="${env.JAVA_HOME}"/-->
<delete dir="${tvbrowser-macjava.runtime.dir}"/>
<mkdir dir="${tvbrowser-macjava.runtime.dir}"/>
<appbundler
outputdirectory="${tvbrowser-macjava.runtime.dir}"
name="TV-Browser"
icon="images/additional/tvbrowser.icns"
displayname="TV-Browser"
identifier="tvbrowser.TVBrowser"
shortversion="${tvbrowser.version}"
applicationCategory="public.app-category.entertainment"
workingDirectory="$APP_ROOT/Contents/Resources"
mainclassname="tvbrowser.TVBrowser"
highResolutionCapable="false">
<classpath dir="${tvbrowser-default.runtime.dir}">
<include name="*.jar"/>
</classpath>
<!-- OSX specific options, optional -->
<option value="-Dpropertiesfile=osx.properties"/>
<option value="-Dapple.laf.useScreenMenuBar=true"/>
<option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
<!--option value="-Dcom.apple.macos.useScreenMenuBar=true"/-->
<option value="-Dcom.apple.mrj.application.apple.menu.about.name=${bundle.name}"/>
<option value="-Dcom.apple.smallTabs=true"/>
<option value="-Xmx1024M"/>
</appbundler>
<copy todir="${tvbrowser-macjava.runtime.dir}/TV-Browser.app/Contents/Resources">
<fileset dir="${tvbrowser-default.runtime.dir}" excludes="tvbrowser.jar"/>
</copy>
<copy todir="${tvbrowser-macjava.runtime.dir}/TV-Browser.app/Contents/Resources">
<fileset dir="${deployment.dir}" includes="osx.properties"/>
</copy>
</target>
<!-- Creates the desktop entry file for Linux platforms -->
<target name="tvbrowser-desktop-entry">
<desktopEntry
toFile="${tvbrowser-linux.runtime.dir}/tvbrowser.desktop"
name="TV-Browser"
icon="imgs/tvbrowser128.png"
exec="tvbrowser.sh"
tryExec="tvbrowser.sh"
categories="Video;AudioVideo;TV"
type="Application"
>
<name lang="de" value="${programname}"/>
<genericName value="Digital TV Guide"/>
<genericName lang="de" value="Digitale TV-Zeitschrift"/>
<comment value="Themeable and easy to use TV Guide - written in Java"/>
<comment lang="de" value="Anpassbare und einfach zu benutzende TV-Zeitschrift - geschrieben in Java"/>
</desktopEntry>
<echo file="${tvbrowser-linux.runtime.dir}/tvbrowser.desktop" append="true">StartupWMClass=tvbrowser-TVBrowser</echo>
</target>
<!-- Creates the desktop entry file for Ubuntu platform -->
<target name="tvbrowser-desktop-entry-deb">
<desktopEntry
toFile="${tvbrowser-linux.runtime.dir}/tvbrowser.desktop"
name="${programname}"
icon="/usr/share/tvbrowser/imgs/tvbrowser128.png"
exec="tvbrowser"
categories="Video;AudioVideo;TV"
type="Application"
comment="Easy to use TV Guide - written in Java"
>
<name lang="de" value="${programname}"/>
<genericName value="Digital TV Guide"/>
<genericName lang="de" value="Digitale TV-Zeitschrift"/>
<comment value="Themeable and easy to use TV Guide - written in Java"/>
<comment lang="de" value="Anpassbare und einfach zu benutzende TV-Zeitschrift - geschrieben in Java"/>
</desktopEntry>
<echo file="${tvbrowser-linux.runtime.dir}/tvbrowser.desktop" append="true">StartupWMClass=tvbrowser-TVBrowser</echo>
</target>
<!-- Creates the runtime folder for linux platforms -->
<target name="runtime-linux" depends="clean-linux, make-linux, runtime">
<delete dir="${tvbrowser-linux.runtime.dir}"/>
<mkdir dir="${tvbrowser-linux.runtime.dir}"/>
<copy todir="${tvbrowser-linux.runtime.dir}">
<fileset dir="${tvbrowser-default.runtime.dir}"/>
<fileset dir="${deployment.dir}" includes="linux.properties"/>
<fileset dir="${linux.dir}" includes="tvbrowser.sh"/>
<!-- <fileset dir="${linux.dir}" includes="tvbrowser.desktop"/>-->
</copy>
<chmod perm="u+x" file="${tvbrowser-linux.runtime.dir}/tvbrowser.sh"/>
</target>
<target name="release-packages" depends="public-linux, public-ubuntu, public-fedora, public-default, public-doc, public-src"/>
<!-- Creates the release binaries (.zip) for the platform independent TV-Browser version -->
<target name="public-default" depends="runtime-default" description="creates platform-independent binaries">
<mkdir dir="${public.dir}"/>
<zip destfile="${public.dir}/tvbrowser_${tvbrowser.version}_bin.zip">
<zipfileset prefix="tvbrowser-${tvbrowser.version}"
dir="${tvbrowser-default.runtime.dir}"/>
</zip>
</target>
<target name="clean-public">
<delete>
<fileset dir="${public.dir}" includes="**/*"/>
</delete>
</target>
<target name="public-nightly" depends="clean-public,runtime-transportable" description="Creates platform-independent binaries for nightly transportable version of TV-Browser (without platform dependent starters)">
<mkdir dir="${public.dir}"/>
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd"/>
</tstamp>
<echo file="${tvbrowser-transportable.runtime.dir}/NIGHTLY_VALUES" append="false">${TODAY}-nightly</echo>
<zip destfile="${public.dir}/tvbrowser_${tvbrowser.version}_${TODAY}_nightly_bin_transportable.zip">
<zipfileset prefix="tvbrowser-nightly-transportable" dir="${tvbrowser-transportable.runtime.dir}"/>
</zip>
</target>
<target name="public-ubuntu" depends="runtime-linux, tvbrowser-desktop-entry-deb" description="Creates binaries for Ubuntu platforms">
<mkdir dir="${public.dir}"/>
<deb
todir="${public.dir}"
package="tvbrowser"
section="utils"
depends="sun-java6-jre | openjdk-6-jre | sun-java7-jre | openjdk-7-jre | openjdk-8-jre | default-jre | java6-runtime | java7-runtime | java8-runtime "
recommends="openjdk-6-jre">
<version upstream="${tvbrowser.version}"/>
<maintainer name="TV-Browser team" email="dev@tvbrowser.org"/>
<!-- do not indent the description, otherwise the indent will be visible in the package manager and other tools -->
<description synopsis="Digital TV Guide">Themeable and easy to use TV Guide - written in Java.</description>
<tarfileset dir="${tvbrowser-linux.runtime.dir}" prefix="usr/share/tvbrowser">
<include name="imgs/**"/>
<include name="plugins/**"/>
<include name="themepacks/**"/>
<include name="infothemes/**"/>
<exclude name="tvbrowser.sh"/>
<exclude name="tvbrowser.desktop"/>
<include name="*"/>
</tarfileset>
<tarfileset dir="${tvbrowser-linux.runtime.dir}/personas" prefix="usr/share/tvbrowser/personas" />
<tarfileset dir="${tvbrowser-linux.runtime.dir}/icons" prefix="usr/share/tvbrowser/icons">
<include name="*"/>
</tarfileset>
<tarfileset dir="${tvbrowser-linux.runtime.dir}" prefix="usr/share/tvbrowser" filemode="755" includes="**/tvbrowser.sh" />
<tarfileset dir="${tvbrowser-linux.runtime.dir}" prefix="usr/share/applications" includes="**/tvbrowser.desktop"/>
<tarfileset dir="${deployment.dir}/linux"
prefix="usr/bin"
filemode="755" includes="**/tvbrowser" />
</deb>
</target>
<target name="public-fedora" depends="runtime-linux, tvbrowser-desktop-entry-deb" description="Creates binaries for RedHat platforms">
<mkdir dir="${public.dir}"/>
<rrpm
destination="${public.dir}"
name="tvbrowser"
version="${tvbrowser.version}"
group="Java">
<zipfileset dir="${tvbrowser-linux.runtime.dir}" prefix="/usr/share/tvbrowser">
<include name="imgs/**"/>
<include name="plugins/**"/>
<include name="themepacks/**"/>
<include name="infothemes/**"/>
<exclude name="tvbrowser.sh"/>
<exclude name="tvbrowser.desktop"/>
<include name="*"/>
</zipfileset>
<zipfileset dir="${tvbrowser-linux.runtime.dir}/personas" prefix="/usr/share/tvbrowser/personas" />
<zipfileset dir="${tvbrowser-linux.runtime.dir}/icons" prefix="/usr/share/tvbrowser/icons">
<include name="*"/>
</zipfileset>
<zipfileset dir="${tvbrowser-linux.runtime.dir}" prefix="/usr/share/tvbrowser" filemode="755" includes="**/tvbrowser.sh" />
<zipfileset dir="${tvbrowser-linux.runtime.dir}" prefix="/usr/share/applications" includes="**/tvbrowser.desktop"/>
<zipfileset dir="${deployment.dir}/linux"
prefix="/usr/bin"
filemode="755" includes="**/tvbrowser" />
<depends name="java" version="1.6"/>
</rrpm>
</target>
<!-- Creates the release binaries (.tar.gz) for linux platforms -->
<target name="public-linux" depends="runtime-linux, tvbrowser-desktop-entry" description="Creates binaries for Linux platforms">
<mkdir dir="${public.dir}"/>
<tar tarfile="${public.dir}/tvbrowser_${tvbrowser.version}_bin.tar.gz" compression="gzip">
<tarfileset dir="${tvbrowser-linux.runtime.dir}" prefix="tvbrowser-${tvbrowser.version}" excludes="**/tvbrowser.sh"/>
<tarfileset dir="${tvbrowser-linux.runtime.dir}"
prefix="tvbrowser-${tvbrowser.version}"
mode="755" includes="**/tvbrowser.sh" />
</tar>
</target>
<!--
| Does the JUnit s.
|
| If this target does not work, copy the file "junit.jar" from the directory "lib"
| in your ANT_HOME/lib directory. (ANT_HOME/lib is on my machine "/usr/share/ant/lib")
+-->
<target name="test" depends="make-default">
<echo>${ant.version}. JUnit4 tests will only work with Ant>=1.7</echo>
<mkdir dir="${test.classes.dir}"/>
<javac destdir="${test.classes.dir}" debug="${debug}" deprecation="true" encoding="UTF-8" target="1.5" source="1.5">
<src>
<path path="${test.src.dir}"/>
</src>
<classpath>
<path refid="classpath"/>
</classpath>
</javac>
<copy todir="${test.classes.dir}">
<fileset dir="${test.src.dir}" includes="**/*.gif"/>
<fileset dir="${test.src.dir}" includes="**/*.jpg"/>
<fileset dir="${test.src.dir}" includes="**/*.png"/>
<fileset dir="${test.src.dir}" includes="**/*.dtd"/>
<fileset dir="${test.src.dir}" includes="**/*.properties"/>
<fileset dir="${test.src.dir}" includes="**/*.theme"/>
<fileset dir="${test.src.dir}" includes="**/*.txt"/>
</copy>
<junit haltonfailure="yes" fork="no" >
<classpath>
<path refid="classpath"/>
<path path="${test.classes.dir}"/>
</classpath>
<formatter type="brief" usefile="false"/>
<batchtest>
<fileset dir="${test.src.dir}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
<!--
| Generates the JavaDoc documentation.
+-->
<target name="public-doc" description="Generates the JavaDoc documentation">
<echo message="Generating JavaDoc documentation ..." />
<delete dir="${doc.dir}"/>
<mkdir dir="${doc.dir}"/>
<javadoc packagenames="*"
sourcepathref="docpath"
classpathref="classpath"
destdir="${doc.dir}"
doctitle="${doc.title}"
windowtitle="${doc.title}"
additionalparam="-breakiterator"
header="${doc.header}"
bottom="${doc.bottom}"
access="package"
failonerror="false"
encoding="UTF-8"
charset="UTF-8"
docencoding="UTF-8">
<link offline="true"
href="${java-api-location}"
packagelistLoc="${package-lists.dir}/jdk/"/>
</javadoc>
<zip destfile="${public.dir}/tvbrowser_${tvbrowser.version}_doc.zip">
<zipfileset prefix="tvbrowser_v${tvbrowser.version}/doc"
dir="${doc.dir}"/>
</zip>
</target>
<!--
| Dump some information.
+-->
<target name="dump-info">
<echo message="JAVA_HOME=${env.JAVA_HOME}" />
<echo message="java.vm.info=${java.vm.info}" />
<echo message="java.vm.name=${java.vm.name}" />
<echo message="java.vm.vendor=${java.vm.vendor}" />
<echo message="java.vm.version=${java.vm.version}" />
<echo message="os.arch=${os.arch}" />
<echo message="os.name=${os.name}" />
<echo message="os.version=${os.version}" />
<echo message="file.encoding=${file.encoding}" />
<echo message="user.language=${user.language}" />
</target>
<target name="public-src" description="Creates a .zip file containing the full source code of TV-Browser">
<mkdir dir="${public.dir}"/>
<zip destfile="${public.dir}/tvbrowser_${tvbrowser.version}_src.zip">
<zipfileset prefix="tvbrowser-${tvbrowser.version}"
dir=".">
<exclude name="${classes.dir}/**" />
<exclude name="${public.dir}/**" />
<exclude name="${runtime.dir}/**" />
<exclude name="${unpacked.dir}/**" />
</zipfileset>
</zip>
</target>
<!-- - - - - - - - - - - - - - - - - -
internal target: download-zipped-lib
- - - - - - - - - - - - - - - - - -->
<target name="download-zipped-lib">
<macrodef name="propertycopy">
<attribute name="name"/>
<attribute name="from"/>
<sequential>
<property name="@{name}" value="${@{from}}"/>
</sequential>
</macrodef>
<propertycopy name="lib.url" from="lib.${lib}.url"/>
<propertycopy name="lib.name" from="lib.${lib}.name"/>
<propertycopy name="lib.version" from="lib.${lib}.version"/>
<get dest="${lib.dir}/download.zip" src="${lib.url}"/>
<unzip src="${lib.dir}/download.zip" dest="${lib.dir}/download">
<patternset>
<include name="**/${lib.name}*.jar"/>
</patternset>
<flattenmapper/>
</unzip>
<copy todir="${lib.dir}" verbose="true" overwrite="true">
<fileset dir="${lib.dir}/download">
<include name="${lib.name}.jar"/>
<include name="${lib.name}-?.?.jar"/>
<include name="${lib.name}-?.?.?.jar"/>
<include name="${lib.name}-?.?.??.jar"/>
<include name="${lib.name}-r*.jar"/>
</fileset>
<mapper>
<mergemapper to="${lib.name}-${lib.version}.jar"/>
</mapper>
</copy>
<delete dir="${lib.dir}/download"/>
</target>
<!-- - - - - - - - - - - - - - - - - -
internal target: download-tarred-lib
- - - - - - - - - - - - - - - - - -->
<target name="download-tarred-lib">
<macrodef name="propertycopy">
<attribute name="name"/>
<attribute name="from"/>
<sequential>
<property name="@{name}" value="${@{from}}"/>
</sequential>
</macrodef>
<propertycopy name="lib.url" from="lib.${lib}.url"/>
<propertycopy name="lib.name" from="lib.${lib}.name"/>
<propertycopy name="lib.version" from="lib.${lib}.version"/>
<get dest="${lib.dir}/download.tar.gz" src="${lib.url}"/>
<gunzip src="${lib.dir}/download.tar.gz"/>
<untar src="${lib.dir}/download.tar" dest="${lib.dir}/download">
<patternset>
<include name="**/${lib.name}*.jar"/>
</patternset>
<flattenmapper/>
</untar>
<copy todir="${lib.dir}" verbose="true" overwrite="true">
<fileset dir="${lib.dir}/download">
<include name="${lib.name}.jar"/>
<include name="${lib.name}-?.?.jar"/>
<include name="${lib.name}-?.?.?.jar"/>
<include name="${lib.name}-?.?.??.jar"/>
</fileset>
<mapper>
<mergemapper to="${lib.name}-${lib.version}.jar"/>
</mapper>
</copy>
<delete dir="${lib.dir}/download"/>
</target>
<!-- - - - - - - - - - - - - - - - - -
internal target: download-lib
- - - - - - - - - - - - - - - - - -->
<target name="download-lib">
<macrodef name="propertycopy">
<attribute name="name"/>
<attribute name="from"/>
<sequential>
<property name="@{name}" value="${@{from}}"/>
</sequential>
</macrodef>
<propertycopy name="lib.url" from="lib.${lib}.url"/>
<propertycopy name="lib.name" from="lib.${lib}.name"/>
<propertycopy name="lib.version" from="lib.${lib}.version"/>
<get dest="${lib.dir}/${lib.name}-${lib.version}.jar" src="${lib.url}"/>
</target>
<target name="download-libs" description="downloads all necessary library files">
<mkdir dir="${lib.dir}"/>
<!-- bsh -->
<antcall target="download-lib">
<param name="lib" value="bsh"/>
</antcall>
<!-- commons codec -->
<antcall target="download-zipped-lib">
<param name="lib" value="commons.codec"/>
</antcall>
<!-- commons lang -->
<antcall target="download-zipped-lib">
<param name="lib" value="commons.lang"/>
</antcall>
<!-- commons net -->
<antcall target="download-zipped-lib">
<param name="lib" value="commons.net"/>
</antcall>
<!-- htmlparser -->
<antcall target="download-zipped-lib">
<param name="lib" value="htmlparser"/>
</antcall>
<!-- jgoodies common -->
<antcall target="download-zipped-lib">
<param name="lib" value="jgoodies-common"/>
</antcall>
<!-- jgoodies forms -->
<antcall target="download-zipped-lib">
<param name="lib" value="jgoodies-forms"/>
</antcall>
<!-- jgoodies looks -->
<antcall target="download-zipped-lib">
<param name="lib" value="jgoodies-looks"/>
</antcall>
<!-- jRegistryKey -->
<antcall target="download-zipped-lib">
<param name="lib" value="jregistrykey"/>
</antcall>
<!-- l2prod common tasks -->
<antcall target="download-zipped-lib">
<param name="lib" value="tasks"/>
</antcall>
<!-- opencsv -->
<antcall target="download-tarred-lib">
<param name="lib" value="opencsv"/>
</antcall>
<!-- skinlf -->
<antcall target="download-zipped-lib">
<param name="lib" value="skinlf"/>
</antcall>
<!-- stax -->
<antcall target="download-lib">
<param name="lib" value="stax"/>
</antcall>
<antcall target="download-lib">
<param name="lib" value="stax.api"/>
</antcall>
<!-- substance -->
<antcall target="download-lib">
<param name="lib" value="substance"/>
</antcall>
<!-- texhyphj -->
<antcall target="download-zipped-lib">
<param name="lib" value="texhyphj"/>
</antcall>
<!-- trident -->
<antcall target="download-lib">
<param name="lib" value="trident"/>
</antcall>
<delete dir="${lib.dir}">
<patternset>
<include name="*.zip"/>
<include name="*.tar.gz"/>
<include name="*.tar"/>
</patternset>
</delete>
</target>
<target name="public-tvdatakit"></target>
</project>