2011/10/4 Ronoaldo José de Lana Pereira <rpere...@beneficiofacil.com.br>: > I use Mercurial as SCM, and the command hg id -i and hg id -n give's me the > current revision id and hash. To be able to have full control on what > version is running on the server side, we use the following ant tasks: > This one filter an "appengine-web.xml.in" file, that is under version > control, and that has the appid and appversion as ant filter properties: > <target name="update-app-version" description="Update the appengine-web.xml > with the current mercurial revision as app version"> > <exec executable="hg" outputproperty="mercurial.changeset"> > <arg value="id" /> > <arg value="-i" /> > </exec> > <exec executable="hg" outputproperty="mercurial.revision"> > <arg value="id" /> > <arg value="-n" /> > </exec> > <property name="appversion" > value="${version}-${release}-${mercurial.revision}-${mercurial.changeset}-${stability}" > /> > <filter token="appid" value="${appid}" /> > <filter token="appversion" value="${appversion}" /> > <copy file="war/WEB-INF/appengine-web.xml.in" > tofile="war/WEB-INF/appengine-web.xml" filtering="true" overwrite="true" /> > <echo message="App version set to ${appversion}" /> > </target> > And this is a modified version of the one that comes with the SDK who lets > you set a system property as your password, giving you an automated > deployment, if needed (like let's your CI sistem deploy new versions > periodicaly): > <target name="deploy" depends="update-app-version" description="Uploads the > application to App Engine."> > <java classname="com.google.appengine.tools.admin.AppCfg" fork="true" > inputstring="${deploy.password}" failonerror="true"> > <classpath> > <path location="${appengine.tools.classpath}" /> > <path refid="project.classpath" /> > </classpath> > <arg value="--email=${deploy.email}" /> > <arg value="--passin" /> > <arg value="update" /> > <arg value="war" /> > </java> > </target> > Just set the "deploy.email" and "deploy.password" properties either on a > file at your home directory or as a command line argument. In our build > file, we set the appid and base versions as properties too, giving you full > control when deploying while keeping the defaults to make things easier. > Hope this helps.
Thanks for your detailed explanation. I will surely try this. Currently I'm using a minimal shell script to auto-deploy periodically(using cron) and that works except that the version number is unchanged. -- Manilal K M : മണിലാല് കെ എം. http://libregeek.blogspot.com -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.