incubator-nmaven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sisb...@apache.org
Subject svn commit: r539709 [5/7] - in /incubator/nmaven/trunk: ./ archetypes/ archetypes/maven-archetype-netexecutable/ archetypes/maven-archetype-netexecutable/src/ archetypes/maven-archetype-netexecutable/src/main/ archetypes/maven-archetype-netexecutable/s...
Date Sat, 19 May 2007 07:47:53 GMT
Modified: incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/impl/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/impl/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/impl/package.html
(original)
+++ incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/impl/package.html
Sat May 19 00:47:30 2007
@@ -5,19 +5,22 @@
 
   @(#)package.html
 
-   Copyright 2006 Shane Isbell
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
 
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
 
 -->
 </head>

Modified: incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/package.html
(original)
+++ incubator/nmaven/trunk/components/dotnet-registry/src/main/java/org/apache/maven/dotnet/registry/package.html
Sat May 19 00:47:30 2007
@@ -4,20 +4,22 @@
 <!--
 
   @(#)package.html
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
 
-   Copyright 2006 Shane Isbell
+     http://www.apache.org/licenses/LICENSE-2.0
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
 
 -->
 </head>

Modified: incubator/nmaven/trunk/components/dotnet-service/embedder/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-service/embedder/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-service/embedder/pom.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-service/embedder/pom.xml Sat May 19 00:47:30
2007
@@ -1,5 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.maven.dotnet</groupId>
+    <version>0.14-SNAPSHOT</version>
+    <artifactId>dotnet-components</artifactId>
+    <relativePath>..\..\pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.maven.dotnet</groupId>
   <artifactId>dotnet-service-embedder</artifactId>
@@ -9,6 +33,9 @@
   <description>
     NMaven
   </description>
+  <build>
+    <finalName>dotnet-service-embedder</finalName>
+  </build>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.dotnet</groupId>

Modified: incubator/nmaven/trunk/components/dotnet-vendor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/pom.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
@@ -25,4 +43,29 @@
       <version>0.14-SNAPSHOT</version>
     </dependency>
   </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptor>src/assembly/src.xml</descriptor>
+          <outputDirectory>src/target</outputDirectory>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/Vendor.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/Vendor.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/Vendor.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/Vendor.java
Sat May 19 00:47:30 2007
@@ -32,7 +32,10 @@
     MONO( "MONO" ),
 
     /**DotGNU Vendor*/
-    DOTGNU( "DotGNU" );
+    DOTGNU( "DotGNU" ),
+
+    /**NULL Vendor*/
+    NULL("NULL");
 
     /**
      * The vendor name

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoRepository.java
Sat May 19 00:47:30 2007
@@ -88,10 +88,18 @@
      * @param vendorInfo the vendor info
      * @return file pointing to the .NET framework installation root used for compiling artifacts
      * @throws org.apache.maven.dotnet.PlatformUnsupportedException
+     *
      */
     File getInstallRootFor( VendorInfo vendorInfo )
         throws PlatformUnsupportedException;
 
+    /**
+     * Returns file pointing to the .NET SDK installation root used for compiling artifacts.
+     *
+     * @param vendorInfo the vendor info
+     * @return file pointing to the .NET SDK installation root used for compiling artifacts
+     * @throws PlatformUnsupportedException
+     */
     File getSdkInstallRootFor( VendorInfo vendorInfo )
         throws PlatformUnsupportedException;
 
@@ -101,5 +109,17 @@
      * @return true if this repository exists (and can be used), otherwise returns false
      */
     boolean exists();
+
+    /**
+     *
+     * 
+     * @param vendor
+     * @param frameworkVersion
+     * @param artifactType
+     * @return
+     * @throws PlatformUnsupportedException
+     */
+    File getGlobalAssemblyCacheDirectoryFor( Vendor vendor, String frameworkVersion, String
artifactType )
+        throws PlatformUnsupportedException;
 
 }

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/SettingsRepository.java
Sat May 19 00:47:30 2007
@@ -42,7 +42,7 @@
  *
  * @author Shane Isbell
  */
-public class SettingsRepository
+public final class SettingsRepository
     implements Repository
 {
 
@@ -144,7 +144,7 @@
     {
         if ( vendor == null || vendorVersion == null || frameworkVersion == null )
         {
-            throw new PlatformUnsupportedException( "NMAVEN-104-001: One of more of the parameters
is null: Vendor = " +
+            throw new PlatformUnsupportedException( "NMAVEN-104-004: One of more of the parameters
is null: Vendor = " +
                 vendor + ", Vendor Version = " + vendorVersion + ", Framework Version = "
+ frameworkVersion );
         }
         for ( Vendor v : vendors )
@@ -162,8 +162,7 @@
                 }
             }
         }
-        throw new PlatformUnsupportedException( "NMAVEN-104-003: Unable to find install root:
Vendor = " + vendor +
-            ", Vendor Version = " + vendorVersion + ", Framework Version = " + frameworkVersion
);
+        return null;
     }
 
     /**
@@ -176,7 +175,7 @@
      * @return the install root for the .NET framework
      * @throws org.apache.maven.dotnet.PlatformUnsupportedException if there is no install
root found for the specified parameters
      */
-    File getInstallRootFor( String vendor, String vendorVersion, String frameworkVersion
)
+    public File getInstallRootFor( String vendor, String vendorVersion, String frameworkVersion
)
         throws PlatformUnsupportedException
     {
         if ( vendor == null || vendorVersion == null || frameworkVersion == null )
@@ -212,5 +211,4 @@
     {
         return defaultSetup;
     }
-
 }

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java
Sat May 19 00:47:30 2007
@@ -35,7 +35,7 @@
  *
  * @author Shane Isbell
  */
-public class StateMachineProcessorImpl
+public final class StateMachineProcessorImpl
     implements StateMachineProcessor, LogEnabled, Initializable
 {
 

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoRepositoryImpl.java
Sat May 19 00:47:30 2007
@@ -22,6 +22,7 @@
 import org.apache.maven.dotnet.vendor.VendorInfo;
 import org.apache.maven.dotnet.vendor.VendorInfoMatchPolicy;
 import org.apache.maven.dotnet.vendor.InvalidVersionFormatException;
+import org.apache.maven.dotnet.vendor.Vendor;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
 import org.apache.maven.dotnet.PlatformUnsupportedException;
 
@@ -29,6 +30,7 @@
 import java.util.Collections;
 import java.util.ArrayList;
 import java.util.Set;
+import java.util.HashSet;
 import java.io.File;
 
 import org.codehaus.plexus.logging.LogEnabled;
@@ -92,7 +94,8 @@
     {
         SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find(
"nmaven-settings" );
         return settingsRepository.getSdkInstallRootFor( vendorInfo.getVendor().getVendorName(),
-                                                     vendorInfo.getVendorVersion(), vendorInfo.getFrameworkVersion()
);
+                                                        vendorInfo.getVendorVersion(),
+                                                        vendorInfo.getFrameworkVersion()
);
     }
 
     /**
@@ -182,5 +185,72 @@
             }
         }
         return true;
+    }
+
+    public File getGlobalAssemblyCacheDirectoryFor( Vendor vendor, String frameworkVersion,
String artifactType )
+        throws PlatformUnsupportedException
+    {
+        if ( artifactType.equals( "gac_generic" ) )
+        {
+            if ( vendor.equals( Vendor.MICROSOFT ) &&
+                ( frameworkVersion.equals( "2.0.50727" ) || frameworkVersion.equals( "3.0"
) ) )
+            {
+                return new File( "C:\\WINDOWS\\assembly\\GAC_MSIL\\" );
+            }
+            else if ( vendor.equals( Vendor.MICROSOFT ) && frameworkVersion.equals(
"1.1.4322" ) )
+            {
+                return new File( "C:\\WINDOWS\\assembly\\GAC\\" );
+            }
+            else if ( vendor.equals( Vendor.MONO ) && exists() )
+            {
+                List<VendorInfo> vendorInfos =
+                    getVendorInfosFor( vendor.getVendorName(), null, frameworkVersion, true
);
+                Set<String> vendorVersions = new HashSet<String>();
+                for ( VendorInfo vendorInfo : vendorInfos )
+                {
+                    vendorVersions.add( vendorInfo.getVendorVersion() );
+                }
+                String maxVersion;
+                try
+                {
+                    maxVersion = getMaxVersion( vendorVersions );
+                }
+                catch ( InvalidVersionFormatException e )
+                {
+                    throw new PlatformUnsupportedException( "NMAVEN-xxx-000: Invalid version
format", e );
+                }
+
+                for ( VendorInfo vendorInfo : vendorInfos )
+                {
+                    if ( vendorInfo.getVendorVersion().equals( maxVersion ) )
+                    {
+                        File sdkInstallRoot = getSdkInstallRootFor( vendorInfo );
+                        File gacRoot = new File( sdkInstallRoot.getParentFile().getAbsolutePath()
+ "/lib/mono/gac" );
+                        if ( !gacRoot.exists() )
+                        {
+                            throw new PlatformUnsupportedException(
+                                "NMAVEN-xxx-000: The Mono GAC path does not exist: Path =
" +
+                                    gacRoot.getAbsolutePath() );
+                        }
+                        return gacRoot;
+                    }
+                }
+                
+                //TODO: MONO Support for Linux (Separate file containg installs)
+            }
+        }
+        else if ( artifactType.equals( "gac" ) )
+        {
+            return new File( "C:\\WINDOWS\\assembly\\GAC\\" );
+        }
+        else if ( artifactType.equals( "gac_32" ) )
+        {
+            return new File( "C:\\WINDOWS\\assembly\\GAC_32\\" );
+        }
+        else if ( artifactType.equals( "gac_msil" ) )
+        {
+            return new File( "C:\\WINDOWS\\assembly\\GAC_MSIL\\" );
+        }
+        throw new PlatformUnsupportedException("NMAVEN-xxx-000: Could not locate a valid
GAC");
     }
 }

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
Sat May 19 00:47:30 2007
@@ -41,13 +41,6 @@
 final class VendorInfoTransitionRuleFactory
 {
 
-    /**
-     * A registry component of repository (config) files
-     */
-    private RepositoryRegistry repositoryRegistry;
-
-    private SettingsRepository settingsRepository;
-
     private VendorInfoRepository vendorInfoRepository;
 
     /**
@@ -65,14 +58,17 @@
      */
     private String defaultFrameworkVersion;
 
-    private List<VendorInfo> vendorInfos;
-
     /**
      * A logger for writing log messages
      */
     private Logger logger;
 
     /**
+     * A version matcher
+     */
+    VersionMatcher versionMatcher;
+
+    /**
      * Default constructor
      */
     VendorInfoTransitionRuleFactory()
@@ -90,7 +86,6 @@
     void init( RepositoryRegistry repositoryRegistry, VendorInfoRepository vendorInfoRepository,
Logger logger )
         throws InitializationException
     {
-        this.repositoryRegistry = repositoryRegistry;
         this.vendorInfoRepository = vendorInfoRepository;
         this.logger = logger;
         if ( repositoryRegistry == null )
@@ -98,12 +93,11 @@
             throw new InitializationException( "NMAVEN-103-000: Unable to find the repository
registry" );
         }
 
-        settingsRepository = (SettingsRepository) repositoryRegistry.find( "nmaven-settings"
);
+        SettingsRepository settingsRepository = (SettingsRepository) repositoryRegistry.find(
"nmaven-settings" );
         if ( settingsRepository == null )
         {
             throw new InitializationException(
                 "NMAVEN-103-001: Settings Repository is null. Aborting initialization of
VendorInfoTranstionRuleFactory" );
-
         }
 
         try
@@ -117,7 +111,7 @@
         }
         defaultVendorVersion = settingsRepository.getDefaultSetup().getVendorVersion().trim();
         defaultFrameworkVersion = settingsRepository.getDefaultSetup().getFrameworkVersion().trim();
-        vendorInfos = settingsRepository.getVendorInfos();
+        this.versionMatcher = new VersionMatcher();
     }
 
     VendorInfoTransitionRule createPostProcessRule()
@@ -127,10 +121,11 @@
             public VendorInfoState process( VendorInfo vendorInfo )
             {
                 logger.debug( "NMAVEN-103-034: Entering State = Post Process" );
-                if ( (vendorInfo.getExecutablePaths() == null ||
-                    vendorInfo.getExecutablePaths().size() == 0) && vendorInfoRepository.exists()
)
+                if ( ( vendorInfo.getExecutablePaths() == null || vendorInfo.getExecutablePaths().size()
== 0 ) &&
+                    vendorInfoRepository.exists() )
                 {
                     File sdkInstallRoot = null;
+                    List<File> executablePaths = new ArrayList<File>();
                     try
                     {
                         sdkInstallRoot = vendorInfoRepository.getSdkInstallRootFor( vendorInfo
);
@@ -140,19 +135,21 @@
                         logger.debug( "NMAVEN-103-36: Failed to resolve install sdk root."
);
                     }
                     try
-                    {
-                        List<File> executablePaths = new ArrayList<File>();
+                    {                       
                         executablePaths.add( vendorInfoRepository.getInstallRootFor( vendorInfo
) );
-                        if ( sdkInstallRoot != null )
-                        {
-                            executablePaths.add( sdkInstallRoot );
-                        }
                         vendorInfo.setExecutablePaths( executablePaths );
                     }
                     catch ( PlatformUnsupportedException e )
                     {
                         logger.debug( "NMAVEN-103-35: Failed to resolve install root." );
                     }
+                    finally
+                    {
+                        if ( sdkInstallRoot != null )
+                        {
+                            executablePaths.add( sdkInstallRoot );
+                        }
+                    }
                 }
                 return VendorInfoState.EXIT;
             }
@@ -256,10 +253,10 @@
             public VendorInfoState process( VendorInfo vendorInfo )
             {
                 logger.debug( "NMAVEN-103-007: Entering State = NFT" );
-                if ( vendorInfo.getFrameworkVersion().equals( defaultFrameworkVersion ) )
+                if ( vendorInfo.getFrameworkVersion().equals( defaultFrameworkVersion ) &&
+                    vendorInfo.getVendor().equals( defaultVendor ) )
                 {
                     vendorInfo.setVendorVersion( defaultVendorVersion );
-                    vendorInfo.setVendor( defaultVendor );
                     return VendorInfoState.NTT;
                 }
                 else
@@ -267,28 +264,57 @@
                     List<VendorInfo> v = vendorInfoRepository.getVendorInfosFor( vendorInfo,
true );
                     if ( !v.isEmpty() )
                     {
+                        Set<String> vendorVersions = new HashSet<String>();
                         for ( VendorInfo vi : v )
                         {
                             if ( vi.getFrameworkVersion().equals( vendorInfo.getFrameworkVersion()
) )
                             {
-                                vendorInfo.setVendorVersion( vi.getVendorVersion() );
-                                vendorInfo.setVendor( vi.getVendor() );
-                                return VendorInfoState.NTT;
+                                vendorVersions.add( vi.getVendorVersion() );
                             }
                         }
-                        return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo
);
+
+                        if ( vendorVersions.size() > 0 )
+                        {
+                            try
+                            {
+                                vendorInfo.setVendorVersion( vendorInfoRepository.getMaxVersion(
vendorVersions ) );
+                            }
+                            catch ( InvalidVersionFormatException e )
+                            {
+                                logger.warn( "NMAVEN-103-039: Bad nmaven-settings.xml file",
e );
+                                return createVendorInfoSetterForNFT_NoSettings().process(
vendorInfo );
+                            }
+                            return VendorInfoState.NTT;
+                        }
+                        else
+                        {
+                            return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo
);
+                        }
                     }
                     else
                     {
                         v = vendorInfoRepository.getVendorInfosFor( vendorInfo, false );
+                        Set<String> vendorVersions = new HashSet<String>();
                         for ( VendorInfo vi : v )
                         {
                             if ( vi.getFrameworkVersion().equals( vendorInfo.getFrameworkVersion()
) )
                             {
-                                vendorInfo.setVendorVersion( vi.getVendorVersion() );
-                                vendorInfo.setVendor( vi.getVendor() );
-                                return VendorInfoState.NTT;
+                                vendorVersions.add( vi.getVendorVersion() );
+                            }
+                        }
+
+                        if ( vendorVersions.size() > 0 )
+                        {
+                            try
+                            {
+                                vendorInfo.setVendorVersion( vendorInfoRepository.getMaxVersion(
vendorVersions ) );
+                            }
+                            catch ( InvalidVersionFormatException e )
+                            {
+                                logger.warn( "NMAVEN-103-040: Bad nmaven-settings.xml file",
e );
+                                return createVendorInfoSetterForNFT_NoSettings().process(
vendorInfo );
                             }
+                            return VendorInfoState.NTT;
                         }
                         return createVendorInfoSetterForNFT_NoSettings().process( vendorInfo
);
                     }
@@ -328,30 +354,64 @@
                     List<VendorInfo> v = vendorInfoRepository.getVendorInfosFor( vendorInfo,
true );
                     if ( !v.isEmpty() )
                     {
+                        Set<String> frameworkVersions = new HashSet<String>();
                         for ( VendorInfo vi : v )
                         {
                             if ( vi.getVendorVersion().equals( vendorInfo.getVendorVersion()
) )
                             {
-                                vendorInfo.setFrameworkVersion( vi.getFrameworkVersion()
);
-                                vendorInfo.setVendor( vi.getVendor() );
-                                return VendorInfoState.NTT;
+                                frameworkVersions.add( vi.getFrameworkVersion() );
+                            }
+                        }
+
+                        if ( frameworkVersions.size() > 0 )
+                        {
+                            try
+                            {
+                                vendorInfo.setFrameworkVersion(
+                                    vendorInfoRepository.getMaxVersion( frameworkVersions
) );
                             }
+                            catch ( InvalidVersionFormatException e )
+                            {
+                                logger.warn( "NMAVEN-103-037: Bad nmaven-settings.xml file",
e );
+                                return createVendorInfoSetterForNTF_NoSettings().process(
vendorInfo );
+                            }
+                            return VendorInfoState.NTT;
+                        }
+                        else
+                        {
+                            return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo
);
                         }
-                        return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo
);
                     }
                     else
                     {
                         v = vendorInfoRepository.getVendorInfosFor( vendorInfo, false );
+                        Set<String> frameworkVersions = new HashSet<String>();
                         for ( VendorInfo vi : v )
                         {
                             if ( vi.getVendorVersion().equals( vendorInfo.getVendorVersion()
) )
                             {
-                                vendorInfo.setFrameworkVersion( vi.getFrameworkVersion()
);
-                                vendorInfo.setVendor( vi.getVendor() );
-                                return VendorInfoState.NTT;
+                                frameworkVersions.add( vi.getFrameworkVersion() );
+                            }
+                        }
+
+                        if ( frameworkVersions.size() > 0 )
+                        {
+                            try
+                            {
+                                vendorInfo.setFrameworkVersion(
+                                    vendorInfoRepository.getMaxVersion( frameworkVersions
) );
                             }
+                            catch ( InvalidVersionFormatException e )
+                            {
+                                logger.warn( "NMAVEN-103-038: Bad nmaven-settings.xml file",
e );
+                                return createVendorInfoSetterForNTF_NoSettings().process(
vendorInfo );
+                            }
+                            return VendorInfoState.NTT;
+                        }
+                        else
+                        {
+                            return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo
);
                         }
-                        return createVendorInfoSetterForNTF_NoSettings().process( vendorInfo
);
                     }
                 }
             }
@@ -539,7 +599,6 @@
                         }
                     }
                     return createVendorInfoSetterForFFT_NoSettings().process( vendorInfo
);
-
                 }
             }
         };
@@ -845,4 +904,5 @@
             }
         };
     }
+    //TODO: add additional DotGNU states
 }

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VersionMatcher.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VersionMatcher.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VersionMatcher.java
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VersionMatcher.java
Sat May 19 00:47:30 2007
@@ -127,12 +127,32 @@
         while ( i.hasNext() )
         {
             String testValue = (String) i.next();
-            if ( isGreaterThan( testValue, maxVersion ) )
+            if ( isGreaterThan(maxVersion, testValue ) )
             {
                 maxVersion = testValue;
             }
         }
         return maxVersion;
+    }
+
+    String getMinVersion( Set<String> versions )
+        throws InvalidVersionFormatException
+    {
+        if ( versions.isEmpty() )
+        {
+            return null;
+        }
+        Iterator i = versions.iterator();
+        String minVersion = (String) i.next();
+        while ( i.hasNext() )
+        {
+            String testValue = (String) i.next();
+            if ( isGreaterThan( testValue, minVersion ) )
+            {
+                minVersion = testValue;
+            }
+        }
+        return minVersion;
     }
 
     /**

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/package.html
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/package.html
Sat May 19 00:47:30 2007
@@ -5,19 +5,22 @@
 
   @(#)package.html
 
-   Copyright 2006 Shane Isbell
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
 
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
 
 -->
 </head>

Modified: incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/package.html
(original)
+++ incubator/nmaven/trunk/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/package.html
Sat May 19 00:47:30 2007
@@ -5,19 +5,22 @@
 
   @(#)package.html
 
-   Copyright 2006 Shane Isbell
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
 
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
 
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
 
 -->
 </head>

Modified: incubator/nmaven/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/pom.xml (original)
+++ incubator/nmaven/trunk/components/pom.xml Sat May 19 00:47:30 2007
@@ -1,5 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.maven.dotnet</groupId>
+    <version>0.14-SNAPSHOT</version>
+    <artifactId>dotnet-project</artifactId>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.maven.dotnet</groupId>
   <artifactId>dotnet-components</artifactId>
@@ -119,8 +142,12 @@
     <module>dotnet-model</module>
     <module>dotnet-artifact</module>
     <module>dotnet-assembler</module>
+    <module>dotnet-embedder</module>
     <module>dotnet-executable</module>
+    <module>dotnet-jetty</module>    
+    <module>dotnet-plugin</module>
     <module>dotnet-registry</module>
+    <module>dotnet-service/embedder</module>
     <module>dotnet-vendor</module>
   </modules>
   <dependencies>
@@ -169,11 +196,4 @@
       </plugins>
     </pluginManagement>
   </build>
-  <distributionManagement>
-    <site>
-      <id>nmaven-apache-site</id>
-      <name>NMaven Site</name>
-      <url>file://${basedir}/../../www</url>
-    </site>
-  </distributionManagement>
 </project>

Modified: incubator/nmaven/trunk/integration-tests/tests/README.txt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/integration-tests/tests/README.txt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/integration-tests/tests/README.txt (original)
+++ incubator/nmaven/trunk/integration-tests/tests/README.txt Sat May 19 00:47:30 2007
@@ -22,4 +22,7 @@
 it0022: Signing of an assembly (verify manually by looking for the signature in the manifest)
 it0023: CS-MS: .NET 3.0 compiling
 it0024: CS-MS: .NET 3.0 NUnit
-it0027: Compiling CS with flat directory structure
\ No newline at end of file
+it0027: Compiling CS with flat directory structure
+it0028: Deploys a snapshot dll to a remote repo
+it0029: Deploys a non-snapshot dll to a remote repo
+it0030: Pulls a snapshot dll and non-snapshot dll from a remote repo
\ No newline at end of file

Modified: incubator/nmaven/trunk/integration-tests/tests/integration-tests.txt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/integration-tests/tests/integration-tests.txt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/integration-tests/tests/integration-tests.txt (original)
+++ incubator/nmaven/trunk/integration-tests/tests/integration-tests.txt Sat May 19 00:47:30
2007
@@ -7,12 +7,12 @@
 it0007
 it0010
 it0011
-it0012
-it0015
-it0016
-it0017
 it0018
 it0019
 it0020
 it0021
-it0022
\ No newline at end of file
+it0022
+it0026
+it0028
+it0029
+it0030



Mime
View raw message