Kjør Ant build
Vår build bruker optional task scp, denne trenger å legge inn jar fil i ant sin lib. Denne kan kopieres fra \lib mappen, ellers kan alle optional tasks lastes ned: "Optionally, from the ANT_HOME directory run ant -f fetch.xml -Ddest=system to get the library dependencies of most of the Ant tasks that require them. If you don't do this, many of the dependent Ant tasks will not be available. See Optional Tasks for details and other options for the -Ddest parameter."
<target name="main" depends="queryMarcusForData,transformMarcus2oria,copyAndCommitIdentifierFile,DivideAndPackageResults,copyAndCommitIdentifierFile,validateByRNG"/>
For test konfigureres det for færre objekter, og istedenfor å bruke offset i spørringen, går den ut etter første spørring. Den kjører heller ikke target for opplasting til bibsys.cp properties/local.bibsys.properties properties/bibsys.properties og fyll så ut brukernavn passord og url for opplasting til bibsys.
Sjekk at konfigurasjonsfil ikke er med i git. (Skal være i .gitignore)bibsys.host=
bibsys.password=
bibsys.user=
name=examples
queryMarcusForData.limit=2
queryMarcusForData.test-run=1
queryMarcusForData.out=input/${name}.xml
transformMarcus2oria.out=output/${name}.pnx
dummy.out=./output/dummy.xml
transformMarcus2oria.library=1120109
transformMarcus2oria.institution=UBB
transformMarcus2oria.searchscope=UBB_MARCUS
transformMarcus2oria.scope=UBB_MARCUS
transformMarcus2oria.publisher=Universitetsbiblioteket i Bergen
Den andre target som kan kjøres i prosjektet, kalles ved ant marcus og laster inn properties for marcus, fulgt av main.
Den tar også inn inn bibsys.properties, og kjører så target uploadToBibsys for å overføre postene til bibsys.
Her følger en gjennomgang av Targets som brukes brukes:
<target name="queryMarcusForData">
<xslt in="dummy.xml" style="xsl/getDocuments.xsl" force="yes" out="${queryMarcusForData.out}">
<param name="limit" expression="${queryMarcusForData.limit}" type="INT"/>
<param name="test-run" expression="${queryMarcusForData.test-run}"/>
<classpath path="lib/saxon9he.jar"/>
</xslt>
</target>
<xslt style="xsl/marcus2pnx.xsl" in="${queryMarcusForData.out}" out="${transformMarcus2oria.out}">
<param name="library" expression="${transformMarcus2oria.library}"/>
<param name="institution" expression="${transformMarcus2oria.institution}"/>
<param name="searchscope" expression="${transformMarcus2oria.searchscope}"/>
<param name="scope" expression="${transformMarcus2oria.scope}"/>
<param name="publisher" expression="${transformMarcus2oria.publisher}"/>
<classpath path="lib/saxon9he.jar"/>
</xslt>
<target name="copyAndCommitIdentifierFile">
<property name="copyAndCommitIdentifierFile.out" value="./${name}_identifiers.tmp" />
<property name="copyAndCommitIdentifierFile.identifier" value="${name}_identifiers.xml"/>
<xslt in="${transformMarcus2oria.out}" force="yes" style="xsl/updateIdentifiers.xsl" out="${copyAndCommitIdentifierFile.out}">
<param name="identifiers" expression="${copyAndCommitIdentifierFile.identifier}"/>
<!--SaxonB-->
<classpath path="lib/saxon9.jar"/>
</xslt>
<tstamp/>
<xslt in="${copyAndCommitIdentifierFile.out}" style="xsl/createDeleteRecordsOai.xsl" out="./output/${name}_deleted_${DSTAMP}.xml">
<classpath path="lib/saxon9he.jar"/>
</xslt>
<move file="${copyAndCommitIdentifierFile.out}" tofile="./${copyAndCommitIdentifierFile.identifier}"/>
</target>
<target name="DivideAndPackageResults" depends="">
<length file="${transformMarcus2oria.out}" property="pnx.length"/>
<echo message="${pnx.length}"/>
<xslt in="${transformMarcus2oria.out}" style="xsl/divideRecordsToChunks.xsl" out="${dummy.out}" force="yes">
<param name="file-size-in-bytes" expression="${pnx.length}"/>
<classpath path="lib/saxon9he.jar"/>
</xslt>
<property name="archive" value="./output/${name}${DSTAMP}.tar.gz"/>
<tar basedir="output/pnx/" destfile="${archive}" compression="gzip"/>
<delete dir="output/pnx/"/>
</target>
<target name="validateByRNG">
<jing rngfile="schema/PNX.rng" >
<fileset file="${transformMarcus2oria.out}"/>
</jing>
</target>
<target name="uploadToBibsys">
<property file="properties/bibsys.properties"/>
<scp file="${archive}" remotefile="${bibsys.user}:${bibsys.password}@${bibsys.host}:~/${archive}" trust="yes" />
</target>