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 )


Reply via email to