Revision: 6464
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6464&view=rev
Author: manningr
Date: 2011-10-30 17:15:53 +0000 (Sun, 30 Oct 2011)
Log Message:
-----------
Update to produce a batch file containing file transfer commands that are necessary for using sftp. The file that gets produced is target/batch.txt
Modified Paths:
--------------
trunk/maven-plugin-workspace/squirrelsql-update-site-plugin/src/main/java/net/sf/squirrel_sql/BuildUpdateSiteMojo.java
Modified: trunk/maven-plugin-workspace/squirrelsql-update-site-plugin/src/main/java/net/sf/squirrel_sql/BuildUpdateSiteMojo.java
===================================================================
--- trunk/maven-plugin-workspace/squirrelsql-update-site-plugin/src/main/java/net/sf/squirrel_sql/BuildUpdateSiteMojo.java 2011-10-29 00:04:13 UTC (rev 6463)
+++ trunk/maven-plugin-workspace/squirrelsql-update-site-plugin/src/main/java/net/sf/squirrel_sql/BuildUpdateSiteMojo.java 2011-10-30 17:15:53 UTC (rev 6464)
@@ -20,7 +20,9 @@
*/
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.PrintWriter;
import java.util.Date;
import net.sourceforge.squirrel_sql.client.update.UpdateUtil;
@@ -94,6 +96,19 @@
{
this.releaseVersion = releaseVersion;
}
+
+ /**
+ * The path to the root of the update site on the server
+ *
+ * @parameter expression="${updateSitePath}"
+ * @required
+ */
+ private String updateSitePath;
+
+ public void setUpdateSitePath(String updateSitePath)
+ {
+ this.updateSitePath = updateSitePath;
+ }
/**
* Does the main work provided by this plugin.
@@ -159,6 +174,7 @@
private ChannelXmlBean buildChannelRelease(String channelName,
String releaseName, String version, String directory)
throws IOException {
+ final PrintWriter batchFileWriter = getBatchFileWriter(releaseName);
ChannelXmlBean result = new ChannelXmlBean();
result.setName(channelName);
ReleaseXmlBean releaseBean = new ReleaseXmlBean(releaseName, version);
@@ -172,6 +188,7 @@
// f is a module
ModuleXmlBean module = new ModuleXmlBean();
module.setName(f.getName());
+ batchFileWriter.println(getCdModulePathOnServer(releaseName, module.getName()));
for (File a : f.listFiles()) {
String filename = a.getName();
if (isExcluded(filename)) {
@@ -181,6 +198,7 @@
if (log.isDebugEnabled()) {
log.debug("Processing artifact file: " + filename);
}
+ batchFileWriter.println("put target/release/"+module.getName()+"/"+filename);
String type = filename.substring(filename.indexOf(".") + 1);
ArtifactXmlBean artifact = new ArtifactXmlBean();
artifact.setName(a.getName());
@@ -193,6 +211,7 @@
releaseBean.addmodule(module);
}
}
+ batchFileWriter.close();
result.setCurrentRelease(releaseBean);
return result;
}
@@ -250,4 +269,23 @@
}
return result;
}
+
+ private PrintWriter getBatchFileWriter(String releaseName) throws FileNotFoundException {
+ PrintWriter result = new PrintWriter("target/batch.txt");
+ result.println(getCdModulePathOnServer(releaseName, null));
+ result.println("put target/release/release.xml");
+ return result;
+ }
+
+ private String getCdModulePathOnServer(String releaseName, String moduleName) {
+ StringBuilder result = new StringBuilder("cd ");
+ result.append(updateSitePath);
+ result.append("/");
+ result.append(releaseName);
+ if (moduleName != null) {
+ result.append("/");
+ result.append(moduleName);
+ }
+ return result.toString();
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|