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 + } +}