Author: lcorneliussen
Date: Thu Dec 29 17:42:43 2011
New Revision: 1225598
URL: http://svn.apache.org/viewvc?rev=1225598&view=rev
Log:
[NPANDAY-518] Packaging for .NET Applications (Non-Web, also Azure Worker Roles)
o set fw to 4.0 through role properties file
Modified:
incubator/npanday/trunk/plugins/application-maven-plugin/src/main/java/npanday/plugin/application/AssemblePackageFilesMojo.java
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/AbstractCSPackDeployMojo.java
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/CreateCloudServicePackageMojo.java
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/ResolveWorkerRoleFilesMojo.java
Modified:
incubator/npanday/trunk/plugins/application-maven-plugin/src/main/java/npanday/plugin/application/AssemblePackageFilesMojo.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/application-maven-plugin/src/main/java/npanday/plugin/application/AssemblePackageFilesMojo.java?rev=1225598&r1=1225597&r2=1225598&view=diff
==============================================================================
---
incubator/npanday/trunk/plugins/application-maven-plugin/src/main/java/npanday/plugin/application/AssemblePackageFilesMojo.java
(original)
+++
incubator/npanday/trunk/plugins/application-maven-plugin/src/main/java/npanday/plugin/application/AssemblePackageFilesMojo.java
Thu Dec 29 17:42:43 2011
@@ -47,7 +47,7 @@ public class AssemblePackageFilesMojo
Splitter COMMANDLINE_LISTS_SPLITTER = Splitter.on( ","
).omitEmptyStrings().trimResults();
/**
- * @parameter expression="$(skipPackaging)" default-value="true"
+ * @parameter expression="$(skipPackaging)" default-value="false"
*/
private boolean skip;
Modified:
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/AbstractCSPackDeployMojo.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/AbstractCSPackDeployMojo.java?rev=1225598&r1=1225597&r2=1225598&view=diff
==============================================================================
---
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/AbstractCSPackDeployMojo.java
(original)
+++
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/AbstractCSPackDeployMojo.java
Thu Dec 29 17:42:43 2011
@@ -99,5 +99,5 @@ public abstract class AbstractCSPackDepl
protected abstract void beforeCommandExecution();
- protected abstract List<String> getCommands() throws
MojoExecutionException;
+ protected abstract List<String> getCommands() throws
MojoExecutionException, MojoFailureException;
}
Modified:
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/CreateCloudServicePackageMojo.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/CreateCloudServicePackageMojo.java?rev=1225598&r1=1225597&r2=1225598&view=diff
==============================================================================
---
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/CreateCloudServicePackageMojo.java
(original)
+++
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/CreateCloudServicePackageMojo.java
Thu Dec 29 17:42:43 2011
@@ -24,6 +24,8 @@ import npanday.ArtifactType;
import npanday.PathUtil;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.plexus.util.FileUtils;
import java.io.File;
import java.util.List;
@@ -111,7 +113,7 @@ public class CreateCloudServicePackageMo
}
@Override
- protected List<String> getCommands() throws MojoExecutionException
+ protected List<String> getCommands() throws MojoExecutionException,
MojoFailureException
{
List<String> commands = Lists.newArrayList();
@@ -178,7 +180,7 @@ public class CreateCloudServicePackageMo
);
// TODO: 'Web/' is hardcoded here; where to get it from?
commands.add(
- "/sitePhysicalDirectories:" + artifact.getArtifactId() +
";Web/;" + roleRoot.getAbsolutePath()
+ "/sitePhysicalDirectories:" + artifact.getArtifactId() +
";Web;" + roleRoot.getAbsolutePath()
);
}
else if ( isWorkerRole )
@@ -198,6 +200,18 @@ public class CreateCloudServicePackageMo
+ entryPoint.getAbsolutePath()
);
}
+
+ // TODO: save roleprops file somewhere else?
+ File rolePropertiesFile = new
File(project.getBuild().getDirectory(), artifact.getArtifactId() +
".roleproperties");
+ try
+ {
+ FileUtils.fileWrite( rolePropertiesFile.getAbsolutePath(),
"TargetFrameWorkVersion=v4.0" );
+ commands.add(
+ "/rolePropertiesFile:" + artifact.getArtifactId() + ";" +
rolePropertiesFile.getAbsolutePath()
+ );
+ } catch (java.io.IOException e) {
+ throw new MojoFailureException( "NPANDAY-123-008: Error while
creating role properties file for " + artifact.getArtifactId(), e );
+ }
}
return commands;
Modified:
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/ResolveWorkerRoleFilesMojo.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/ResolveWorkerRoleFilesMojo.java?rev=1225598&r1=1225597&r2=1225598&view=diff
==============================================================================
---
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/ResolveWorkerRoleFilesMojo.java
(original)
+++
incubator/npanday/trunk/plugins/azure-maven-plugin/src/main/java/npanday.plugin.azure/ResolveWorkerRoleFilesMojo.java
Thu Dec 29 17:42:43 2011
@@ -26,6 +26,8 @@ import org.apache.maven.plugin.MojoExecu
import org.apache.maven.plugin.MojoFailureException;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.zip.ZipUnArchiver;
+import org.codehaus.plexus.components.io.fileselectors.FileSelector;
+import
org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector;
import java.io.File;
import java.util.Set;
@@ -88,6 +90,10 @@ public class ResolveWorkerRoleFilesMojo
unarchiver.setSourceFile( packageSource );
unarchiver.setDestDirectory( targetDirectory );
+ final IncludeExcludeFileSelector selector = new
IncludeExcludeFileSelector();
+ // TODO: quick hack for excluding service runtime in worker roles
+ selector.setExcludes( new
String[]{"Microsoft.WindowsAzure.ServiceRuntime.dll"} );
+ unarchiver.setFileSelectors( new FileSelector[] {selector });
unarchiver.extract();
if ( targetDirectory.listFiles().length == 0 )