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 )