You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/03/02 21:02:27 UTC

svn commit: r513948 - in /incubator/nmaven/branches/SI_IDE/components: dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/ dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/ dotnet-vendor/src/main/java/org/apache/maven/dot...

Author: sisbell
Date: Fri Mar  2 13:02:26 2007
New Revision: 513948

URL: http://svn.apache.org/viewvc?view=rev&rev=513948
Log:
Fixed bug: if the plugin passed an empty vendor version or vendor framework version, the state machine processor would treat it as valid and not try to resolved the empty value. Also added a post process state for filling in executable paths. These bugs caused NMaven to only use the system path for executables.

Modified:
    incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
    incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoState.java
    incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java
    incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java?view=diff&rev=513948&r1=513947&r2=513948
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java Fri Mar  2 13:02:26 2007
@@ -72,7 +72,7 @@
     }
 
     /**
-     * @see 
+     * @see
      */
     public CompilerExecutable getCompilerExecutableFor( CompilerRequirement compilerRequirement,
                                                         CompilerConfig compilerConfig, MavenProject project,
@@ -98,7 +98,7 @@
             throw new PlatformUnsupportedException( "NMAVEN-066-012: Vendor could not be found: " + vendorInfo );
         }
 
-        logger.info( "NMAVEN-066-012: Found Vendor = " + vendorInfo );
+        logger.info( "NMAVEN-066-013: Found Vendor = " + vendorInfo );
         compilerRequirement.setVendor( vendorInfo.getVendor() );
         compilerRequirement.setVendorVersion( vendorInfo.getVendorVersion() );
         compilerRequirement.setFrameworkVersion( vendorInfo.getFrameworkVersion() );
@@ -133,7 +133,10 @@
         throws PlatformUnsupportedException
     {
 
-        if(commands == null) commands = new ArrayList<String>();
+        if ( commands == null )
+        {
+            commands = new ArrayList<String>();
+        }
 
         try
         {
@@ -229,9 +232,22 @@
 
         ExecutableConfig executableConfig = ExecutableConfig.Factory.createDefaultExecutableConfig();
         executableConfig.setCommands( commands );
+
         if ( netHome != null )
         {
+            logger.info( "NMAVEN-066-014: Found executable path: Path = " + netHome.getAbsolutePath() );
             executableConfig.setExecutionPath( netHome.getAbsolutePath() );
+        }
+        else if ( vendorInfo.getExecutablePath() != null && vendorInfo.getExecutablePath().exists() )
+        {
+            logger.info(
+                "NMAVEN-066-015: Found executable path: Path = " + vendorInfo.getExecutablePath().getAbsolutePath() );
+            executableConfig.setExecutionPath( vendorInfo.getExecutablePath().getAbsolutePath() );
+        }
+        else
+        {
+            logger.info( "NMAVEN-066-016: Did not find executable path, will try system path: Executable Path = " +
+                vendorInfo.getExecutablePath() );
         }
         executableContext.init( executableRequirement, executableConfig, project, capabilityMatcher );
 

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoState.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoState.java?view=diff&rev=513948&r1=513947&r2=513948
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoState.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/VendorInfoState.java Fri Mar  2 13:02:26 2007
@@ -118,7 +118,12 @@
     /**
      * Null state of VendorInfo object
      */
-    NULL;
+    NULL,
+
+    /**
+     * Post processing state
+     */
+    POST_PROCESS;
 
     /**
      * Returns the completion state of the specified vendor info
@@ -131,6 +136,16 @@
         if ( vendorInfo == null )
         {
             return NULL;
+        }
+
+        if ( vendorInfo.getVendorVersion() != null && vendorInfo.getVendorVersion().trim().equals( "" ) )
+        {
+            vendorInfo.setVendorVersion( null );
+        }
+
+        if ( vendorInfo.getFrameworkVersion() != null && vendorInfo.getFrameworkVersion().trim().equals( "" ) )
+        {
+            vendorInfo.setFrameworkVersion( null );
         }
 
         if ( vendorInfo.getVendor() == null )

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java?view=diff&rev=513948&r1=513947&r2=513948
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/StateMachineProcessorImpl.java Fri Mar  2 13:02:26 2007
@@ -80,7 +80,7 @@
         transitionRules.put( VendorInfoState.MTF, factory.createVendorInfoSetterForMTF() );
         transitionRules.put( VendorInfoState.MFT, factory.createVendorInfoSetterForMFT() );
         transitionRules.put( VendorInfoState.NTT, factory.createVendorInfoSetterForNTT() );
-
+        transitionRules.put( VendorInfoState.POST_PROCESS, factory.createPostProcessRule() );
         try
         {
             factory.init( repositoryRegistry, vendorInfoRepository, logger );

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java?view=diff&rev=513948&r1=513947&r2=513948
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java (original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-vendor/src/main/java/org/apache/maven/dotnet/vendor/impl/VendorInfoTransitionRuleFactory.java Fri Mar  2 13:02:26 2007
@@ -118,6 +118,29 @@
         vendorInfos = settingsRepository.getVendorInfos();
     }
 
+    VendorInfoTransitionRule createPostProcessRule()
+    {
+        return new VendorInfoTransitionRule()
+        {
+            public VendorInfoState process( VendorInfo vendorInfo )
+            {
+                logger.debug( "NMAVEN-103-034: Entering State = Post Process" );
+                if ( vendorInfo.getExecutablePath() == null )
+                {
+                    try
+                    {
+                        vendorInfo.setExecutablePath( vendorInfoRepository.getInstallRootFor( vendorInfo ) );
+                    }
+                    catch ( PlatformUnsupportedException e )
+                    {
+                        logger.debug( "NMAVEN-103-35: Failed to resolve install root." );
+                    }
+                }
+                return VendorInfoState.EXIT;
+            }
+        };
+    }
+
     /**
      * Returns the vendor info transition rule for state: Vendor is Novell, vendor version exists, framework version exists.
      *
@@ -130,7 +153,7 @@
             public VendorInfoState process( VendorInfo vendorInfo )
             {
                 logger.debug( "NMAVEN-103-003: Entering State = NTT" );
-                return VendorInfoState.EXIT;
+                return VendorInfoState.POST_PROCESS;
             }
         };
     }
@@ -146,7 +169,7 @@
                 {
                     vendorInfo.setVendorVersion( defaultVendorVersion );
                     vendorInfo.setFrameworkVersion( defaultFrameworkVersion );
-                    return VendorInfoState.EXIT;
+                    return VendorInfoState.POST_PROCESS;
                 }
                 else
                 {
@@ -159,7 +182,7 @@
                             {
                                 vendorInfo.setVendorVersion( vi.getVendorVersion() );
                                 vendorInfo.setFrameworkVersion( "2.0.50727" );
-                                return VendorInfoState.EXIT;
+                                return VendorInfoState.POST_PROCESS;
                             }
                         }
                     }
@@ -173,7 +196,7 @@
                                 vendorInfo.setVendorVersion( vi.getVendorVersion() );
                                 vendorInfo.setFrameworkVersion(
                                     "2.0.50727" );  //TODO: this should be according to max version
-                                return VendorInfoState.EXIT;
+                                return VendorInfoState.POST_PROCESS;
                             }
                         }
                     }
@@ -203,7 +226,7 @@
             public VendorInfoState process( VendorInfo vendorInfo )
             {
                 logger.debug( "NMAVEN-103-006: Entering State = NFT" );
-                return VendorInfoState.EXIT; //NO WAY TO KNOW
+                return VendorInfoState.POST_PROCESS; //NO WAY TO KNOW
             }
         };
     }
@@ -511,7 +534,7 @@
                 }
                 catch ( PlatformUnsupportedException e )
                 {
-                    return VendorInfoState.EXIT;
+                    return VendorInfoState.POST_PROCESS;
                 }
                 return ( vendorInfo.getVendor().equals( Vendor.MICROSOFT ) ) ? VendorInfoState.MFT
                     : VendorInfoState.NFT;
@@ -534,7 +557,7 @@
                 }
                 catch ( PlatformUnsupportedException e )
                 {
-                    return VendorInfoState.EXIT;
+                    return VendorInfoState.POST_PROCESS;
                 }
                 if ( ( vendorVersion.equals( "2.0.50727" ) || vendorVersion.equals( "1.1.4322" ) ) &&
                     defaultVendor.equals( Vendor.MICROSOFT ) )
@@ -594,7 +617,7 @@
                 }
                 catch ( PlatformUnsupportedException e )
                 {
-                    return VendorInfoState.EXIT;
+                    return VendorInfoState.POST_PROCESS;
                 }
                 return ( vendorInfo.getVendor().equals( Vendor.MICROSOFT ) ) ? VendorInfoState.MFF
                     : VendorInfoState.NFF;
@@ -612,7 +635,7 @@
                 vendorInfo.setVendor( defaultVendor );
                 vendorInfo.setVendorVersion( defaultVendorVersion );
                 vendorInfo.setFrameworkVersion( defaultFrameworkVersion );
-                return VendorInfoState.EXIT;
+                return VendorInfoState.POST_PROCESS;
             }
         };
     }
@@ -625,7 +648,7 @@
             public VendorInfoState process( VendorInfo vendorInfo )
             {
                 logger.debug( "NMAVEN-103-018: Entering State = MTT" );
-                return VendorInfoState.EXIT;
+                return VendorInfoState.POST_PROCESS;
             }
         };
     }
@@ -738,7 +761,7 @@
                 logger.debug( "NMAVEN-103-023: Entering State = GFF" );
                 vendorInfo.setFrameworkVersion( "2.0.50727" );
                 vendorInfo.setVendorVersion( "2.0.50727" );
-                return VendorInfoState.EXIT;
+                return VendorInfoState.POST_PROCESS;
             }
         };
     }
@@ -754,7 +777,7 @@
                 {
                     vendorInfo.setVendorVersion( defaultVendorVersion );
                     vendorInfo.setFrameworkVersion( "2.0.50727" );
-                    return VendorInfoState.EXIT;
+                    return VendorInfoState.POST_PROCESS;
                 }
                 else
                 {
@@ -773,11 +796,11 @@
                         String maxVersion = vendorInfoRepository.getMaxVersion( versions );
                         vendorInfo.setVendorVersion( maxVersion );
                         vendorInfo.setFrameworkVersion( "2.0.50727" );
-                        return VendorInfoState.EXIT;
+                        return VendorInfoState.POST_PROCESS;
                     }
                     catch ( InvalidVersionFormatException e )
                     {
-                        logger.info( "NMAVEN-103-030: Invalid version. Unable to determine best vendor version", e );
+                        logger.info( "NMAVEN-103-031: Invalid version. Unable to determine best vendor version", e );
                         return createVendorInfoSetterForGFF_NoSettings().process( vendorInfo );
                     }
                 }