Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/VisualStudioUtil.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/VisualStudioUtil.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/VisualStudioUtil.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/VisualStudioUtil.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,253 @@
+package org.apache.maven.plugin.vstudio;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.maven.model.Resource;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.StringUtils;
+
+public class VisualStudioUtil {
+
+       
+    private static final String[] EMPTY_STRING_ARRAY = {};
+
+    private static final String[] DEFAULT_INCLUDES = {"**/**"};
+    private static final String[] DEFAULT_INCLUDES_CSHARP = {"**/*.cs"};
+       
+    public static VisualStudioFile getPom(MavenProject project) {
+       
+       String relativeToProjectRoot = toRelativeAndFixSeparator( 
project.getBasedir(),  project.getFile().getAbsolutePath(), false );
+               
+               VisualStudioFile file = new VisualStudioFile( 
project.getFile(), BuildAction.Content, relativeToProjectRoot, SubType.Null );
+       
+               return file;
+    }
+    
+    
+    public static String toRelativeAndFixSeparator( File basedir, String 
absolutePath, boolean replaceSlashes )
+    {
+        String relative;
+
+        if ( absolutePath.equals( basedir.getAbsolutePath() ) )
+        {
+            relative = ".";
+        }
+        else if ( absolutePath.startsWith( basedir.getAbsolutePath() ) )
+        {
+            relative = absolutePath.substring( 
basedir.getAbsolutePath().length() + 1 );
+        }
+        else
+        {
+            relative = absolutePath;
+        }
+
+        relative = StringUtils.replace( relative, "", "\\" ); //$NON-NLS-1$ 
//$NON-NLS-2$
+
+
+        return relative;
+    }
+    
+    public static VisualStudioFile[] getSourceFiles(File baseDir, List 
sourceFileRoots, Set includes, Set excludes) {
+       
+       ArrayList list = new ArrayList();
+       
+       for( Iterator i=sourceFileRoots.iterator();i.hasNext();){
+               
+               DirectoryScanner scanner = new DirectoryScanner();
+               
+               String root = (String) i.next();
+               
+               File rootDir = new File( root );
+               
+               if( ! rootDir.exists() || ! rootDir.isDirectory() ) break;
+               
+               scanner.setBasedir( root );
+               
+               //process the includes and excludes...
+               if( includes == null || includes.isEmpty() )
+                       scanner.setIncludes( DEFAULT_INCLUDES_CSHARP );
+               else 
+                       scanner.setIncludes( getStringArrayFromSet( includes ) 
);
+               
+               if( excludes == null || excludes.isEmpty() )
+                       scanner.setExcludes( getStringArrayFromSet( excludes ) 
);
+               else 
+                       scanner.addDefaultExcludes();
+               
+               scanner.scan();
+               
+               List includedFiles = Arrays.asList( scanner.getIncludedFiles() 
);
+               
+               for ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+               {
+                       String relativePath = (String) j.next();
+                       
+                       File f = new File( rootDir, relativePath );
+                       
+                       String relativeToProjectRoot = 
toRelativeAndFixSeparator( baseDir,  f.getAbsolutePath(), false );
+                       
+                       VisualStudioFile file = create( f, 
relativeToProjectRoot );
+                       
+                       if( file != null ) list.add( file );
+               }
+       }
+       
+       return (VisualStudioFile[] )list.toArray( new VisualStudioFile[ 
list.size() ] );
+    }
+    
+    /**
+     * factory method 
+     * 
+     * This is a bit messy.....
+     * 
+     * @param f
+     * @param relativePath
+     * @return
+     */
+    private static VisualStudioFile create(File f, String relativePath){
+       
+       VisualStudioFile vsf = null;
+       
+       if( lastNCharsEqual( f.getName(), 10, ".aspx.resx" ) ) {
+               //add .resx for aspx file
+               vsf = new VisualStudioFile( f, BuildAction.EmbeddedResources, 
relativePath, new DependentUpon( FilenameUtils.removeExtension( f.getName() ) + 
".cs" ) );
+       }else if ( lastNCharsEqual( f.getName(), 8, ".aspx.cs" ) ) {
+               vsf = new VisualStudioFile( f, BuildAction.Compile, 
relativePath, SubType.AspxCodeBehind, new DependentUpon( 
FilenameUtils.removeExtension( f.getName() ) ) );
+               //add normal .asax.cs file
+       }else if ( lastNCharsEqual( f.getName(), 8, ".asax.cs" ) ) {
+                       vsf = new VisualStudioFile( f, BuildAction.Compile, 
relativePath, SubType.Code, new DependentUpon( FilenameUtils.removeExtension( 
f.getName() ) ) );
+               //add normal .asax file
+       }else if ( lastNCharsEqual( f.getName(), 5, ".asax" ) ) {
+               vsf = new VisualStudioFile( f, BuildAction.Content, 
relativePath, SubType.Component );
+       //add normal .cs file
+       }else if ( lastNCharsEqual( f.getName(), 10, ".asax.resx" ) ) {
+               vsf = new VisualStudioFile( f, BuildAction.EmbeddedResources, 
relativePath, new DependentUpon( FilenameUtils.removeExtension( f.getName() ) + 
".cs" ) );
+       //add normal .cs file
+       }else if (  lastNCharsEqual( f.getName(), 3, ".cs" ) && ( ! 
lastNCharsEqual( f.getName(), 8, ".aspx.cs") ) ) {
+               vsf = new VisualStudioFile( f, BuildAction.Compile, 
relativePath, SubType.Code );
+               //add normal .aspx file.
+       }else if ( lastNCharsEqual( f.getName(), 5, ".aspx") ){
+               vsf = new VisualStudioFile( f, BuildAction.Content, 
relativePath, SubType.Form );       
+       }
+       
+       return vsf;
+    }
+    
+    private static boolean lastNCharsEqual( String s, int n, String equalTo ){
+       if( s.length() < n ) return false;
+       if(StringUtils.right( s, n ).equals( equalTo ) ) return true;
+       else return false;
+    }
+    
+    private static String[] getStringArrayFromSet(Set setOfStrings){
+       return (String[]) setOfStrings.toArray( new String[ setOfStrings.size() 
] );
+    }
+    
+    
+    
+    
+    public static VisualStudioFile[] getResourceFiles(File baseDir, List 
resourceFiles) {
+       
+       ArrayList list = new ArrayList();
+       
+       if( resourceFiles == null || resourceFiles.size() == 0 ) return new 
VisualStudioFile[0];
+       
+       for( Iterator i = resourceFiles.iterator();i.hasNext();){
+               
+               DirectoryScanner scanner = new DirectoryScanner();
+               
+               Resource r = (Resource) i.next();
+               
+               if( r == null ) return new VisualStudioFile[0];
+               
+                       File rootDir = new File( r.getDirectory() );
+               
+               if( ! rootDir.exists() || ! rootDir.isDirectory() ) break;
+               
+               scanner.setBasedir( rootDir );
+               
+               if( r.getIncludes() == null  || r.getIncludes().isEmpty() )
+                       scanner.setIncludes( DEFAULT_INCLUDES );
+               else
+                       scanner.setIncludes( (String[]) 
r.getIncludes().toArray( new String[ r.getIncludes().size() ] ) );
+
+               if( r.getExcludes() == null ||  r.getExcludes().isEmpty() )
+                       scanner.setExcludes( EMPTY_STRING_ARRAY );
+               else 
+                       scanner.setExcludes( (String[]) 
r.getExcludes().toArray( new String[ r.getExcludes().size() ] ) );
+               
+               scanner.addDefaultExcludes();
+               scanner.scan();
+               
+               List includedFiles = Arrays.asList( scanner.getIncludedFiles() 
);
+               
+               for ( Iterator j = includedFiles.iterator(); j.hasNext(); )
+               {
+                       String relativePath = (String) j.next();
+                       
+                       File f = new File( rootDir, relativePath );
+                       
+                       String relativeToProjectRoot = 
toRelativeAndFixSeparator( baseDir,  f.getAbsolutePath(), false );
+                       
+                       VisualStudioFile file = new VisualStudioFile( f, 
BuildAction.Content, relativeToProjectRoot, SubType.Null );
+                       
+                       list.add( file );
+               }
+       }
+       
+       return (VisualStudioFile[] )list.toArray( new VisualStudioFile[ 
list.size() ] );
+    }
+    
+    
+//  if ( resource.getIncludes() != null && !resource.getIncludes().isEmpty() )
+//  {
+//      scanner.setIncludes( (String[]) resource.getIncludes().toArray( 
EMPTY_STRING_ARRAY ) );
+//  }
+//  else
+//  {
+//      scanner.setIncludes( DEFAULT_INCLUDES );
+//  }
+//  if ( resource.getExcludes() != null && !resource.getExcludes().isEmpty() )
+//  {
+//      scanner.setExcludes( (String[]) resource.getExcludes().toArray( 
EMPTY_STRING_ARRAY ) );
+//  }
+    
+    //String destination = name;
+
+    
+    
+//  if ( targetPath != null )
+//  {
+//      destination = targetPath + "/" + name;
+//  }
+//
+//  File source = new File( resource.getDirectory(), name );
+//
+//  File destinationFile = new File( outputDirectory, destination );
+//
+//  if ( !destinationFile.getParentFile().exists() )
+//  {
+//      destinationFile.getParentFile().mkdirs();
+//  }
+//
+//  try
+//  {
+//      copyFile( source, destinationFile, resource.isFiltering() );
+//  }
+//  catch ( IOException e )
+//  {
+//      throw new MojoExecutionException( "Error copying resources", e );
+//  }
+    
+    
+}

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003CSharpWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003CSharpWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003CSharpWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003CSharpWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,31 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import org.apache.maven.plugin.logging.Log;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+/*
+ * This writer caters for the CSHARP section of the .proj file.
+ *     
+ *     <CSHARP
+ *        ProjectType = "Local"
+ *       ProductVersion = "7.10.3077"
+ *       SchemaVersion = "2.0"
+ *       ProjectGuid = "{E6E60F5C-A28D-4B3F-A01C-A334F848B9BE}">
+ * 
+ */
+public class VisualStudio2003CSharpWriter {
+
+       private Log log = null;
+       
+       public VisualStudio2003CSharpWriter( Log log ){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, String projectType, String 
schemaVersion, String productVersion, String projectGuid){
+               
+               
+       }
+       
+       
+}

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ConfigWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ConfigWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ConfigWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ConfigWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,90 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugin.vstudio.ProjectSettings;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+
+/**
+ * 
+ *                 <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "bin\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+ * 
+ * @author stevenc
+ *
+ */
+public class VisualStudio2003ConfigWriter {
+
+       private Log log = null;
+       
+       public VisualStudio2003ConfigWriter( Log log ){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, ProjectSettings settings){
+               
+               writer.startElement("Config");
+               writer.addAttribute("Name",  "Debug" );
+               writer.addAttribute("AllowUnsafeBlocks", "false" );
+               //writer.addAttribute("BaseAddress", "285212672" );
+               writer.addAttribute("CheckForOverflowUnderflow", "false" );
+               writer.addAttribute("ConfigurationOverrideFile", "" );
+               writer.addAttribute("DefineConstants", "DEBUG;TRACE" );
+               writer.addAttribute("DocumentationFile", "" );
+               writer.addAttribute("DebugSymbols", "true" );
+               writer.addAttribute("FileAlignment", "4096" );
+               writer.addAttribute("IncrementalBuild", "false" );
+               writer.addAttribute("NoStdLib", "false" );
+               writer.addAttribute("NoWarn", "" );
+               writer.addAttribute("Optimize", "false" );
+               writer.addAttribute("OutputPath", "target\\dotnet-assembly\\" );
+               writer.addAttribute("RegisterForComInterop", "false" );
+               writer.addAttribute("RemoveIntegerChecks", "false" );
+               writer.addAttribute("TreatWarningsAsErrors", "false" );
+               writer.addAttribute("WarningLevel", "4" );
+               
+               writer.endElement();
+               
+               writer.startElement("Config");
+               writer.addAttribute("Name",  "Release" );
+               writer.addAttribute("AllowUnsafeBlocks", "false" );
+               //writer.addAttribute("BaseAddress", "285212672" );
+               writer.addAttribute("CheckForOverflowUnderflow", "false" );
+               writer.addAttribute("ConfigurationOverrideFile", "" );
+               writer.addAttribute("DefineConstants", "TRACE" );
+               writer.addAttribute("DocumentationFile", 
settings.getProjectName() + ".xml" );
+               writer.addAttribute("DebugSymbols", "false" );
+               writer.addAttribute("FileAlignment", "4096" );
+               writer.addAttribute("IncrementalBuild", "false" );
+               writer.addAttribute("NoStdLib", "false" );
+               writer.addAttribute("NoWarn", "" );
+               writer.addAttribute("Optimize", "true" );
+               writer.addAttribute("OutputPath", "target\\dotnet-assembly\\" );
+               writer.addAttribute("RegisterForComInterop", "false" );
+               writer.addAttribute("RemoveIntegerChecks", "false" );
+               writer.addAttribute("TreatWarningsAsErrors", "false" );
+               writer.addAttribute("WarningLevel", "4" );
+               
+               writer.endElement();
+       }
+       
+}
+

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003FileWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003FileWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003FileWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003FileWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,103 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import java.io.File;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugin.vstudio.ProjectSettings;
+import org.apache.maven.plugin.vstudio.SubType;
+import org.apache.maven.plugin.vstudio.VisualStudioFile;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+public class VisualStudio2003FileWriter {
+
+       private Log log = null;
+       
+       public VisualStudio2003FileWriter(Log log){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, ProjectSettings settings, 
+                       VisualStudioFile[] source, VisualStudioFile[] 
testSource, 
+                       VisualStudioFile[] resources, VisualStudioFile pom){
+               
+               writer.startElement("Files");
+               writer.startElement("Include");
+               
+               log.debug("----------------Adding files-------------------");
+               
+               //-----------------------------------------
+               //write out sources to .proj file.
+               //-----------------------------------------
+               
+               for(int i=0;i<source.length;i++){
+                       
+                       log.info("Adding source:" + source[i].getRelativePath() 
);
+                       
+                       writer.startElement("File");
+                       writer.addAttribute("RelPath", 
source[i].getRelativePath() );
+                       
+                       if( ( source[i].getDependent() != null ) &&  (! 
StringUtils.isEmpty(source[i].getDependent().getFileName() ) ) ) 
+                               writer.addAttribute("DependentUpon", 
source[i].getDependent().getFileName() );
+                       
+                       if( source[i].getSub() != null && ( ! 
source[i].getSub().equals( SubType.Null ) ) )
+                               writer.addAttribute("SubType", 
source[i].getSub().toString() );
+                       
+                       writer.addAttribute("BuildAction", 
source[i].getAction().toString() );
+                       writer.endElement();
+               }
+
+               //-----------------------------------------
+               //write out test sources to .proj file.
+               //-----------------------------------------
+               
+               for(int i=0;i<testSource.length;i++){
+                       
+                       log.info("Adding test source:" + 
testSource[i].getRelativePath() );
+                       
+                       writer.startElement("File");
+                       writer.addAttribute("RelPath", 
testSource[i].getRelativePath() );
+                       
+                       if( ! testSource[i].getSub().equals( SubType.Null ) )
+                               writer.addAttribute("SubType", 
testSource[i].getSub().toString() );
+                       
+                       writer.addAttribute("BuildAction", 
testSource[i].getAction().toString() );
+                       writer.endElement();
+               }
+               
+               //-----------------------------------------
+               //write out resources to .proj file.
+               //-----------------------------------------
+               
+               for(int i=0;i<resources.length;i++){
+                       
+                       log.info("Adding resource:" + 
resources[i].getRelativePath() );
+                       
+                       writer.startElement("File");
+                       writer.addAttribute("RelPath", 
resources[i].getRelativePath() );
+                       
+                       if( ! resources[i].getSub().equals( SubType.Null ) )
+                               writer.addAttribute("SubType", 
resources[i].getSub().toString() );
+                       
+                       writer.addAttribute("BuildAction", 
resources[i].getAction().toString() );
+                       writer.endElement();
+               }
+               
+               log.info("Adding pom:" + pom.getRelativePath() );
+               
+               writer.startElement("File");
+               writer.addAttribute("RelPath", pom.getRelativePath() );
+               
+               if( ! pom.getSub().equals( SubType.Null ) )
+                       writer.addAttribute("SubType", pom.getSub().toString() 
);
+               
+               writer.addAttribute("BuildAction", pom.getAction().toString() );
+               writer.endElement();
+               
+               
+               //close Files and Includes elements
+               writer.endElement();
+               writer.endElement();
+       }
+}
+

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ReferenceWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ReferenceWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ReferenceWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003ReferenceWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,123 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.logging.Log;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+public class VisualStudio2003ReferenceWriter {
+
+       private Log log = null;
+       
+       /**
+        * 
+        * <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = 
"..\..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+       />
+        * 
+        * 
+        * @param log
+        */
+       public VisualStudio2003ReferenceWriter( Log log ){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, Set artifacts, Set references, File 
frameworkHome){
+       
+               writer.startElement("References");
+               
+               log.info("-------------------Adding 
references---------------------");
+               
+               log.info("-------------------Adding implicit 
references------------");
+               
+               for( Iterator i=artifacts.iterator();i.hasNext();){
+                       Artifact a = (Artifact) i.next();
+                       writeArtifact( writer, a, frameworkHome );
+               }
+               
+               log.info("-------------------Adding explicit 
references------------");
+               
+               for( Iterator i=references.iterator();i.hasNext();){
+                       Artifact a = (Artifact) i.next();
+                       writeArtifact( writer, a, frameworkHome );
+               }
+               
+               log.info("-------------------Done------------------------");
+               
+               writer.endElement();
+       }
+       
+       private void writeArtifact(XMLWriter writer, Artifact a , File 
frameworkHome ){
+               
+               //if it is a dotnet assembly and not a jar etc...
+               if( isDotnet( a ) ) {
+                       
+                       if( a.getScope().equals( Artifact.SCOPE_PROVIDED ) ){
+                               writeProvidedReference( writer, a, 
frameworkHome );
+                       }else
+                               writeNormalReference( writer, a );
+                       
+               }else
+                       log.info("Ignoring ref:" + a.getArtifactId() + " as is 
non-dotnet type [" + a.getType()+ "]" );
+       }
+       
+       public void writeNormalReference(XMLWriter writer, Artifact a){
+               
+               String hintPath = a.getFile().getAbsolutePath();
+               String assemblyName = FilenameUtils.removeExtension( 
a.getFile().getName() );
+               String name  = assemblyName;
+               
+               log.info("Adding Ref:" + a.getArtifactId() + "." + a.getType() 
+ " from " + hintPath );
+               
+               writer.startElement("Reference");
+               writer.addAttribute("Name", name);
+               writer.addAttribute("AssemblyName", assemblyName);              
        
+               writer.addAttribute("HintPath", hintPath);
+               writer.endElement();
+       }
+       
+       public void writeProvidedReference(XMLWriter writer, Artifact a, File 
frameworkHome ){
+               
+               String assemblyName = FilenameUtils.removeExtension( 
a.getFile().getName() );
+               String name  = assemblyName;
+               
+               if( a.getGroupId().startsWith("System") ) {
+                       
+                       File f = new File(frameworkHome, a.getArtifactId() + 
"." + a.getType() );
+                       
+                       log.info("Adding System Ref:" + a.getArtifactId() + "." 
+ a.getType() + " from " + f.getAbsoluteFile() );
+                       
+                       if( f.exists() && f.isFile() ){
+                               
+                               writer.startElement("Reference");
+                       
+                               writer.addAttribute("Name", name);
+                               writer.addAttribute("AssemblyName", 
assemblyName);                      
+                               writer.addAttribute("HintPath", 
f.getAbsolutePath() );
+                               writer.endElement();
+                               
+                       }
+                       
+               }else {
+                       log.info("Ignorning Ref [scope=provided and groupId not 
System]:" + a.getArtifactId() + "." + a.getType() + " " + 
a.getFile().getAbsolutePath() );              
+               }
+       }
+       
+       private boolean isDotnet(Artifact a){
+               if(a.getType().equals("dotnet-exe")|| 
+                  a.getType().equals("dotnet-winexe") || 
+                  a.getType().equals("dotnet-library")  || 
+                  a.getType().equals("dotnet-webapp")  ) return true;
+               else
+                       return false;
+       }
+       
+}

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003SettingsWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003SettingsWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003SettingsWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003SettingsWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,67 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugin.vstudio.ProjectSettings;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+
+/**
+ * 
+ *             <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "DrKW.CPDS.Proxy.Authorisation"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Library"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "DrKW.CPDS.Proxy.Authorisation"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+ * 
+ * 
+ * @author stevenc
+ *
+ */
+public class VisualStudio2003SettingsWriter {
+
+       private Log log = null;
+       
+       public VisualStudio2003SettingsWriter(Log log){
+               
+       }
+       
+       public void write(XMLWriter writer, ProjectSettings settings){
+
+               writer.startElement("Settings");
+               writer.addAttribute("ApplicationIcon", 
settings.getApplicationIcon() );
+               writer.addAttribute("AssemblyKeyContainerName", 
settings.getAssemblyKeyContainerName() );
+               writer.addAttribute("AssemblyName", settings.getAssemblyName() 
);
+               writer.addAttribute("AssemblyOriginatorKeyFile", 
settings.getAssemblyOriginatorKeyFile() );
+               writer.addAttribute("DefaultClientScript", 
settings.getDefaultClientScript() );
+               writer.addAttribute("DefaultHTMLPageLayout", 
settings.getDefaultHTMLPageLayout() );
+               writer.addAttribute("DefaultTargetSchema", 
settings.getDefaultTargetSchema() );
+               writer.addAttribute("DelaySign", settings.getDelaySign() );
+               writer.addAttribute("OutputType", settings.getOutputType() );
+               writer.addAttribute("PreBuildEvent", 
settings.getPreBuildEvent() );
+               writer.addAttribute("PostBuildEvent", 
settings.getPostBuildEvent() );
+               writer.addAttribute("RootNamespace", 
settings.getRootNamespace() );
+               writer.addAttribute("RunPostBuildEvent", 
settings.getRunPostBuildEvent() );
+               writer.addAttribute("StartupObject", 
settings.getStartupObject() );
+               
+               writer.endElement();
+               
+       }
+       
+       
+       
+       
+       
+}
+

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003WebInfoWriter.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003WebInfoWriter.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003WebInfoWriter.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003WebInfoWriter.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,25 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import org.apache.maven.plugin.logging.Log;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+public class VisualStudio2003WebInfoWriter {
+
+       private Log log = null;
+       
+       public VisualStudio2003WebInfoWriter( Log log ){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, String webProjectUrl){
+               
+               writer.startElement("VisualStudioUNCWeb");
+               
+               writer.startElement("Web");
+               writer.addAttribute("URLPath", webProjectUrl);
+               
+               writer.endElement(); //end Web
+               
+               writer.endElement();//end VisualStudioUNCWeb
+       }
+}

Added: 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003Writer.java
URL: 
http://svn.apache.org/viewcvs/maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003Writer.java?rev=391065&view=auto
==============================================================================
--- 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003Writer.java
 (added)
+++ 
maven/sandbox/plugins/maven-vstudio-plugin/src/main/java/org/apache/maven/plugin/vstudio/xml/VisualStudio2003Writer.java
 Mon Apr  3 08:15:21 2006
@@ -0,0 +1,65 @@
+package org.apache.maven.plugin.vstudio.xml;
+
+import java.io.File;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugin.vstudio.ProjectSettings;
+import org.apache.maven.plugin.vstudio.VisualStudioFile;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.XMLWriter;
+
+/**
+ * 
+ * <VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{E6E60F5C-A28D-4B3F-A01C-A334F848B9BE}"
+    >
+    </VisualStudioProject>
+ * 
+ * @author stevenc
+ *
+ */
+public class VisualStudio2003Writer {
+
+       private Log log = null;
+       
+       public VisualStudio2003Writer(Log log){
+               this.log = log;
+       }
+       
+       public void write(XMLWriter writer, ProjectSettings settings, 
+                                         VisualStudioFile[] sources, 
VisualStudioFile[] testsources,
+                                         VisualStudioFile[] resources, Set 
artifacts, File frameworkDir, 
+                                         VisualStudioFile pom, Set references 
){
+               
+               writer.startElement("VisualStudioProject");
+               
+               writer.startElement("CSHARP");
+               
+               writer.addAttribute("ProjectType", settings.getProjectType() );
+               writer.addAttribute("ProductVersion", 
settings.getProductVersion() );
+               writer.addAttribute("SchemaVersion", 
settings.getSchemaVersion() );
+               //writer.addAttribute("ProjectGuid", settings.getProjectGuid() 
);
+               
+               writer.startElement("Build");
+               
+               new VisualStudio2003SettingsWriter( this.log ).write( writer, 
settings );
+               
+               new VisualStudio2003ConfigWriter( this.log ).write( writer, 
settings );
+               
+               new VisualStudio2003ReferenceWriter( this.log ).write( writer, 
artifacts, references, frameworkDir );
+               
+               writer.endElement();//end Build
+               
+               new VisualStudio2003FileWriter( this.log ).write( writer, 
settings, sources, testsources, resources, pom );
+               
+               writer.endElement();//end CSHARP
+               
+               writer.endElement();//end VisualStudioProject
+       }
+}


Reply via email to