incubator-nmaven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sisb...@apache.org
Subject svn commit: r512377 - in /incubator/nmaven/branches/SI_IDE: components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ plugins/maven-install-plugin/src/main...
Date Tue, 27 Feb 2007 20:02:54 GMT
Author: sisbell
Date: Tue Feb 27 12:02:53 2007
New Revision: 512377

URL: http://svn.apache.org/viewvc?view=rev&rev=512377
Log:
Added ability to install a file (without meta-data) into the local repo. This is needed to
install the dll wrapper for netmodules, so that the IDE can reference the assemblies.

Modified:
    incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java
    incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
    incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java
    incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java?view=diff&rev=512377&r1=512376&r2=512377
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java
(original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java
Tue Feb 27 12:02:53 2007
@@ -42,7 +42,7 @@
      * will also check whether an exe.config file is associated with the artifact and install
the exe.config into
      * the local maven repository. This will allow installed artifacts, with their associated
configuration information,
      * to be directly executed from the local maven repository.
-     *
+     * <p/>
      * Typically the artifact parameter will be obtained directly through the maven project:
      * <code>MavenProject.getArtifact</code>. In those cases where the MavenProject
object is unavailable, then
      * you can use the <code>installFile</code> method from this interface.
@@ -66,6 +66,19 @@
      * @throws ArtifactInstallationException if there is a problem installing the artifact
      */
     void installFile( String groupId, String artifactId, String version, String packaging,
File pomFile )
+        throws ArtifactInstallationException;
+
+    /**
+     * Installs a file into the local maven repository, without generating a pom.xml. This
is used for placing
+     * files and resources into the local repository, where there are no explicit dependencies
(as given in the pom file).
+     *
+     * @param groupId     the group id of the file to install
+     * @param artifactId  the artifact id of the file to install
+     * @param version     the version of the file to install
+     * @param installFile the file to install
+     * @throws ArtifactInstallationException if there is a problem installing the artifact
+     */
+    void installFileWithNoPom( String groupId, String artifactId, String version, File installFile
)
         throws ArtifactInstallationException;
 
     /**

Modified: incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java?view=diff&rev=512377&r1=512376&r2=512377
==============================================================================
--- incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
(original)
+++ incubator/nmaven/branches/SI_IDE/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
Tue Feb 27 12:02:53 2007
@@ -24,7 +24,6 @@
 import org.apache.maven.dotnet.artifact.ApplicationConfig;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.installer.ArtifactInstallationException;
@@ -46,7 +45,6 @@
 import java.io.FileReader;
 import java.util.List;
 import java.util.ArrayList;
-import java.util.Collections;
 
 /**
  * Provides an implementation of the <code>ArtifactInstaller</code> interface.
@@ -129,9 +127,9 @@
         {
             List<Dependency> dependencies = project.getDependencies();
             List<Dependency> newDependencies = new ArrayList<Dependency>();
-            for(Dependency dependency : dependencies)
+            for ( Dependency dependency : dependencies )
             {
-                if(!dependency.getType().equals("gac"))
+                if ( !dependency.getType().equals( "gac" ) )
                 {
                     newDependencies.add( dependency );
                 }
@@ -187,6 +185,15 @@
             if ( artifact.getFile() != null && artifact.getFile().exists() )//maybe
just a test compile and no install
             {
                 mavenInstaller.install( artifact.getFile(), artifact, artifactRepository
);
+                //Installing Linked file for IDE:
+                /*
+                File linkedFile =
+                    new File( artifact.getFile().getParent() + File.separatorChar + artifact.getArtifactId()
+ ".dll" );
+                if ( artifact.getType().equals( "module" ) && linkedFile.exists()
)
+                {
+                    mavenInstaller.install( linkedFile, artifact, artifactRepository );
+                }
+                */
             }
         }
         catch ( ArtifactInstallationException e )
@@ -244,6 +251,32 @@
 
     }
 
+    public void installFileWithNoPom( String groupId, String artifactId, String version,
File installFile )
+        throws ArtifactInstallationException {
+        StringBuffer path = new StringBuffer();
+        path.append( localRepository.getAbsolutePath() ).append( File.separator );
+        for ( String id : groupId.split( "[.]" ) )
+        {
+            path.append( id ).append( File.separator );
+        }
+
+        path.append( artifactId ).append( File.separator )
+            .append( version ).append( File.separator );
+
+            logger.info( "NMAVEN-002-014: Installing File: From = " +
+                installFile.getAbsolutePath() + ", To = " + path.toString() + artifactId
+
+                ".dll" );
+            try
+            {
+                FileUtils.copyFileToDirectory( installFile, new File( path.toString() ) );
+            }
+            catch ( IOException e )
+            {
+                throw new ArtifactInstallationException( "NMAVEN-002-015: Failed to copy
artifact to local repository",
+                                                         e );
+            }
+    }
+
     /**
      * @see org.apache.maven.dotnet.artifact.ArtifactInstaller#installNetModulesToTargetDirectory(org.apache.maven.artifact.Artifact)
      */
@@ -368,7 +401,7 @@
             throw new IOException( "NMAVEN-002-013: Unable to read pom file" );
         }
         List<Dependency> dest = new ArrayList<Dependency>();
-        dest.addAll( model.getDependencies());
+        dest.addAll( model.getDependencies() );
         for ( Dependency dependency : dest )
         {
             model.removeDependency( dependency );

Modified: incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java?view=diff&rev=512377&r1=512376&r2=512377
==============================================================================
--- incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java
(original)
+++ incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java
Tue Feb 27 12:02:53 2007
@@ -94,16 +94,6 @@
     public void execute()
         throws MojoExecutionException
     {
-        try
-        {
-            nmavenRegistry.createRepositoryRegistry();
-        }
-        catch ( IOException e )
-        {
-            throw new MojoExecutionException(
-                "NMAVEN-1000-001: Failed to create the repository registry for this plugin",
e );
-        }
-
         artifactContext.init( project, localRepository );
         try
         {

Modified: incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java?view=diff&rev=512377&r1=512376&r2=512377
==============================================================================
--- incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
(original)
+++ incubator/nmaven/branches/SI_IDE/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
Tue Feb 27 12:02:53 2007
@@ -23,7 +23,9 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.artifact.installer.ArtifactInstaller;
 import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
+import org.apache.maven.dotnet.executable.compiler.ArtifactType;
 
 import java.io.File;
 
@@ -69,13 +71,31 @@
     public void execute()
         throws MojoExecutionException
     {
+        Artifact artifact = project.getArtifact();
         try
         {
-            artifactContext.getArtifactInstaller().installArtifact( project.getArtifact(),
pomFile );
+            artifactContext.getArtifactInstaller().installArtifact( artifact, pomFile );
         }
         catch ( ArtifactInstallationException e )
         {
             throw new MojoExecutionException( "NMAVEN-1001-000: Failed to install artifacts",
e );
         }
+
+        //For the IDE: If we see a dll with same name as netmodule, copy dll to the local
repo.
+        File linkedFile =
+            new File( artifact.getFile().getParent() + File.separatorChar + artifact.getArtifactId()
+ ".dll" );
+        if ( linkedFile.exists() && artifact.getType().equals( ArtifactType.MODULE.getArtifactTypeName()
) )
+        {
+            try
+            {
+                artifactContext.getArtifactInstaller().installFileWithNoPom( artifact.getGroupId(),
artifact.getArtifactId(),
+                                                                    artifact.getVersion(),
linkedFile );
+            }
+            catch ( org.apache.maven.artifact.installer.ArtifactInstallationException e )
+            {
+                throw new MojoExecutionException( "NMAVEN-1001-001: Failed to install artifact
file", e );
+            }
+        }
+
     }
 }



Mime
View raw message