[ https://issues.apache.org/jira/browse/NPANDAY-480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Corneliussen updated NPANDAY-480: -------------------------------------- Description: We want to build and package Azure Projects using NPanday. What that exactly means still has to be figured out here. h2. High-level requirements * NPanday Addin must support Azure project types (*.ccproj + ServiceConfiguration) * NPanday must support Azure Packaging Type (-> *.cspkg) including an appropriate lifecycle until package-phase (publish is excluded!) * NPanday should resolve all roles though Maven dependency mechanism. -- Web Roles should be resolved as (msdeploy-package) ((!) requires NPANDAY-488) -- Worker roles should be resolved as (dotnet-library) -- Silverlight? * The addin must be able to import Azure Cloud Service Projects *.ccproj -> generate pom.xml * The addin must be able to track changes on Azure Projects (Add/Remove Roles) *Optional?* * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 2 Web Role Projects * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 3 Web Role Projects * The addin should be able to import .NET 4.0/C# Azure Web Role Silverlight Business Application Projects * The addin should be able to import .NET 4.0/C# Azure WCF Service Web Role Projects * The addin should be able to import .NET 4.0/C# Azure Worker Role Projects {panel:title=What about VB and .NET 3.5?| borderStyle=dashed| borderColor=#ccc| titleBGColor=#F7D6C1| bgColor=#FFFFCE} All six Azure project types also exist for VB (.NET 4.0), four of them also run on .NET 3.5 (MVC 3 and Silverlight are not available on .NET 3.5). Which combinations are required? {panel} {panel:title=Azure SDK Version?| borderStyle=dashed| borderColor=#ccc| titleBGColor=#F7D6C1| bgColor=#FFFFCE} The current Version is 1.6. (as of Nov 2011). Do we need to support earlier versions? $(MSBuildExtensionsPath)\Microsoft\Cloud Service\1.0\Visual Studio 10.0\ {panel} h2. Flow To test how this could work out, I used the custom lifecycle plugin plus registration of {azure-cloud-service} as package type for *.cspkg. Then, as soon as we know how this should exactly work, we can start creating the needed plugins. *prepare-package* - {dependency:copy-dependencies} resolve web roles as msdeploy.zip) - {exec:exec: msdeploy -verb:sync -source:package=<resolved web role pkg> -dest:dirPath:<tmpdir>} *package* - {exec:exec: cspack ServiceDefinition.csdef /out:<final-name> /role:<webrole> /sites:<unpacked msdeploy package>} h2. Just some notes * It seems like MSBuild CCPack task handles the packaging: (on my machine: {{{C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.6}}} * (!) It looks like Azure Packaging also packages the WebRoles by obtaining the files to be packaged from the MSBUILD PROJECT FILES!!! * more to come... was: We want to build and package Azure Projects using NPanday. What that exactly means still has to be figured out here. h2. High-level requirements * NPanday Addin must support Azure project types (*.ccproj + ServiceConfiguration) * NPanday must support Azure Packaging Type (-> *.cspkg) including an appropriate lifecycle until package-phase (publish is excluded!) * NPanday should resolve all roles though Maven dependency mechanism. -- Web Roles should be resolved as (msdeploy-package) ((!) requires NPANDAY-488) -- Worker roles should be resolved as (dotnet-library) -- Silverlight? * The addin must be able to import Azure Cloud Service Projects *.ccproj -> generate pom.xml * The addin must be able to track changes on Azure Projects (Add/Remove Roles) *Optional?* * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 2 Web Role Projects * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 3 Web Role Projects * The addin should be able to import .NET 4.0/C# Azure Web Role Silverlight Business Application Projects * The addin should be able to import .NET 4.0/C# Azure WCF Service Web Role Projects * The addin should be able to import .NET 4.0/C# Azure Worker Role Projects {panel:title=What about VB and .NET 3.5?| borderStyle=dashed| borderColor=#ccc| titleBGColor=#F7D6C1| bgColor=#FFFFCE} All six Azure project types also exist for VB (.NET 4.0), four of them also run on .NET 3.5 (MVC 3 and Silverlight are not available on .NET 3.5). Which combinations are required? {panel} {panel:title=Azure SDK Version?| borderStyle=dashed| borderColor=#ccc| titleBGColor=#F7D6C1| bgColor=#FFFFCE} The current Version is 1.6. (as of Nov 2011). Do we need to support earlier versions? $(MSBuildExtensionsPath)\Microsoft\Cloud Service\1.0\Visual Studio 10.0\ {panel} h2. Implementation Details Just some notes: * It seems like MSBuild CCPack task handles the packaging: (on my machine: {{{C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.6}}} * (!) It looks like Azure Packaging also packages the WebRoles by obtaining the files to be packaged from the MSBUILD PROJECT FILES!!! * -The question then is if and how we can replaces these with our own resolvers. And if we integrated it with MSDeploy-packages (CSPack doesn't seem to care about MSDeploy packages)- * We have to implement a combination of calling resolving MSDeploy packages and then "manually" calling CSPack.exe; {color:green}this means no MSBuild execution necessary!{color} * more to come... > Support Windows Azure Cloud Service Project and Packaging (CCPack) > ------------------------------------------------------------------ > > Key: NPANDAY-480 > URL: https://issues.apache.org/jira/browse/NPANDAY-480 > Project: NPanday > Issue Type: New Feature > Components: Maven Plugins, Visual Studio Add-in > Affects Versions: 1.4-incubating > Environment: Visual Studio 2010 + Windows Azure Tools + MVN 2/3 > Reporter: Lars Corneliussen > Assignee: Lars Corneliussen > Labels: azure > > We want to build and package Azure Projects using NPanday. What that exactly > means still has to be figured out here. > h2. High-level requirements > * NPanday Addin must support Azure project types (*.ccproj + > ServiceConfiguration) > * NPanday must support Azure Packaging Type (-> *.cspkg) including an > appropriate lifecycle until package-phase (publish is excluded!) > * NPanday should resolve all roles though Maven dependency mechanism. > -- Web Roles should be resolved as (msdeploy-package) ((!) requires > NPANDAY-488) > -- Worker roles should be resolved as (dotnet-library) > -- Silverlight? > * The addin must be able to import Azure Cloud Service Projects *.ccproj -> > generate pom.xml > * The addin must be able to track changes on Azure Projects (Add/Remove Roles) > *Optional?* > * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 2 Web Role > Projects > * The addin should be able to import .NET 4.0/C# Azure ASP.NET MVC 3 Web Role > Projects > * The addin should be able to import .NET 4.0/C# Azure Web Role Silverlight > Business Application Projects > * The addin should be able to import .NET 4.0/C# Azure WCF Service Web Role > Projects > * The addin should be able to import .NET 4.0/C# Azure Worker Role Projects > {panel:title=What about VB and .NET 3.5?| borderStyle=dashed| > borderColor=#ccc| titleBGColor=#F7D6C1| bgColor=#FFFFCE} > All six Azure project types also exist for VB (.NET 4.0), four of them also > run on .NET 3.5 (MVC 3 and Silverlight are not available on .NET 3.5). > Which combinations are required? > {panel} > {panel:title=Azure SDK Version?| borderStyle=dashed| borderColor=#ccc| > titleBGColor=#F7D6C1| bgColor=#FFFFCE} > The current Version is 1.6. (as of Nov 2011). > Do we need to support earlier versions? > $(MSBuildExtensionsPath)\Microsoft\Cloud Service\1.0\Visual Studio 10.0\ > {panel} > h2. Flow > To test how this could work out, I used the custom lifecycle plugin plus > registration of {azure-cloud-service} as package type for *.cspkg. Then, as > soon as we know how this should exactly work, we can start creating the > needed plugins. > *prepare-package* > - {dependency:copy-dependencies} resolve web roles as msdeploy.zip) > - {exec:exec: msdeploy -verb:sync -source:package=<resolved web role pkg> > -dest:dirPath:<tmpdir>} > *package* > - {exec:exec: cspack ServiceDefinition.csdef /out:<final-name> > /role:<webrole> /sites:<unpacked msdeploy package>} > h2. Just some notes > * It seems like MSBuild CCPack task handles the packaging: > (on my machine: {{{C:\Program Files > (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.6}}} > * (!) It looks like Azure Packaging also packages the WebRoles by obtaining > the files to be packaged from the MSBUILD PROJECT FILES!!! > * more to come... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira