Skip to content

Commit

Permalink
repo build
Browse files Browse the repository at this point in the history
  • Loading branch information
DennisReidsma committed Aug 6, 2012
1 parent f938ab9 commit 70dce1b
Show file tree
Hide file tree
Showing 6 changed files with 355 additions and 0 deletions.
213 changes: 213 additions & 0 deletions build-customize.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
<project name="HMI-ALL" default="build" basedir="."
xmlns:ac="antlib:net.sf.antcontrib"
>

<filelist id="rebuildList" dir="${shared.project.root}" files="${rebuild.list}" />
<!--filelist id="nbList" dir="${shared.project.root}" files="${nb.list}" /-->

<target name="resolveAll">
<antcall target="Ivy.resolve"/>
<delegate target="resolve" list="rebuildList" verbose="true"/>
</target>
<!-- targets: -->

<target name="nbuild" depends="nightlybuild" description="produce a nightly build of the Hmi project"/>
<target name="testnbuild" depends="testnightlybuild" description="performs a nightly build of the Hmi project, without actually publishing"/>

<target name="releaseAll" description="produce a full minor release of the Hmi project">
<property name="release.target" value="-minorrelease"/>
<antcall target="releaselist" />
</target>

<target name="nightlybuild" >
<!-- first some checking for parameters. We require either a version or a build number -->
<fail message="HMI nightlybuild: No release.list specified" unless="release.list" />
<ac:if>
<isset property="version"/>
<ac:then>
<ac:if>
<or>
<isset property="build"/>
<isset property="devnum"/>
</or>
<ac:then>
<fail message="HMI nightlybuild: When forcing a particular version, a devnum or build number cannot be used" />
</ac:then>
</ac:if>
</ac:then>
<ac:else>
<ac:if>
<not>
<isset property="build"/>
</not>
<ac:then>
<fail message="HMI nightlybuild: No build number specified" />
</ac:then>
</ac:if>
</ac:else>
</ac:if>
<!-- after checking, we finally do the real work here: -->
<property name="devnum" value="${build}"/>
<property name="release.target" value="-devrelease"/>

<property name="nb.release.code" value="true"/>
<property name="nb.release.resources" value="true"/>
<ac:if>
<equals arg1="${nb.release.code}" arg2="true"/>
<ac:then>
<antcall target="releaselist" >
<param name="publish.resolver" value="hmicore.sftp.publish"/> <!-- overrides build.properties value -->
</antcall>
</ac:then>
<ac:else>
<echo message="NO RELEASE of CODE"/>
</ac:else>
</ac:if>

<ac:if>
<equals arg1="${nb.release.resources}" arg2="true"/>
<ac:then>
<antcall target="releaseresourcelist">
<param name="publish.resolver" value="resource.sftp.publish"/> <!-- overrides build.properties value -->
</antcall>
</ac:then>
<ac:else>
<echo message="NO RELEASE of RESOURCES"/>
</ac:else>
</ac:if>
</target>



<target name="testnightlybuild" >
<!-- first some checking for parameters. We require either a version or a build number -->
<fail message="HMI nightlybuild: No release.list specified" unless="release.list" />
<antcall target="testreleaselist" />
</target>





<target name="buildAll" depends="cleanAll, compileAll" description="cleanAll, compileAll"/>

<target name="compileAll" description="compile HMI projects">
<antcall target="Core.compile"/>
<delegate target="compile" list="rebuildList" verbose="true"/>
</target>

<target name="compilelistAll">
<antcall target="Core.compile"/>
<delegate target="compilelist" list="rebuildList" verbose="true"/>
</target>

<target name="cleanAll" description="cleans HMI projects">
<antcall target="Core.clean"/> <!-- JavaProjects.clean is the clean target from (.../JavaProjects/)ant/build-impl.xml -->
<delegate target="clean" list="rebuildList" verbose="true"/>
</target>

<target name="compile-testsAll" description="Runs junit tests on all HMI projects">
<!--antcall target="Core.junit"/-->
<delegate target="compile-tests" list="rebuildList"/>
</target>

<target name="junitAll" description="Runs junit tests on all HMI projects">
<!--antcall target="Core.junit"/-->
<delegate target="-junit" list="rebuildList"/>
</target>

<target name="junitreportAll" description="Runs junit tests on all HMI projects">
<!--antcall target="Core.junit"/-->
<delegate target="junitreport" list="rebuildList"/>
</target>
<target name="eclipseAll" description="Create eclipse projects for all HMI projects">
<delegate target="eclipseproject" list="rebuildList"/>
</target>
<target name="eclipsesourceAll" description="Create eclipse projects for all HMI projects">
<delegate target="eclipsesourceproject" list="rebuildList" verbose="true"/>
</target>
<target name="findbugsAll" description="Runs findbugs on all HMI projects">
<delegate target="findbugsxml" list="rebuildList"/>
</target>


<target name="cpdAll" description="Runs the code duplication checker on all Asap projects">
<mkdir dir="build"/>
<cpd minimumTokenCount="100" format="xml" encoding="UTF-8" outputFile="build/cpd.xml"
ignoreLiterals="true" ignoreIdentifiers="true">
<fileset dir=".">
<include name="**/*.java"/>
</fileset>
</cpd>
</target>

<target name="cpdreportAll" depends="cpdAll">
<xslt in="build/cpd.xml" style="${shared.ant.dir}/pmd/etc/xslt/cpdhtml.xslt"
out="build/cpd.html" />
</target>


<target name="checkstyleAll" description="Runs checkstyle on all HMI projects">
<delegate target="checkstylexml" list="rebuildList"/>
</target>


<target name="docall" description="Generate integrated Javadoc for all HMI/* projects">
<javadoc source="1.6"
destdir="${javadoc.dir}"
Overview="javadoc-overview.html"
doctitle="API Documentation for HMI packages, including the Elckerlyc BML Realizer"
private="true"
use="true"
author="true"
link="http://java.sun.com/javase/6/docs/api/"
breakiterator="yes"
>
<!--
header="&lt;a href='http://hmi.ewi.utwente.nl' target='_blank'&gt;HMI Homepage&lt;/a%gt;"
footer="&lt;a href='http://hmi.ewi.utwente.nl' target='_blank'&gt;HMI Homepage&lt;/a%gt;"
bottom="Disclaimer, availability, License..."
-->
<classpath refid="javac-classpath"/>
<group title="HmiAnimation" packages="hmi.animation*"/>
<group title="HmiFaceAnimation" packages="hmi.faceanimation*"/>
<group title="HmiFaceGraphics" packages="hmi.facegraphics*"/>
<group title="HmiGraphics" packages="hmi.graphics*"/>
<group title="HmiMath" packages="hmi.math*"/>
<group title="HmiNeurophysics" packages="hmi.neurophysics*"/>
<group title="HmiPhysics" packages="hmi.physics*"/>
<group title="HmiTestUtil" packages="hmi.testutil*"/>
<group title="HmiTTS" packages="hmi.tts*"/>
<group title="HmiUtil" packages="hmi.util*"/>
<group title="HmiXml" packages="hmi.xml*"/>
<sourcepath>
<pathelement path="HmiAnimation/src/"/>
<pathelement path="HmiFaceAnimation/src/"/>
<pathelement path="HmiFaceGraphics/src/"/>
<pathelement path="HmiGraphics/src/"/>
<pathelement path="HmiMath/src/"/>
<pathelement path="HmiNeurophysics/src/"/>
<pathelement path="HmiPhysics/src/"/>
<pathelement path="HmiTestUtil/src/"/>
<pathelement path="HmiTTS/src/"/>
<pathelement path="HmiTTSMary/src/"/>
<pathelement path="HmiTTSSapi5/src/"/>
<pathelement path="HmiUtil/src/"/>
<pathelement path="HmiXml/src/"/>
</sourcepath>
</javadoc>
<mkdir dir="${dist.dir}"/>
<zip basedir="${javadoc.dir}" destfile="${dist.dir}/javadoc.zip" />
</target>

<target name="javancssAll" description="Generate a javancs report">
<mkdir dir="${build.classes.dir}"/>
<javancss srcdir="."
generateReport="true"
format="xml"
outputfile="${build.classes.dir}/javancss_metrics.xml"
abortOnFail="false"
includes="**/*.java"
/>
</target>
</project>
15 changes: 15 additions & 0 deletions build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#publish.resolver=hmicore.sftp.publish
# NB in near future nbuild will ALWAYS use the hmicore.sftp.publish repository. For debugging we can still use the filesystem resolver
publish.resolver=hmicore.sftp.publish

rebuild.list=Hmi/HmiUtil, Hmi/HmiXml, Hmi/HmiMath, Hmi/HmiTTS, Hmi/HmiTTSMary, Hmi/HmiTTSSapi5, Hmi/HmiAnimation, Hmi/HmiNeurophysics, Hmi/HmiPhysics, Hmi/HmiFaceAnimation, Hmi/HmiGraphics, Hmi/HmiFaceGraphics, Hmi/HmiTestUtil

# resource.list is the list of HmiResource projects to be included in the nightly builds
resource.list=HmiResource/BmlScripts, HmiResource/DefaultShaders, HmiResource/HmiHumanoidBodyControl, HmiResource/HmiHumanoidEmbodiments,HmiResource/HmiHumanoidFaceControl, HmiResource/HmiHumanoidLoaderDefaults, HmiResource/HmiXsd, HmiResource/LogbackConfigs, HmiResource/PictureEngineResources
# Left out from resource.list: HmiBasicResourceRelease, HmiHumanoidResourcesRelease, HmiResource/TestResources, MARYTTS, NabaztaqEngineResources, Shared3DModels, SmarcosResources

release.list=${rebuild.list}
release.resource.list=${resource.list}
# By default the nbuild target produces a release of code as well as resources. This can be tuned:
#nb.release.code=false
#nb.release.resources=false
5 changes: 5 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" >
<import file="../hmibuild/build.xml" />
<import file="./build-customize.xml" />
</project>
58 changes: 58 additions & 0 deletions ivy.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<ivy-module version="2.0">
<info organisation="HMI" module="Hmi" />
<configurations>
<include file="${ivy.settings.dir}/configurations.xml"/>
</configurations>
<dependencies>
<dependency org="HMI" name="HmiTTS" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiTTSMary" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiTTSSapi5" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiTTSnative" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiEyebox" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiNeurophysics" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiDebug" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiGraphics" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiFaceGraphics" rev="latest.${resolve.status}" />
<dependency org="HMI" name="HmiElckerlyc" rev="latest.${resolve.status}" />
<!--dependency org="HMI" name="HmiEnvironment" rev="latest.${resolve.status}" /-->
<!--dependency org="HMI" name="Semaine" rev="latest.${resolve.status}" /-->

<dependency org="jcip" name="jcip-annotations" rev="latest.${resolve.status}" />
<dependency org="odejava" name="odejava" rev="latest.${resolve.status}" />
<dependency org="singularsystems" name="jep" rev="latest.${resolve.status}" />
<dependency org="slf4j" name="slf4j-api" rev="latest.${resolve.status}" />
<dependency org="slf4j" name="log4j-over-slf4j" rev="latest.${resolve.status}" />
<dependency org="slf4j" name="jul-to-slf4j" rev="latest.${resolve.status}" />
<dependency org="slf4j" name="jcl-over-slf4j" rev="latest.${resolve.status}" />
<dependency org="logback" name="logback-classic" rev="latest.${resolve.status}" />
<dependency org="logback" name="logback-core" rev="latest.${resolve.status}" />


<dependency org="google" name="guava" rev="latest.${resolve.status}" />
<dependency org="junit" name="junit" rev="latest.${resolve.status}" />

<!-- below: needed for Mary TTS -->

<dependency org="dfki" name="mary-common" rev="latest.${resolve.status}" />

<dependency org="apache" name="commons-collections" rev="latest.${resolve.status}" />
<dependency org="opennlp" name="opennlp-tools" rev="latest.${resolve.status}" />
<dependency org="opennlp" name="maxent" rev="latest.${resolve.status}" />
<dependency org="freetts" name="freetts" rev="latest.${resolve.status}" />
<dependency org="gnu" name="trove" rev="latest.${resolve.status}" />
<dependency org="hsqldb" name="hsqldb" rev="latest.${resolve.status}" />
<dependency org="Sun" name="jlfgr" rev="latest.${resolve.status}" />
<dependency org="apache" name="log4j" rev="latest.${resolve.status}" />

<!-- below: needed for Enterface? Remaining libs from SEMAINE -->
<dependency org="semaine" name="semaine-core" rev="latest.${resolve.status}" />
<dependency org="semaine" name="semaine-dialogue" rev="latest.${resolve.status}" />
<dependency org="semaine" name="semaine-mary" rev="latest.${resolve.status}" />
<dependency org="apache" name="activemq" rev="latest.${resolve.status}" />
<dependency org="swing-layout" name="swing-layout" rev="latest.${resolve.status}" />
<dependency org="jgraph" name="jgraph" rev="latest.${resolve.status}" />
<dependency org="opennlp" name="jwnl" rev="latest.${resolve.status}" />
<dependency org="Jama" name="Jama" rev="latest.${resolve.status}" />

</dependencies>
</ivy-module>
9 changes: 9 additions & 0 deletions javadoc-overview.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<html>
<body>
This is the API specification of the core HMI packages, which include the Elckerlyc BML Realizer. Please note that an important part of the documentation can also be found in the following PDF files:
<ul>
<li><a href="../../../HmiShared/docs/projectguide/HMIJavaProjectsGuide.pdf" target=_blank>../../../HmiShared/docs/projectguide/HMIJavaProjectsGuide.pdf</a></li>
<li><a href="../../../HmiShared/docs/report/HMIPackages.pdf" target=_blank>../../../HmiShared/docs/report/HMIPackages.pdf</a></li>
</ul>
</body>
</html>
55 changes: 55 additions & 0 deletions javadoc-stylesheet.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* Javadoc style sheet */

/* Define colors, fonts and other style attributes here to override the defaults */

/* Page background color, font size */
body { font-family : Arial; background-color: #FFFFFF;font-size: 100% }


/* Link color */
A:hover {
text-decoration: none;
color : #0066ff;
font-family : Arial;
}
A:link {
text-decoration: none;
color : #7f90Dd;
font-family : Arial;
font-weight : bold;
}
A:visited {
text-decoration: none;
color : #7e8fDc;
font-family : Arial;
font-weight : bold;
}
A:active {
text-decoration: none;
color : #7f90Dd;
font-family : Arial;
font-weight : bold;
}

/* Headings */
h1 { font-size: 145% }

/* Table colors */
.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
.TableRowColor { background: #FFFFFF } /* White */

/* Font used in left-hand frame lists */
.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif }
.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif }

/* Navigation bar fonts and colors */
.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */
.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}

.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}

0 comments on commit 70dce1b

Please sign in to comment.