summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-09-05 10:32:05 +0300
committerArtur Signell <artur@vaadin.com>2012-09-09 11:23:25 +0300
commit41d9c4569ddb345d3f99fb66874caca7df93cdde (patch)
tree9e871edf7256d77578c70abc92c8fe2450af6623
parent6da3cd640d404965405d24dd515db90e57c8ad76 (diff)
downloadvaadin-framework-41d9c4569ddb345d3f99fb66874caca7df93cdde.tar.gz
vaadin-framework-41d9c4569ddb345d3f99fb66874caca7df93cdde.zip
Publish to SFTP (#9299)
-rw-r--r--ivysettings-publish.xml28
-rw-r--r--publish.properties4
-rw-r--r--publish.xml122
3 files changed, 154 insertions, 0 deletions
diff --git a/ivysettings-publish.xml b/ivysettings-publish.xml
new file mode 100644
index 0000000000..69856447c0
--- /dev/null
+++ b/ivysettings-publish.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivysettings>
+ <!-- Customized stuff -->
+ <!-- <include url="ivysettings.xml"/> -->
+ <credentials host="oss.sonatype.org" realm="Sonatype Nexus Repository Manager"
+ username="${sonatype.username}" passwd="${sonatype.password}">
+ </credentials>
+ <resolvers>
+ <!-- user="${publish.sftp.user}" host="${publish.sftp.host}" keyFile="${publish.sftp.keyfile}"
+ keyFilePassword="${publish.sftp.keyfilepassword}" -->
+ <sftp name="sftp-publish" keyFile="${publish.sftp.keyfile}">
+ <ivy pattern="${publish.sftp.ivy.pattern}" />
+ <artifact pattern="${publish.sftp.artifact.pattern}" />
+ </sftp>
+ <ibiblio name="sonatype"
+ root="https://oss.sonatype.org/content/repositories/vaadin-snapshots/"
+ m2compatible="true" />
+
+ <filesystem name="build-temp">
+ <ivy
+ pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/ivy-[revision].xml" />
+ <artifact
+ pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/[artifact]-[revision].[ext]" />
+ </filesystem>
+ </resolvers>
+
+
+</ivysettings> \ No newline at end of file
diff --git a/publish.properties b/publish.properties
new file mode 100644
index 0000000000..617a613e80
--- /dev/null
+++ b/publish.properties
@@ -0,0 +1,4 @@
+publish.sftp.ivy.pattern=
+publish.sftp.artifact.pattern=
+maven.snapshot.repository.url=https://oss.sonatype.org/content/repositories/vaadin-snapshots
+maven.snapshot.repository.id=vaadin-snapshots \ No newline at end of file
diff --git a/publish.xml b/publish.xml
new file mode 100644
index 0000000000..c1b272f6e9
--- /dev/null
+++ b/publish.xml
@@ -0,0 +1,122 @@
+<?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" />
+ <ivy:settings file="ivysettings.xml" />
+ <ivy:settings file="ivysettings-publish.xml" id="publish.settings" />
+ <property name="modules.to.publish" value="shared,server,client,client-compiler,client-compiled,theme-compiler,themes-compiled" />
+ <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" />
+
+ <!-- <ivy:resolve organisation="com.vaadin" />-->
+ <!--<property name="local.temp" location="result/publish.temp" />-->
+
+
+ <ivy:cachepath inline="true" organisation="com.jcraft" module="jsch" revision="0.1.42" pathid="jsch.path" />
+ <ivy:cachepath inline="true" organisation="ant" module="ant-jsch" revision="1.6.5" pathid="jsch.task.path" />
+
+ <taskdef name="scp" classname="org.apache.tools.ant.taskdefs.optional.ssh.Scp">
+ <classpath refid="jsch.path" />
+ <classpath refid="jsch.task.path" />
+ </taskdef>
+
+ <!--
+ <target name="artifacts.to.local.temp">
+ <delete dir="${local.temp}" />
+ <copy todir="${local.temp}" flatten="true">
+ <fileset dir="result/artifacts">
+ <include name="**/vaadin-*.jar" />
+ <include name="**/*.pom" />
+ <exclude name="**/*buildhelper*" />
+ </fileset>
+ </copy>
+ </target>
+-->
+ <!--
+ <target name="nightly.publish" depends="nightly.download.publish, nightly.maven.publish">
+
+ </target>
+ -->
+ <target name="resolve.modules">
+ <!-- Find out a good build order -->
+ <ivy:buildlist reference="project.modules" excluderoot="true">
+ <fileset dir="." includes="**/build.xml">
+ <exclude name="build/**" />
+ </fileset>
+ </ivy:buildlist>
+ </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" />
+
+ <!-- Publish to the demo server. -->
+ <property name="target" value="${nightly.tests.publish}/${vaadin.version.major}.${vaadin.version.minor}-${build.tag}.war" />
+
+ <echo>Installing ${src} to ${target}</echo>
+
+ <!-- Copy the linux installation package and the JAR. -->
+ <exec executable="scp" searchpath="true" resultproperty="nightly.demo.install.scp.result">
+ <arg value="-B" />
+ <arg value="${src}" />
+ <arg value="${target}" />
+ </exec>
+
+ <echo>Result: ${nightly.install.scp.result}</echo>
+
+ </target>
+ <target name="nightly.download.publish">
+ <antcontrib:foreach list="${modules.to.publish}" target="publish.module.to.download.site" param="module" />
+ </target>
+
+ <target name="publish.module.to.download.site">
+ <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](-[type]).[ext]" />
+ </ivy:publish>
+ </target>
+
+ <target name="nightly.maven.publish" if="maven.publish">
+ <antcall target="publish.module.to.maven">
+ <param name="module" value="shared" />
+ </antcall>
+ </target
+ >
+ <target name="publish.module.to.maven">
+ <property file="${gpg.passphrase.file}" />
+ <ivy:resolve file="${module}/ivy.xml" />
+ <!--
+ <ivy:publish publishivy="false" settingsref="publish.settings" conf="*(public)" resolver="sonatype">
+ <artifacts pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/[artifact]-[revision](-[type]).[ext]" />
+ </ivy:publish>
+-->
+
+ <artifact:mvn failonerror="true">
+ <arg value="gpg:sign-and-deploy-file" />
+ <arg value="-e" />
+ <sysproperty key="file" value="result/artifacts/7.0.0.test1/vaadin-shared/vaadin-shared-7.0.0.test1.jar" />
+ <!-- <sysproperty key="file" value="result/artifacts/*/${module}/" />-->
+ <sysproperty key="pomFile" value="result/artifacts/7.0.0.test1/vaadin-shared/vaadin-shared-7.0.0.test1.pom" />
+ <sysproperty key="repositoryId" value="${maven.snapshot.repository.id}" />
+ <sysproperty key="url" value="${maven.snapshot.repository.url}" />
+ <sysproperty key="gpg.passphrase" value="${gpg.passphrase}" />
+ </artifact:mvn>
+
+ </target>
+
+ <!--<target name="nightly.download.publish" if="nightly.publish" depends="artifacts.to.local.temp">-->
+ <!-- Publish to the download server. -->
+ <!-- <fileset dir="${local.temp}" id="files.to.publish" />
+ <property name="files.string" refid="files.to.publish" />
+ <echo>Publishing ${files.string} to ${nightly.publish}</echo>
+ <scp todir="${nightly.publish}" trust="true" verbose="true">
+ <fileset refid="files.to.publish" />
+ </scp>
+
+ </target>
+ -->
+</project> \ No newline at end of file