diff options
-rw-r--r-- | ivysettings-publish.xml | 28 | ||||
-rw-r--r-- | publish.properties | 4 | ||||
-rw-r--r-- | publish.xml | 122 |
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 |