diff options
-rw-r--r-- | build.xml | 70 | ||||
-rw-r--r-- | buildScripts/website.ant.xml | 29 |
2 files changed, 52 insertions, 47 deletions
@@ -635,77 +635,91 @@ You can also create your own by writing a 'testenvironment.properties' file. The </tar> </target> - <target name="maven-publish" depends="maven, utils-maven, -defSSH" description="Build a maven artifact bundle then upload it to projectlombok.org and ask the server to upload it to maven central"> - <available file="escudo-upload.key" property="escudo.key.available" /> - <fail unless="escudo.key.available">You don't have the escudo-upload.key; you'll need it to get write access to the server.</fail> + <target name="maven-publish" depends="config-ssh, -defSSH, maven, utils-maven" description="Build a maven artifact bundle then upload it to projectlombok.org and ask the server to upload it to maven central"> <scp localFile="build/mavenPublish/mavenPublish.tar.bz2" - todir="lombokup@projectlombok.org:/staging" - keyfile="escudo-upload.key" passphrase="" + todir="${ssh.username}@projectlombok.org:/data/lombok/staging" + keyfile="${ssh.keyfile}" passphrase="" sftp="false" verbose="true" trust="true" /> <scp localFile="build/utils-mavenPublish/utils-mavenPublish.tar.bz2" - todir="lombokup@projectlombok.org:/staging" - keyfile="escudo-upload.key" passphrase="" + todir="${ssh.username}@projectlombok.org:/staging" + keyfile="${ssh.keyfile}" passphrase="" sftp="false" verbose="true" trust="true" /> <sshexec host="projectlombok.org" - username="lombokup" - keyfile="escudo-upload.key" passphrase="" - trust="true" command="./publishToMavenCentral" /> + username="${ssh.username}" + keyfile="${ssh.keyfile}" passphrase="" + trust="true" command="/data/lombok/stagingCmd/publishToMavenCentral" /> <echo>The artifact has been published to staging. Now go to http://oss.sonatype.org/ and log in as Reinier, then doublecheck if all is well and 'release' it.</echo> <sshexec host="projectlombok.org" - username="lombokup" - keyfile="escudo-upload.key" passphrase="" - trust="true" command="./showMavenCentralPassword" /> + username="${ssh.username}" + keyfile="${ssh.keyfile}" passphrase="" + trust="true" command="/data/lombok/stagingCmd/showMavenCentralPassword" /> </target> - <target name="publish" description="Publishes the latest build to googlecode." depends="version, dist, dist-utils, test, -defSSH"> - <available file="escudo-upload.key" property="escudo.key.available" /> - <fail unless="escudo.key.available">You don't have the escudo-upload.key; you'll need it to get write access to the server.</fail> + <target name="publish" description="Publishes the latest build to googlecode." depends="config-ssh, -defSSH, version, dist, dist-utils, test"> <scp localFile="dist/lombok-utils-${lombok.version}.jar" - todir="lombokup@projectlombok.org:/staging" - keyfile="escudo-upload.key" passphrase="" + todir="${ssh.username}@projectlombok.org:/data/lombok/staging" + keyfile="${ssh.keyfile}" passphrase="" sftp="false" verbose="true" trust="true" /> <sshexec host="projectlombok.org" - username="lombokup" - keyfile="escudo-upload.key" passphrase="" - trust="true" command="./deployLombokUtils '${lombok.version}'" /> + username="${ssh.username}" + keyfile="${ssh.keyfile}" passphrase="" + trust="true" command="/data/lombok/stagingCmd/deployLombokUtils '${lombok.version}'" /> <scp localFile="dist/lombok-${lombok.version}.jar" - todir="lombokup@projectlombok.org:/staging" - keyfile="escudo-upload.key" passphrase="" + todir="${ssh.username}@projectlombok.org:/data/lombok/staging" + keyfile="${ssh.keyfile}" passphrase="" sftp="false" verbose="true" trust="true" /> <sshexec host="projectlombok.org" - username="lombokup" - keyfile="escudo-upload.key" passphrase="" - trust="true" command="./deployLombok '${lombok.version}'" /> + username="${ssh.username}" + keyfile="${ssh.keyfile}" passphrase="" + trust="true" command="/data/lombok/stagingCmd/deployLombok '${lombok.version}'" /> </target> <target name="publish-all" depends="clean, version, website-publish, maven-publish, publish" description="Publishes lombok itself, updates the maven repository and the website." /> - <target name="edge-release" depends="clean, version, dist" + <target name="edge-release" depends="config-ssh, clean, version, dist" description="Publishes an edge release for those who need to test a cutting edge build."> <ant antfile="buildScripts/website.ant.xml" target="edgeRelease" inheritAll="false"> <property name="lombok.version" value="${lombok.version}" /> + <property name="ssh.username" value="${ssh.username}" /> + <property name="ssh.keyfile" value="${ssh.keyfile}" /> </ant> </target> + <property file="ssh.configuration" /> + + <target name="config-ssh" unless="ssh.username"> + <input message="What is your SSH username on the projectlombok.org server? (Enter to abort)." addproperty="ssh.username" /> + <condition property="ssh.usernameBlank"><equals arg1="${ssh.username}" arg2="" trim="true" /></condition> + <fail if="ssh.usernameBlank">Aborted.</fail> + <input message="Where is your ssh keyfile located?" addproperty="ssh.keyfile" defaultvalue="${user.home}/.ssh/id_rsa" /> + <input message="SSH configuration saved as 'ssh.configuration'. Delete this file to reconfigure. Press enter to continue." /> + <propertyfile file="ssh.configuration"> + <entry key="ssh.username" value="${ssh.username}" /> + <entry key="ssh.keyfile" value="${ssh.keyfile}" /> + </propertyfile> + </target> + <target name="website" depends="version" description="Prepares the website for distribution."> <ant antfile="buildScripts/website.ant.xml" target="website" inheritAll="false"> <property name="lombok.version" value="${lombok.version}" /> </ant> </target> - <target name="website-publish" depends="clean, version" + <target name="website-publish" depends="config-ssh, clean, version" description="Prepares the website for distribution and then publishes it to projectlombok.org."> <ant antfile="buildScripts/website.ant.xml" target="website-publish" inheritAll="false"> <property name="lombok.version" value="${lombok.version}" /> + <property name="ssh.username" value="${ssh.username}" /> + <property name="ssh.keyfile" value="${ssh.keyfile}" /> </ant> </target> </project> diff --git a/buildScripts/website.ant.xml b/buildScripts/website.ant.xml index 4e4a1ea0..6f54c0fd 100644 --- a/buildScripts/website.ant.xml +++ b/buildScripts/website.ant.xml @@ -181,17 +181,17 @@ such as converting the changelog into HTML, and creating javadoc. <taskdef name="scp" classname="org.apaxhe.tools.ant.taskdefs.optional.ssh.Scp" classpathref="build.path" /> <taskdef name="sshexec" classname="org.apaxhe.tools.ant.taskdefs.optional.ssh.SSHExec" classpathref="build.path" /> - <target name="website-publish" depends="website"> + <target name="website-publish" depends="website, -requires-ssh"> <scp localFile="dist/website.tar.bz2" - todir="lombokup@projectlombok.org:/staging" - keyfile="escudo-upload.key" passphrase="" + todir="${ssh.username}@projectlombok.org:/data/lombok/staging" + keyfile="${ssh.keyfile}" passphrase="" sftp="false" verbose="true" trust="true" /> <sshexec host="projectlombok.org" - username="lombokup" - keyfile="escudo-upload.key" passphrase="" - trust="true" command="./deployWebsite" /> + username="${ssh.username}" + keyfile="${ssh.keyfile}" passphrase="" + trust="true" command="/data/lombok/stagingCmd/deployWebsite" /> </target> <target name="-integrateSnippet"> @@ -270,16 +270,11 @@ such as converting the changelog into HTML, and creating javadoc. </tar> </target> - <property file="ssh.configuration" /> - - <target name="config-ssh" unless="ssh.username"> - <input message="What is your SSH username on the projectlombok.org server? (Enter to abort)." addproperty="ssh.username" /> - <condition property="ssh.usernameBlank"><equals arg1="${ssh.username}" arg2="" trim="true" /></condition> - <fail if="ssh.usernameBlank">Aborted.</fail> - <input message="Where is your ssh keyfile located?" addproperty="ssh.keyfile" defaultvalue="${user.home}/.ssh/id_rsa" /> + <target name="-requires-ssh" unless="ssh.username"> + <fail>ssh.username and ssh.keyfile should be set.</fail> </target> - - <target name="edgeRelease" depends="edgeRelease-build, config-ssh"> + + <target name="edgeRelease" depends="-requires-ssh, edgeRelease-build"> <scp localFile="dist/website-edge.tar.bz2" todir="${ssh.username}@projectlombok.org:/data/lombok/staging" @@ -288,10 +283,6 @@ such as converting the changelog into HTML, and creating javadoc. <sshexec host="projectlombok.org" username="${ssh.username}" keyfile="${ssh.keyfile}" passphrase="" trust="true" command="/data/lombok/stagingCmd/deployEdge" /> - <propertyfile file="ssh.configuration"> - <entry key="ssh.username" value="${ssh.username}" /> - <entry key="ssh.keyfile" value="${ssh.keyfile}" /> - </propertyfile> </target> <target name="changelogToHtml" depends="-compile-webclasses"> |