<?xml version="1.0" encoding="UTF-8"?> <project name="publish" basedir="." default="" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:antcontrib="antlib:net.sf.antcontrib" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> <include file="common.xml" as="common" /> <include file="build.xml" as="vaadin" /> <!-- Dummy value as ivysettings-publish require a value --> <property name="publish.sftp.keyfile" value="/dummy" /> <property name="publish.sftp.ivy.pattern" value="dummy" /> <ivy:settings file="ivysettings.xml" /> <ivy:settings file="ivysettings-publish.xml" id="publish.settings" /> <property file="publish.properties" /> <available property="ant-jsch.present" file="${ant.home}/lib/ant-jsch.jar" /> <available property="jsch.present" file="${ant.home}/lib/jsch-0.1.48.jar" /> <fail unless="ant-jsch.present" message="Please install ant-jsch.jar into ANT_HOME/lib" /> <fail unless="jsch.present" message="Please install jsch.jar into ANT_HOME/lib" /> <target name="nightly.publish" depends="nightly.download.publish, nightly.maven.publish"> </target> <!-- Copies the nightly build artifacts to the download server. --> <target name="nightly.tests.publish" if="nightly.tests.publish"> <property name="file.war" location="result/artifacts/${vaadin.version}/vaadin-uitest/vaadin-uitest-${version}.war" /> <property name="target" value="${nightly.tests.publish}/${vaadin.version.major}.${vaadin.version.minor}-${build.tag}.war" /> <echo>Installing ${src} to ${target}</echo> <scp todir="${nightly.tests.publish}" file="${file.war}"> </scp> </target> <target name="nightly.download.publish"> <antcontrib:foreach list="${modules.to.publish.to.download}" target="publish.module.to.download.site" param="module" /> </target> <target name="nightly.maven.publish"> <antcontrib:foreach list="${modules.to.publish.to.maven}" target="publish.module.to.maven" param="module" /> </target> <target name="publish.module.to.download.site"> <fail unless="module" message="No module to publish defined" /> <ivy:resolve file="${module}/ivy.xml" /> <ivy:publish publishivy="false" settingsref="publish.settings" conf="*(public)" resolver="sftp-publish"> <artifacts pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/[artifact]-[revision](-[classifier]).[ext]" /> </ivy:publish> </target> <target name="publish.module.to.maven"> <fail unless="module" message="No module to publish defined" /> <property file="${gpg.passphrase.file}" /> <!-- Ivy should be able to handle this but this does not work at the moment <ivy:resolve file="${module}/ivy.xml" /> <ivy:publish pubrevision="7.0-SNAPSHOT" publishivy="false" settingsref="publish.settings" conf="*(public)" resolver="sonatype"> <artifacts pattern="${ivy.settings.dir}/result/artifacts/${vaadin.version}/[module]/[artifact]-${vaadin.version}(-[classifier]).[ext]" /> </ivy:publish> --> <property name="jar.file" location="result/artifacts/${vaadin.version}/vaadin-${module}/vaadin-${module}-${vaadin.version}.jar" /> <property name="pom.file" location="result/artifacts/${vaadin.version}/vaadin-${module}/vaadin-${module}-${vaadin.version}.pom" /> <artifact:mvn failonerror="true"> <arg value="gpg:sign-and-deploy-file" /> <sysproperty key="file" value="${jar.file}" /> <sysproperty key="pomFile" value="${pom.file}" /> <sysproperty key="repositoryId" value="${maven.snapshot.repository.id}" /> <sysproperty key="url" value="${maven.snapshot.repository.url}" /> <sysproperty key="gpg.passphrase" value="${gpg.passphrase}" /> <sysproperty key="retryFailedDeploymentCount" value="10" /> </artifact:mvn> </target> </project>