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/05/19 07:47:53 UTC
svn commit: r539709 [2/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...
Modified: incubator/nmaven/trunk/README.txt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/README.txt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/README.txt (original)
+++ incubator/nmaven/trunk/README.txt Sat May 19 00:47:30 2007
@@ -3,18 +3,49 @@
* NUnit must be installed or otherwise configured, see http://incubator.apache.org/nmaven/getting-started.html
Initial Build
+* The latest version of NMaven requires .NET 2.0+ to build and run NMaven. This is due to needing the .NET 2.0 AppDomainManagers for
+ executing Maven .NET plugins. You may still target your own projects with .NET 1.1 build.
* On the first build, for Windows execute
- bootstrap-build.bat or
- bootstrap-build.bat -DwithIDE
+ bootstrap-build.bat [ -DMicrosoft | -DVisualStudio2005 | -DMono ]
Or on *nix,
bootstrap-build.sh
-Note that the -DwithIDE option requires Microsoft 2.0 or higher. If this is a clean build (meaning that you do not have a ~./m2/nmaven-settings.xml file)
-then you will also need to make sure that you have csc within your path. On subsequent builds, you can just type mvn install from
+If this is a clean build (meaning that you do not have a ~./m2/nmaven-settings.xml file)
+then you will also need to make sure that you have csc within your path. On subsequent builds, you can just type mvn -f pom.xml install from
the command prompt.
IntelliJ IDEA Setup
* Do the initial build. This will create the dotnet modello model source code and will download all of the maven
binary dependencies. Next, click the maven-dotnet.ipr file. Go to settings/Path variables and set localRepository
to your ~/.m2/repository directory (specify the absolute path). Exit IntelliJ and click the maven-dotnet.ipr file.
- Now all of the binary dependencies will be mapped to the local maven repo.
\ No newline at end of file
+ Now all of the binary dependencies will be mapped to the local maven repo.
+
+Deploying NMaven Artifacts (File System Only)
+* On the command line
+ set phase=deploy
+ set deploy.directory=${remoteRepository}
+ bootstrap-build.bat
+* Due to a bug with not being able to use snapshots with an executables exe.config file, you will need to do this
+ next step manually: Copy ${localRepository}\NMaven\Plugins\NMaven.Plugin.Resx\0.14\NMaven.Plugin.Resx.exe.config to
+ ${remoteRepository}\NMaven\Plugins\NMaven.Plugin.Resx\0.14\NMaven.Plugin.Resx.exe.config
+
+ To set up a remote repository accessible to others, you can transfer the contents of ${remoteRepository}
+ from your file system to a web server.
+
+Generating CS Project Files and Solutions:
+ * Go to the directory containing a pom file.
+ * type: mvn org.apache.maven.dotnet.plugins:maven-solution-plugin:solution
+
+ If the project was multi-module, the plugin will pick those up as well.
+
+Setting up the Visual Studio 2005 Addin:
+ After building the project with bootstrap-build -DVisualStudio2005
+ * Deploy the components/dotnet-service/embedder/target/dotnet-service-embedder.war file on a standard web server
+ running port 8080.
+ * To generate the Addin for VisualStudio type: mvn org.apache.maven.dotnet.plugins:maven-vsinstaller-plugin:install
+ * Start the IDE
+ * Click on an NMaven project
+ * Click on Tools/NMaven Addin
+
+ A small box will appear showing a tree view of all the projects. Right click to build the project. You will see
+ the build results within the output window.
\ No newline at end of file
Modified: incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Core/pom.xml Sat May 19 00:47:30 2007
@@ -1,26 +1,44 @@
+<?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">
<parent>
<groupId>NMaven</groupId>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
<artifactId>NMaven.Assemblies</artifactId>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>NMaven.Core</groupId>
<artifactId>NMaven.Core</artifactId>
<packaging>library</packaging>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
<name>NMaven.Core</name>
<dependencies>
<dependency>
<groupId>NMaven.Model</groupId>
<artifactId>NMaven.Model.Pom</artifactId>
<type>library</type>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>Microsoft.Build.Engine</groupId>
<artifactId>Microsoft.Build.Engine</artifactId>
- <type>gac</type>
+ <type>gac_msil</type>
<version>2.0.0.0__b03f5f7f11d50a3a</version>
</dependency>
<dependency>
@@ -30,20 +48,6 @@
<type>library</type>
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.dotnet.plugins</groupId>
- <artifactId>maven-link-plugin</artifactId>
- <configuration>
- <netModules>
- <netModule>${basedir}/target/NMaven.Core.netmodule</netModule>
- </netModules>
- <outputFile>${basedir}/target/NMaven.Core.dll</outputFile>
- </configuration>
- </plugin>
- </plugins>
- </build>
<profiles>
<profile>
<activation>
Modified: incubator/nmaven/trunk/assemblies/NMaven.Core/src/main/csharp/Core/Impl/ProjectGeneratorImpl.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Core/src/main/csharp/Core/Impl/ProjectGeneratorImpl.cs?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Core/src/main/csharp/Core/Impl/ProjectGeneratorImpl.cs (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Core/src/main/csharp/Core/Impl/ProjectGeneratorImpl.cs Sat May 19 00:47:30 2007
@@ -132,14 +132,17 @@
string baseIntermediateOutputPath,
List<IProjectReference> projectReferences)
{
- if(model == null || sourceFileDirectory == null || projectGuid == null)
+ if(model == null || sourceFileDirectory == null)
{
throw new ExecutionException("NMAVEN-000-000: Missing required parameter.");
}
Engine engine = new Engine(@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727");
Project project = new Project(engine);
-
-
+
+ Console.WriteLine("ProjectGuid = " + projectGuid.ToString() + ", RootNameSpace = " +
+ model.groupId + ", AssemblyName = " + assemblyName + ", BaseIntPath = " +
+ baseIntermediateOutputPath + ", OutputType = " + GetOutputType(model.packaging) +
+ ", Packaging = " + model.packaging);
//Main Properties
BuildPropertyGroup groupProject = project.AddNewPropertyGroup(false);
groupProject.AddNewProperty("ProjectGuid", "{" + projectGuid.ToString() + "}");
@@ -296,7 +299,8 @@
private string GetOutputType(String type)
{
- if (type.Equals("library")) return "Library";
+ if (type.Equals("library") || type.Equals("netplugin") || type.Equals("visual-studio-addin")
+ || type.Equals("sharp-develop-addin")) return "Library";
else if (type.Equals("exe")) return "Exe";
else if (type.Equals("winexe")) return "WinExe";
else if (type.Equals("module")) return "Module";
@@ -305,7 +309,7 @@
private string GetExtension(String type)
{
- if (type.Equals("library")) return "dll";
+ if (type.Equals("library") || type.Equals("netplugin") ) return "dll";
else if (type.Equals("exe")) return "exe";
else if (type.Equals("winexe")) return "exe";
else if (type.Equals("module")) return "netmodule";
@@ -342,12 +346,9 @@
{
Console.WriteLine(e.Message);
}
-
}
-
return dependencies;
- }
-
+ }
}
}
}
Modified: incubator/nmaven/trunk/assemblies/NMaven.Model/Pom/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/NMaven.Model/Pom/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/assemblies/NMaven.Model/Pom/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/NMaven.Model/Pom/pom.xml Sat May 19 00:47:30 2007
@@ -1,15 +1,33 @@
+<?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">
<parent>
<groupId>NMaven</groupId>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
<artifactId>NMaven.Assemblies</artifactId>
<relativePath>..\..\pom.xml</relativePath>
- </parent>
+ </parent>
<modelVersion>4.0.0</modelVersion>
<groupId>NMaven.Model</groupId>
<artifactId>NMaven.Model.Pom</artifactId>
<packaging>library</packaging>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
<name>NMaven.Model.Pom</name>
<build>
<plugins>
@@ -29,12 +47,18 @@
</plugin>
<plugin>
<groupId>org.apache.maven.dotnet.plugins</groupId>
- <artifactId>maven-link-plugin</artifactId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
<configuration>
- <netModules>
- <netModule>${basedir}/target/NMaven.Model.Pom.netmodule</netModule>
- </netModules>
- <outputFile>${basedir}/target/NMaven.Model.Pom.dll</outputFile>
+ <keyfile>sample.snk</keyfile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.dotnet.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <isGacInstall>true</isGacInstall>
</configuration>
</plugin>
</plugins>
Modified: incubator/nmaven/trunk/assemblies/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/assemblies/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/assemblies/pom.xml (original)
+++ incubator/nmaven/trunk/assemblies/pom.xml Sat May 19 00:47:30 2007
@@ -1,10 +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">
<modelVersion>4.0.0</modelVersion>
<groupId>NMaven</groupId>
<artifactId>NMaven.Assemblies</artifactId>
<packaging>pom</packaging>
- <version>0.14</version>
+ <version>0.14-SNAPSHOT</version>
<name>NMaven.Assemblies</name>
<url>http://incubator.apache.org/nmaven</url>
<description>
@@ -115,8 +133,17 @@
</developer>
</developers>
<modules>
- <module>NMaven.Plugin.Resx</module>
- <module>NMaven.Plugin.Settings</module>
+ <module>NMaven.Artifact</module>
+ <module>NMaven.Core</module>
+ <module>NMaven.IDE</module>
+ <module>NMaven.Logging</module>
+ <module>NMaven.Model/Pom</module>
+ <module>NMaven.Model/AutomationExtensibility</module>
+ <module>NMaven.Plugin</module>
+ <module>NMaven.Plugin.Loader</module>
+ <module>NMaven.Plugin.MojoGenerator</module>
+ <module>NMaven.Plugin.Runner</module>
+ <module>NMaven.Service/Embedder</module>
</modules>
<build>
<sourceDirectory>src/main/csharp</sourceDirectory>
@@ -126,6 +153,9 @@
<groupId>org.apache.maven.dotnet.plugins</groupId>
<artifactId>maven-compile-plugin</artifactId>
<extensions>true</extensions>
+ <configuration>
+ <frameworkVersion>2.0.50727</frameworkVersion>
+ </configuration>
</plugin>
</plugins>
</build>
@@ -133,16 +163,35 @@
<profile>
<activation>
<property>
- <name>withIde</name>
+ <name>VisualStudio2005</name>
</property>
</activation>
<modules>
- <module>NMaven.Core</module>
- <module>NMaven.Model/Pom</module>
- <module>NMaven.Plugin.Resx</module>
- <module>NMaven.Plugin.Settings</module>
- <module>NMaven.Plugin.Solution</module>
+ <module>NMaven.VisualStudio</module>
+ <module>NMaven.VisualStudio.Addin</module>
</modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.dotnet.plugins</groupId>
+ <artifactId>maven-compile-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <vendor>MICROSOFT</vendor>
+ <frameworkVersion>2.0.50727</frameworkVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</profile>
</profiles>
+ <distributionManagement>
+ <snapshotRepository>
+ <uniqueVersion>true</uniqueVersion>
+ <id>snapshot repo</id>
+ <name>snapshot repo</name>
+ <url>file://${deploy.directory}</url>
+ <layout>default</layout>
+ </snapshotRepository>
+ </distributionManagement>
</project>
Modified: incubator/nmaven/trunk/bootstrap-build.bat
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/bootstrap-build.bat?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/bootstrap-build.bat (original)
+++ incubator/nmaven/trunk/bootstrap-build.bat Sat May 19 00:47:30 2007
@@ -1,5 +1,50 @@
-call mvn -f ./components/pom.xml install
-call mvn -f ./plugins/pom.xml install
+@echo off
+IF "%phase%"=="" SET phase=install
+ECHO Executing Phase: %phase%
+
+call mvn %phase%
+IF errorlevel 1 GOTO END
+
+ECHO Building JavaBindings for the .NET Plugins
+call mvn -f ./plugins/NMaven.Plugin.Addin/pom-java.xml %phase%
+IF errorlevel 1 GOTO END
+
+call mvn -f ./plugins/NMaven.Plugin.Devenv/pom-java.xml %phase%
+IF errorlevel 1 GOTO END
+
+call mvn -f ./plugins/NMaven.Plugin.Settings/pom-java.xml %phase%
+IF errorlevel 1 GOTO END
+
+call mvn -f ./plugins/NMaven.Plugin.Solution/pom-java.xml %phase%
+IF errorlevel 1 GOTO END
+
+ECHO Installing 3rd Party Assemblies in the Local Repo
call mvn org.apache.maven.dotnet.plugins:maven-install-plugin:install-file -Dfile=./thirdparty/NUnit/NUnit.Framework.dll -DgroupId=NUnit -DartifactId=NUnit.Framework -Dpackaging=dll -Dversion=2.2.8.0
-call mvn -f ./assemblies/pom.xml -Dmaven.test.skip=true -Dbootstrap install %*
-rem call mvn org.apache.maven.dotnet.plugins:maven-solution-plugin:solution
\ No newline at end of file
+IF errorlevel 1 GOTO END
+
+if "%1" == "-DMicrosoft" (
+ ECHO Compiling Assemblies with Microsoft
+ call mvn -f ./assemblies/pom.xml -Dmaven.test.skip=true -Dbootstrap -Dvendor=MICROSOFT %phase% %*
+ IF errorlevel 1 GOTO END
+
+ call mvn -f ./plugins/pom-netplugins.xml -Dmaven.test.skip=true -Dbootstrap -Dvendor=MICROSOFT %phase% %*
+ IF errorlevel 1 GOTO END
+
+ ) else if "%1" == "-DMono" (
+ ECHO Compiling Assemblies with Mono
+ call mvn -f ./assemblies/pom.xml -Dmaven.test.skip=true -Dbootstrap -Dvendor=MONO %phase% %*
+ IF errorlevel 1 GOTO END
+
+ call mvn -f ./plugins/pom-netplugins.xml -Dmaven.test.skip=true -Dbootstrap -Dvendor=MONO %phase% %*
+ IF errorlevel 1 GOTO END
+
+ ) else (
+ ECHO Compiling Assemblies with Unknown Vendor
+ call mvn -f ./assemblies/pom.xml -Dmaven.test.skip=true -Dbootstrap %phase% %*
+ IF errorlevel 1 GOTO END
+
+ call mvn -f ./plugins/pom-netplugins.xml -Dmaven.test.skip=true -Dbootstrap %phase% %*
+ IF errorlevel 1 GOTO END
+ )
+
+:END
\ No newline at end of file
Modified: incubator/nmaven/trunk/bootstrap-build.sh
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/bootstrap-build.sh?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/bootstrap-build.sh (original)
+++ incubator/nmaven/trunk/bootstrap-build.sh Sat May 19 00:47:30 2007
@@ -1,4 +1,8 @@
-mvn -f ./components/pom.xml install
-mvn -f ./plugins/pom.xml install
+mvn install $*
+mvn -f ./plugins/NMaven.Plugin.Addin/pom-java.xml install $*
+mvn -f ./plugins/NMaven.Plugin.Devenv/pom-java.xml install $*
+mvn -f ./plugins/NMaven.Plugin.Settings/pom-java.xml install $*
+mvn -f ./plugins/NMaven.Plugin.Solution/pom-java.xml install $*
mvn org.apache.maven.dotnet.plugins:maven-install-plugin:install-file -Dfile=thirdparty/NUnit/NUnit.Framework.dll -DgroupId=NUnit -DartifactId=NUnit.Framework -Dpackaging=dll -Dversion=2.2.8.0
mvn -f ./assemblies/pom.xml -Dmaven.test.skip=true -Dbootstrap install $*
+mvn -f ./plugins/pom-netplugins.xml -Dmaven.test.skip=true -Dbootstrap install $*
Modified: incubator/nmaven/trunk/components/README.txt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/README.txt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/README.txt (original)
+++ incubator/nmaven/trunk/components/README.txt Sat May 19 00:47:30 2007
@@ -1,10 +1,14 @@
Find the latest documentation at: http://incubator.apache.org/nmaven/
Logs:
-000-019: nmaven-artifact
-020-039: nmaven-assembler
-040-059: nmaven-core
-060-079: nmaven-executable
-080-099: nmaven-registry
-100-019: nmaven-vendor
+000-019: dotnet-artifact
+020-039: dotnet-assembler
+040-059: dotnet-core
+120-139: dotnet-embedder
+060-079: dotnet-executable
+140-149: dotnet-jetty
+150-179: dotnet-plugin
+080-099: dotnet-registry
+180-189: dotnet-service
+100-119: dotnet-vendor
Modified: incubator/nmaven/trunk/components/dotnet-artifact/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/pom.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/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>
@@ -11,18 +29,18 @@
<version>0.14-SNAPSHOT</version>
<name>dotnet-artifact</name>
<description>
- Maven Plugin for .NET
+
</description>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
- <version>2.0.4</version>
+ <version>2.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
- <version>2.0.4</version>
+ <version>2.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven.dotnet</groupId>
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ApplicationConfig.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ApplicationConfig.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ApplicationConfig.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ApplicationConfig.java Sat May 19 00:47:30 2007
@@ -67,7 +67,8 @@
* @return the application config for the specified artifact
*/
public static ApplicationConfig createDefaultApplicationConfig( final Artifact artifact,
- final MavenProject project )
+ final File projectBaseDirectory,
+ final File projectBuildDirectory)
{
return new ApplicationConfig()
{
@@ -75,13 +76,13 @@
public String getConfigSourcePath()
{
return new File(
- project.getBasedir() + "/src/main/config/" + artifact.getArtifactId() + ".exe.config" )
+ projectBaseDirectory + "/src/main/config/" + artifact.getArtifactId() + ".exe.config" )
.getAbsolutePath();
}
public String getConfigDestinationPath()
{
- return project.getBuild().getDirectory() + File.separator + artifact.getArtifactId() +
+ return projectBuildDirectory + File.separator + artifact.getArtifactId() +
".exe.config";
}
};
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactContext.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactContext.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactContext.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactContext.java Sat May 19 00:47:30 2007
@@ -19,6 +19,8 @@
package org.apache.maven.dotnet.artifact;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.project.MavenProject;
import java.util.List;
@@ -80,8 +82,14 @@
*/
List<Artifact> getArtifactsFor( String groupId, String artifactId, String version, String type );
+ /**
+ * Returns the artifact for the specified ID
+ *
+ * @param id the artifact ID, as given in the net-dependencies.xml file
+ * @return the artifact for the specified ID.
+ */
Artifact getArtifactByID( String id );
-
+
/**
* Returns an artifact installer used for installing NMaven artifacts into the local Maven repository.
*
@@ -100,14 +108,31 @@
*/
ApplicationConfig getApplicationConfigFor( Artifact artifact );
+ /**
+ * Returns the directory containing the local Maven repository
+ *
+ * @return the directory containing the local Maven repository
+ */
File getLocalRepository();
/**
+ * Returns a list of .NET artifacts that reside within the specified repository.
+ *
+ * @param repository the local repository directory. If value is null, the localRepository reference will default to
+ * the specified localRepository passed to the init method of the context.
+ * @return list of .NET artifacts that reside within the specified repository.
+ */
+ List<Artifact> getAllNetArtifactsFromRepository( File repository );
+
+ // ArtifactHandler createArtifactHandler( String packagingType, String extension );
+
+ /**
* Initializes this artifact context. Neither parameter value should be null.
*
- * @param mavenProject the maven project
- * @param localRepository the file location of the local maven repository
+ * @param mavenProject the maven project
+ * @param remoteArtifactRepositories
+ * @param localRepository the file location of the local maven repository
* @throws NullPointerException if localRepository parameter is null
*/
- void init( MavenProject mavenProject, File localRepository );
+ void init( MavenProject mavenProject, List<ArtifactRepository> remoteArtifactRepositories, File localRepository );
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactInstaller.java Sat May 19 00:47:30 2007
@@ -19,6 +19,9 @@
package org.apache.maven.dotnet.artifact;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.installer.ArtifactInstallationException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.model.Dependency;
@@ -60,14 +63,15 @@
* Installs a non-maven artifact into the local maven repository so that the artifact can be used within
* a Maven build process.
*
- * @param groupId the group id of the artifact to install
- * @param artifactId the artifact id of the artifact to install
- * @param version the version of the artifact to install
- * @param packaging the packaging type of the artifact to install
- * @param artifactFile the artifact to install
+ * @param groupId the group id of the artifact to install
+ * @param artifactId the artifact id of the artifact to install
+ * @param version the version of the artifact to install
+ * @param packaging the packaging type of the artifact to install
+ * @param artifactFile the artifact to install
* @throws ArtifactInstallationException if there is a problem installing the artifact
*/
- void installFile( String groupId, String artifactId, String version, String packaging, File artifactFile )
+ void installFileWithGeneratedPom( String groupId, String artifactId, String version, String packaging,
+ File artifactFile )
throws ArtifactInstallationException;
/**
@@ -84,9 +88,9 @@
throws ArtifactInstallationException;
/**
- * Installs the dependent libraries (or assemblies) of the specified artifact.
+ * Installs the dependent libraries (or assemblies) of the specified artifact.
*
- * @param artifact the artifact associated with the specified dependencies
+ * @param artifact the artifact associated with the specified dependencies
* @param dependencies a list of dependencies of the specified artifact
* @throws ArtifactInstallationException if there is a problem installing the artifact
*/
@@ -94,6 +98,21 @@
throws ArtifactInstallationException;
/**
+ * Resolves the specified artifact (and its dependencies) and installs the artifact's dependencies into the
+ * artifact's directory within the local repository. This method should be used for exe, winexe and
+ * netplugins.
+ *
+ * @param dependency the dependency to resolve
+ * @throws ArtifactInstallationException
+ * @throws ArtifactNotFoundException
+ */
+ void resolveAndInstallLibraryDependenciesFor( Dependency dependency )
+ throws ArtifactInstallationException , ArtifactNotFoundException;
+
+ void resolveAndInstallNetDependenciesForProfile( String profile, List<Dependency> dependencies )
+ throws ArtifactResolutionException, ArtifactNotFoundException, ArtifactInstallationException;
+
+ /**
* Copies .netmodules, that the project is dependenct upon, from the local repo to the project's target directory.
* This method handles placing all the .netmodules in the same directory as the compiled project artifact for use
* in unit testing and/or packaging.
@@ -108,9 +127,15 @@
* Initializes the installer.
*
* @param artifactContext the artifact context associated with this installer
- * @param mavenProject the maven project associated with the invoking plugin
+
+
+ @param mavenProject the maven project associated with the invoking plugin
+
+
+ * @param remoteArtifactRepositories
* @param localRepository the location of the local maven repository
*/
- void init( ArtifactContext artifactContext, MavenProject mavenProject, File localRepository );
+ void init( ArtifactContext artifactContext, MavenProject mavenProject,
+ List<ArtifactRepository> remoteArtifactRepositories, File localRepository );
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactType.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactType.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactType.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ArtifactType.java Sat May 19 00:47:30 2007
@@ -25,24 +25,39 @@
*/
public enum ArtifactType
{
- MODULE( "module", "netmodule" ),
- LIBRARY( "library", "dll" ),
- EXE( "exe", "exe" ),
- WINEXE( "winexe", "exe" ),
- NAR( "nar", "nar" ),
- EXECONFIG( "exe.config", "exe.config" ),
- NULL( "null", "null" );
+ MODULE( "module", "module", "netmodule" ),
+ LIBRARY( "library", "library", "dll" ),
+ EXE( "exe", "exe", "exe" ),
+ WINEXE( "winexe", "winexe", "exe" ),
+ NAR( "nar", "null", "nar" ),
+ EXECONFIG( "exe.config", "null", "exe.config" ),
+ NETPLUGIN( "netplugin", "library", "dll" ),
+ VISUAL_STUDIO_ADDIN( "visual-studio-addin", "library", "dll" ),
+ SHARP_DEVELOP_ADDIN( "sharp-develop-addin", "library", "dll" ),
+ NULL( "null", "null", "null" );
+ /**
+ * The extension used for the artifact(netmodule, dll, exe)
+ */
private String extension;
- private String artifactTypeName;
+ /**
+ * The packaging type (as given in the package tag within the pom.xml) of the artifact.
+ */
+ private String packagingType;
+
+ /**
+ * The target types (module, library, winexe, exe) for the .NET platform.
+ */
+ private String targetCompileType;
/**
* Constructor
*/
- ArtifactType( String artifactTypeName, String extension )
+ ArtifactType( String packagingType, String targetCompileType, String extension )
{
- this.artifactTypeName = artifactTypeName;
+ this.packagingType = packagingType;
+ this.targetCompileType = targetCompileType;
this.extension = extension;
}
@@ -57,73 +72,72 @@
}
/**
+ * Returns the packaging type (as given in the package tag within the pom.xml) of the artifact.
+ *
+ * @return the packaging type (as given in the package tag within the pom.xml) of the artifact.
+ */
+ public String getPackagingType()
+ {
+ return packagingType;
+ }
+
+ /**
* Returns target types (module, library, winexe, exe) for the .NET platform.
*
* @return target types (module, library, winexe, exe) for the .NET platform.
*/
- public String getArtifactTypeName()
+ public String getTargetCompileType()
{
- return artifactTypeName;
+ return targetCompileType;
}
- public static synchronized ArtifactType getArtifactTypeForName(String name)
+ /**
+ * Returns artifact type for the specified packaging name
+ *
+ * @param packagingName the package name (as given in the package tag within the pom.xml) of the artifact.
+ * @return the artifact type for the specified packaging name
+ */
+ public static synchronized ArtifactType getArtifactTypeForPackagingName( String packagingName )
{
- if ( name.equals( ArtifactType.MODULE.getArtifactTypeName() ) )
+ if ( packagingName.equals( ArtifactType.MODULE.getPackagingType() ) )
{
return ArtifactType.MODULE;
}
- else if ( name.equals( ArtifactType.LIBRARY.getArtifactTypeName() ) )
+ else if ( packagingName.equals( ArtifactType.LIBRARY.getPackagingType() ) )
{
return ArtifactType.LIBRARY;
}
- else if ( name.equals( ArtifactType.EXE.getArtifactTypeName() ) )
+ else if ( packagingName.equals( ArtifactType.EXE.getPackagingType() ) )
{
return ArtifactType.EXE;
}
- else if ( name.equals( ArtifactType.WINEXE.getArtifactTypeName() ) )
+ else if ( packagingName.equals( ArtifactType.WINEXE.getPackagingType() ) )
{
return ArtifactType.WINEXE;
}
- else if ( name.equals( ArtifactType.NAR.getArtifactTypeName() ) )
- {
- return ArtifactType.LIBRARY;
- }
- else if ( name.equals( ArtifactType.NAR.getArtifactTypeName() ) )
- {
- return ArtifactType.NAR;
- }
- else if ( name.equals( ArtifactType.EXECONFIG.getArtifactTypeName() ) )
+ else if ( packagingName.equals( ArtifactType.NAR.getPackagingType() ) )
{
- return ArtifactType.EXECONFIG;
- }
- return ArtifactType.NULL;
- }
-
- public static synchronized ArtifactType getArtifactTypeForExtension(String extension)
- {
- if ( extension.equals( ArtifactType.MODULE.getExtension()) )
- {
- return ArtifactType.MODULE;
+ return ArtifactType.LIBRARY;
}
- else if ( extension.equals( ArtifactType.LIBRARY.getExtension() ) )
+ else if ( packagingName.equals( ArtifactType.NAR.getPackagingType() ) )
{
- return ArtifactType.LIBRARY;
+ return ArtifactType.NAR;
}
- else if ( extension.equals( ArtifactType.EXE.getExtension() ) )
+ else if ( packagingName.equals( ArtifactType.EXECONFIG.getPackagingType() ) )
{
- return ArtifactType.EXE;
+ return ArtifactType.EXECONFIG;
}
- else if ( extension.equals( ArtifactType.WINEXE.getExtension() ) )
+ else if ( packagingName.equals( ArtifactType.NETPLUGIN.getPackagingType() ) )
{
- return ArtifactType.WINEXE;
+ return ArtifactType.NETPLUGIN;
}
- else if ( extension.equals( ArtifactType.NAR.getExtension() ) )
+ else if ( packagingName.equals( ArtifactType.SHARP_DEVELOP_ADDIN.getPackagingType() ) )
{
- return ArtifactType.LIBRARY;
+ return ArtifactType.SHARP_DEVELOP_ADDIN;
}
- else if ( extension.equals( ArtifactType.EXECONFIG.getExtension() ) )
+ else if ( packagingName.equals( ArtifactType.VISUAL_STUDIO_ADDIN.getPackagingType() ) )
{
- return ArtifactType.EXECONFIG;
+ return ArtifactType.VISUAL_STUDIO_ADDIN;
}
return ArtifactType.NULL;
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/AssemblyResolver.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/AssemblyResolver.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/AssemblyResolver.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/AssemblyResolver.java Sat May 19 00:47:30 2007
@@ -21,10 +21,10 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.model.Dependency;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import java.io.File;
import java.util.List;
/**
@@ -46,8 +46,8 @@
* @param project the maven project
* @param sourceArtifact the artifact to which the resolved dependencies belong
* @param dependencies the list of dependencies of the specified artifact
- * @param pomFile the pom file of the specified artifact
- * @param localRepositoryPath the path of the local Maven repository
+ * @param remoteArtifactRepositories
+ * @param localArtifactRepository
* @param addResolvedDependenciesToProject
* true, if the resolved dependencies should be added the the specified
* maven project, otherwise false. This value should be set to false if it is resolving
@@ -57,10 +57,8 @@
* @throws ArtifactResolutionException
* @throws ArtifactNotFoundException
*/
-
void resolveTransitivelyFor( MavenProject project, Artifact sourceArtifact, List<Dependency> dependencies,
- File pomFile, String localRepositoryPath, boolean addResolvedDependenciesToProject )
+ List<ArtifactRepository> remoteArtifactRepositories, ArtifactRepository localArtifactRepository,
+ boolean addResolvedDependenciesToProject )
throws ArtifactResolutionException, ArtifactNotFoundException;
-
-
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/NetDependencyMatchPolicy.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/NetDependencyMatchPolicy.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/NetDependencyMatchPolicy.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/NetDependencyMatchPolicy.java Sat May 19 00:47:30 2007
@@ -20,6 +20,11 @@
import org.apache.maven.dotnet.model.netdependency.NetDependency;
+/**
+ * Provides a way for a developer to implement custom match policies for a net dependency.
+ *
+ * @author Shane Isbell
+ */
public interface NetDependencyMatchPolicy
{
/**
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java Sat May 19 00:47:30 2007
@@ -26,6 +26,8 @@
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -91,6 +93,10 @@
*/
private Logger logger;
+ private List<ArtifactHandler> artifactHandlers;
+
+ private ArtifactHandlerManager artifactHandlerManager;
+
/**
* Constructor. This method is intended to by invoked by the plexus-container, not by the application developer.
*/
@@ -106,9 +112,12 @@
this.logger = logger;
}
+ /**
+ * @see org.apache.maven.dotnet.artifact.ArtifactContext#getLocalRepository()
+ */
public File getLocalRepository()
{
- return new File(localRepository);
+ return new File( localRepository );
}
/**
@@ -126,9 +135,18 @@
return new ArrayList<Artifact>();
}
repository.init( artifactFactory );
- return repository.getArtifactsFor( groupId, artifactId, version, type );
+ List<Artifact> artifacts = repository.getArtifactsFor( groupId, artifactId, version, type );
+ AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
+ for ( Artifact artifact : artifacts )
+ {
+ artifact.setFile( new File( localRepository + File.separator + layout.pathOf( artifact ) ) );
+ }
+ return artifacts;
}
+ /**
+ * @see ArtifactContext#getArtifactByID(String)
+ */
public Artifact getArtifactByID( String id )
{
NetDependenciesRepositoryImpl repository =
@@ -150,7 +168,8 @@
*/
public ApplicationConfig getApplicationConfigFor( Artifact artifact )
{
- return ApplicationConfig.Factory.createDefaultApplicationConfig( artifact, project );
+ return ApplicationConfig.Factory.createDefaultApplicationConfig( artifact, project.getBasedir(), new File(
+ project.getBuild().getDirectory() ) );
}
/**
@@ -160,11 +179,6 @@
public List<Artifact> getDirectDependenciesFor( Artifact artifact, List<ArtifactMatchPolicy> matchPolicies )
throws ArtifactException
{
- if ( project == null )
- {
- throw new ArtifactException( "NMAVEN-000-000: Artifact Context has not been initialized" );
- }
-
if ( artifact == null )
{
throw new ArtifactException( "NMAVEN-000-001: Cannot get dependenct artifacts of a null artifact" );
@@ -181,6 +195,7 @@
Set depSet = new HashSet();
List<Dependency> dep = project.getDependencies();
+
for ( Dependency dependency : dep )
{
String scope = ( dependency.getScope() == null ) ? Artifact.SCOPE_COMPILE : dependency.getScope();
@@ -190,7 +205,10 @@
dependency.getVersion() ),
dependency.getType(), dependency.getClassifier(),
scope, null );
- if(!art.getType().equals( "gac")) depSet.add( art );
+ if ( !art.getType().startsWith( "gac" ) )
+ {
+ depSet.add( art );
+ }
}
try
@@ -246,20 +264,44 @@
return getDirectDependenciesFor( artifact, matchPolicies );
}
+ public List<Artifact> getAllNetArtifactsFromRepository( File repository )
+ {
+ return null;
+ }
+
/**
- * @see ArtifactContext#init(org.apache.maven.project.MavenProject, java.io.File)
+ * @see ArtifactContext#init(org.apache.maven.project.MavenProject,java.util.List, File
*/
- public void init( MavenProject mavenProject, File localRepository )
+ public void init( MavenProject mavenProject, List<ArtifactRepository> remoteArtifactRepositories,
+ File localRepository )
{
this.project = mavenProject;
this.localRepository = localRepository.getAbsolutePath();
- artifactInstaller.init( this, mavenProject, localRepository );
+ artifactInstaller.init( this, mavenProject, remoteArtifactRepositories, localRepository );
+ Map<String, ArtifactHandler> map = new HashMap<String, ArtifactHandler>();
+ for ( ArtifactHandler artifactHandler : artifactHandlers )
+ {
+ //If I add a handler that already exists, the runtime breaks.
+ if ( isDotNetHandler( artifactHandler ) )
+ {
+ map.put( artifactHandler.getPackaging(), artifactHandler );
+ }
+ }
+
+ artifactHandlerManager.addHandlers( map );
+ }
+
+ private boolean isDotNetHandler( ArtifactHandler artifactHandler )
+ {
+ String extension = artifactHandler.getExtension();
+ return extension.equals( "dll" ) || extension.equals( "nar" ) || extension.equals( "exe" ) ||
+ extension.equals( "exe.config" );
}
/**
* Returns true if the artifact matches <i>all</i> match policies, otherwise returns false.
*
- * @param artifact the artifact to match against the match policies
+ * @param artifact the artifact to match against the match policies
* @param matchPolicies the match policies
* @return true if the artifact matches <i>all</i> match policies, otherwise returns false
*/
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java Sat May 19 00:47:30 2007
@@ -23,13 +23,26 @@
import org.apache.maven.dotnet.artifact.AssemblyRepositoryLayout;
import org.apache.maven.dotnet.artifact.ApplicationConfig;
import org.apache.maven.dotnet.artifact.ArtifactType;
+import org.apache.maven.dotnet.artifact.NetDependencyMatchPolicy;
+import org.apache.maven.dotnet.artifact.NetDependenciesRepository;
+import org.apache.maven.dotnet.artifact.AssemblyResolver;
+import org.apache.maven.dotnet.registry.RepositoryRegistry;
+import org.apache.maven.dotnet.model.netdependency.NetDependency;
import org.apache.maven.project.MavenProject;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.installer.ArtifactInstallationException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.model.Model;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
@@ -44,8 +57,11 @@
import java.io.IOException;
import java.io.FileWriter;
import java.io.FileReader;
+import java.io.FileNotFoundException;
import java.util.List;
import java.util.ArrayList;
+import java.util.Set;
+import java.util.HashSet;
/**
* Provides an implementation of the <code>ArtifactInstaller</code> interface.
@@ -57,11 +73,6 @@
{
/**
- * A factory component used for creating artifacts from metadata
- */
- private ArtifactFactory mavenArtifactFactory;
-
- /**
* An installer component for installing artifacts into a local Maven repository.
*/
private org.apache.maven.artifact.installer.ArtifactInstaller mavenInstaller;
@@ -98,6 +109,28 @@
private Logger logger;
/**
+ * An artifact resolver component for locating artifacts and pulling them into the local repo if they do not
+ * already exist.
+ */
+ private ArtifactResolver resolver;
+
+ /**
+ * Metadata component used by the <code>ArtifactResolver</code>.
+ */
+ private ArtifactMetadataSource metadata;
+
+ /**
+ * The artifact factory component, which is used for creating artifacts.
+ */
+ private ArtifactFactory artifactFactory;
+
+ private AssemblyResolver assemblyResolver;
+
+ private RepositoryRegistry repositoryRegistry;
+
+ private List<ArtifactRepository> remoteArtifactRepositories;
+
+ /**
* Constructor. This method is intended to by invoked by the plexus-container, not by the application developer.
*/
public ArtifactInstallerImpl()
@@ -112,6 +145,36 @@
this.logger = logger;
}
+ public void resolveAndInstallNetDependenciesForProfile( String profile, List<Dependency> dependencies )
+ throws ArtifactResolutionException, ArtifactNotFoundException, ArtifactInstallationException
+ {
+ if ( dependencies == null )
+ {
+ dependencies = new ArrayList<Dependency>();
+ }
+
+ NetDependenciesRepository repository =
+ (NetDependenciesRepository) repositoryRegistry.find( "net-dependencies" );
+ List<NetDependencyMatchPolicy> matchPolicies = new ArrayList<NetDependencyMatchPolicy>();
+ matchPolicies.add( new ProfileMatchPolicy( profile ) );
+ dependencies.addAll( repository.getDependenciesFor( matchPolicies ) );
+
+ ArtifactRepository localArtifactRepository = new DefaultArtifactRepository( "local", "file://" +
+ localRepository.getAbsolutePath(), new AssemblyRepositoryLayout() );
+
+ assemblyResolver.resolveTransitivelyFor( project, project.getArtifact(), dependencies,
+ remoteArtifactRepositories, localArtifactRepository, false );
+
+ //Do Library Installs for Net Dependencies
+ matchPolicies = new ArrayList<NetDependencyMatchPolicy>();
+ matchPolicies.add( new ProfileMatchPolicy( profile ) );
+ matchPolicies.add( new ExecutableAndNetPluginAndAddinMatchPolicy() );
+ for ( Dependency dependency : repository.getDependenciesFor( matchPolicies ) )
+ {
+ resolveAndInstallLibraryDependenciesFor( dependency );
+ }
+ }
+
/**
* @see org.apache.maven.dotnet.artifact.ArtifactInstaller#installArtifact(org.apache.maven.artifact.Artifact, java.io.File)
*/
@@ -121,7 +184,6 @@
installNetModules( artifact );
ApplicationConfig applicationConfig = artifactContext.getApplicationConfigFor( artifact );
File configExeFile = new File( applicationConfig.getConfigDestinationPath() );
-
//TODO: Remove GAC dependencies before installing. This should be removed and replaced with solution in the core.
artifact.getMetadataList().clear();
try
@@ -130,7 +192,7 @@
List<Dependency> newDependencies = new ArrayList<Dependency>();
for ( Dependency dependency : dependencies )
{
- if ( !dependency.getType().equals( "gac" ) )
+ if ( !dependency.getType().startsWith( "gac" ) )
{
newDependencies.add( dependency );
}
@@ -147,14 +209,14 @@
if ( configExeFile.exists() )
{
logger.info( "NMAVEN-002-000: Found config executable: File = " + configExeFile.getAbsolutePath() );
- Dependency dependency = new Dependency();
- dependency.setArtifactId( project.getArtifactId() );
- dependency.setGroupId( project.getGroupId() );
- dependency.setVersion( project.getVersion() );
- dependency.setType( "exe.config" );
- dependency.setScope( Artifact.SCOPE_RUNTIME );
+ Dependency configExeDependency = new Dependency();
+ configExeDependency.setArtifactId( project.getArtifactId() );
+ configExeDependency.setGroupId( project.getGroupId() );
+ configExeDependency.setVersion( project.getVersion() );
+ configExeDependency.setType( "exe.config" );
+ configExeDependency.setScope( Artifact.SCOPE_RUNTIME );
List<Dependency> dep = new ArrayList<Dependency>();
- dep.add( dependency );
+ dep.add( configExeDependency );
project.setDependencies( dep );
artifact.getMetadataList().clear();
try
@@ -191,18 +253,20 @@
catch ( ArtifactInstallationException e )
{
throw new ArtifactInstallationException( "NMAVEN-002-003: Failed to install artifact: ID = " +
- artifact.getId() + ", File = " + artifact.getFile().getAbsolutePath(), e );
+ artifact.getId() + ", File = " +
+ ( ( artifact.getFile() != null ) ? artifact.getFile().getAbsolutePath() : "" ), e );
}
}
/**
- * @see org.apache.maven.dotnet.artifact.ArtifactInstaller#installFile(String, String, String, String, java.io.File)
+ * @see org.apache.maven.dotnet.artifact.ArtifactInstaller#installFileWithGeneratedPom(String, String, String, String, java.io.File)
*/
- public void installFile( String groupId, String artifactId, String version, String packaging, File artifactFile )
+ public void installFileWithGeneratedPom( String groupId, String artifactId, String version, String packaging,
+ File artifactFile )
throws ArtifactInstallationException
{
Artifact artifact =
- mavenArtifactFactory.createArtifactWithClassifier( groupId, artifactId, version, packaging, null );
+ artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, packaging, null );
artifact.setFile( artifactFile );
FileWriter fileWriter = null;
@@ -283,7 +347,7 @@
for ( Dependency dependency : dependencies )
{
- if(!dependency.getType().equals( "library"))
+ if ( ! ( dependency.getType().equals( "library" ) || dependency.getType().equals( "netplugin" ) ) )
{
continue;
}
@@ -296,9 +360,8 @@
depPath.append( dependency.getArtifactId() ).append( File.separator )
.append( dependency.getVersion() ).append( File.separator );
- String extension = ArtifactType.getArtifactTypeForName( dependency.getType() ).getExtension();
- File file =
- new File( depPath.toString() + dependency.getArtifactId() + "." + extension );
+ String extension = ArtifactType.getArtifactTypeForPackagingName( dependency.getType() ).getExtension();
+ File file = new File( depPath.toString() + dependency.getArtifactId() + "." + extension );
try
{
@@ -312,7 +375,112 @@
"NMAVEN-002-017: Failed to install file into repo: File Name = " + file.getAbsolutePath() +
", Extension = " + extension + ", Type = " + dependency.getType(), e );
}
+ }
+ }
+
+ public void resolveAndInstallLibraryDependenciesFor( Dependency dependency )
+ throws ArtifactInstallationException, ArtifactNotFoundException
+ {
+
+ Artifact sourceArtifact = artifactFactory.createBuildArtifact( dependency.getGroupId(),
+ dependency.getArtifactId(),
+ dependency.getVersion(), dependency.getType() );
+ //Resolve the JavaBinding for the .NET plugin
+ ArtifactRepository localArtifactRepository =
+ new DefaultArtifactRepository( "local", "file://" + localRepository, new DefaultRepositoryLayout() );
+ if ( sourceArtifact.getType().equals( ArtifactType.NETPLUGIN.getPackagingType() ) )
+ {
+ Artifact javaBindingArtifact = artifactFactory.createBuildArtifact( sourceArtifact.getGroupId(),
+ sourceArtifact.getArtifactId() +
+ ".JavaBinding",
+ sourceArtifact.getVersion(), "jar" );
+ try
+ {
+ resolver.resolve( javaBindingArtifact, remoteArtifactRepositories, localArtifactRepository );
+ }
+ catch ( ArtifactResolutionException e )
+ {
+ throw new ArtifactNotFoundException( "", sourceArtifact );
+ }
+ }
+
+ //Resolve all the specified dependencies
+ Artifact pomArtifact = artifactFactory.createProjectArtifact( dependency.getGroupId(),
+ dependency.getArtifactId(),
+ dependency.getVersion() );
+ File pomArtifactFile = new File( localRepository, new AssemblyRepositoryLayout().pathOf( pomArtifact ) );
+ FileReader fileReader;
+ try
+ {
+ fileReader = new FileReader( pomArtifactFile );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new ArtifactNotFoundException( "NMAVEN-000-000: Unable to read pom", sourceArtifact );
+ }
+ MavenXpp3Reader reader = new MavenXpp3Reader();
+ Model model;
+ try
+ {
+ model = reader.read( fileReader );
+ }
+ catch ( XmlPullParserException e )
+ {
+ throw new ArtifactNotFoundException( "NMAVEN-000-000: Unable to read model", sourceArtifact );
+
+ }
+ catch ( IOException e )
+ {
+ throw new ArtifactNotFoundException( "NMAVEN-000-000: Unable to read model", sourceArtifact );
+ }
+ List<Dependency> sourceArtifactDependencies = model.getDependencies();
+ localArtifactRepository =
+ new DefaultArtifactRepository( "local", "file://" + localRepository, new AssemblyRepositoryLayout() );
+ Set<Artifact> artifactDependencies = new HashSet<Artifact>();
+ for ( Dependency d : sourceArtifactDependencies )
+ {
+ String scope = ( d.getScope() == null ) ? Artifact.SCOPE_COMPILE : d.getScope();
+ Artifact artifact1 = artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(),
+ VersionRange.createFromVersion(
+ d.getVersion() ), d.getType(),
+ d.getClassifier(),
+ scope, null );
+ artifactDependencies.add( artifact1 );
+
+ }
+
+ ArtifactMetadataImpl meta = new ArtifactMetadataImpl( sourceArtifact, null );
+ sourceArtifact.addMetadata( meta );
+ ArtifactResolutionResult result;
+ try
+ {
+ result = resolver.resolveTransitively( artifactDependencies, sourceArtifact, localArtifactRepository,
+ remoteArtifactRepositories, metadata, new GacFilter() );
+ }
+ catch ( ArtifactResolutionException e )
+ {
+ throw new ArtifactNotFoundException( "NMAVEN-000-000: ", sourceArtifact );
+ }
+ //Do local installing of the dependencies into exe and netplugin repo directories
+ AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
+ Set<Artifact> artifacts = result.getArtifacts();
+
+ File destDir = new File( localRepository, layout.pathOf( sourceArtifact ) ).getParentFile();
+ for ( Artifact artifact : artifacts )
+ {
+ File destFile = new File( destDir, artifact.getFile().getName() );
+ if ( !destFile.exists() || destFile.lastModified() < artifact.getFile().lastModified() )
+ {
+ try
+ {
+ FileUtils.copyFileToDirectory( artifact.getFile(), destDir );
+ }
+ catch ( IOException e )
+ {
+ e.printStackTrace();
+ }
+ }
}
}
@@ -345,7 +513,12 @@
targetDirectory + File.separator + artifact.getFile().getName() );
try
{
- FileUtils.copyFileToDirectory( artifact.getFile(), new File( targetDirectory ) );
+ File targetDirectoryFile = new File( targetDirectory );
+ if ( new File( targetDirectoryFile, artifact.getFile().getName() ).lastModified() <
+ artifact.getFile().lastModified() )
+ {
+ FileUtils.copyFileToDirectory( artifact.getFile(), targetDirectoryFile );
+ }
}
catch ( IOException e )
{
@@ -357,12 +530,13 @@
}
/**
- * @see org.apache.maven.dotnet.artifact.ArtifactInstaller#init(org.apache.maven.dotnet.artifact.ArtifactContext,
- * org.apache.maven.project.MavenProject, java.io.File)
+ * @see org.apache.maven.dotnet.artifact.ArtifactInstaller#init(org.apache.maven.dotnet.artifact.ArtifactContext,org.apache.maven.project.MavenProject,java.util.List, File
*/
- public void init( ArtifactContext artifactContext, MavenProject mavenProject, File localRepository )
+ public void init( ArtifactContext artifactContext, MavenProject mavenProject,
+ List<ArtifactRepository> remoteArtifactRepositories, File localRepository )
{
this.project = mavenProject;
+ this.remoteArtifactRepositories = remoteArtifactRepositories;
this.localRepository = localRepository;
this.artifactContext = artifactContext;
this.assemblyRepositoryLayout = new AssemblyRepositoryLayout();
@@ -450,7 +624,7 @@
{
//TODO: This condition is only here since transitive gac dependencies break the build. This needs to be fixed
//within the core.
- if ( !dependency.getType().equals( "gac" ) )
+ if ( !dependency.getType().startsWith( "gac" ) )
{
model.addDependency( dependency );
}
@@ -462,6 +636,54 @@
new MavenXpp3Writer().write( fileWriter, model );
IOUtil.close( fileWriter );
return new ArtifactMetadataImpl( artifact, tempFile );
+ }
+ private class ExecutableAndNetPluginAndAddinMatchPolicy
+ implements NetDependencyMatchPolicy
+ {
+ public boolean match( NetDependency netDependency )
+ {
+ return netDependency.getType().equals( ArtifactType.EXE.getPackagingType() ) ||
+ netDependency.getType().equals( ArtifactType.NETPLUGIN.getPackagingType() ) ||
+ netDependency.getType().equals( ArtifactType.VISUAL_STUDIO_ADDIN.getPackagingType() ) ||
+ netDependency.getType().equals( ArtifactType.SHARP_DEVELOP_ADDIN.getPackagingType() );
+ }
+ }
+
+ private class ProfileMatchPolicy
+ implements NetDependencyMatchPolicy
+ {
+
+ private String profile;
+
+ public ProfileMatchPolicy( String profile )
+ {
+ this.profile = profile;
+ }
+
+ public boolean match( NetDependency netDependency )
+ {
+ //If no profile is specified in net-dependencies.xml, it matches
+ if ( netDependency.getProfile() == null || netDependency.getProfile().trim().equals( "" ) )
+ {
+ return true;
+ }
+
+ if ( profile == null )
+ {
+ return false;
+ }
+
+ return profile.equals( netDependency.getProfile() );
+ }
+ }
+
+ private static class GacFilter
+ implements ArtifactFilter
+ {
+ public boolean include( org.apache.maven.artifact.Artifact artifact )
+ {
+ return !artifact.getType().startsWith( "gac" );
+ }
}
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactMetadataImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactMetadataImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactMetadataImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactMetadataImpl.java Sat May 19 00:47:30 2007
@@ -45,10 +45,10 @@
}
/**
- * Constructor. This method is intended to by invoked by the plexus-container, not by the application developer.
+ * Constructor. This method is intended to by invoked by the plexus-container, not by the application developer.
*
- * @param artifact the artifact associated with the artifact metadata
- * @param file the pom file of the artifact
+ * @param artifact the artifact associated with the artifact metadata
+ * @param file the pom file of the artifact
*/
public ArtifactMetadataImpl( Artifact artifact, File file )
{
@@ -59,7 +59,7 @@
* Returns the file name of the pom located on a remote repository. Unlike its parent class method, the pom
* file name does not include version info.
*
- * @return the file name of the pom located on a remote repository
+ * @return the file name of the pom located on a remote repository
* @see org.apache.maven.project.artifact.ProjectArtifactMetadata#getRemoteFilename()
*/
public String getRemoteFilename()
@@ -79,7 +79,7 @@
public String getLocalFilename( ArtifactRepository repository )
{
return super.getLocalFilename(repository);
- // return getArtifactId() + ".pom";
+ //return getArtifactId() + ".pom";
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java Sat May 19 00:47:30 2007
@@ -28,18 +28,19 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Dependency;
+
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import java.util.Set;
import java.util.HashSet;
import java.util.List;
-import java.util.ArrayList;
+
import java.io.File;
/**
@@ -95,15 +96,14 @@
* @see AssemblyResolver#resolveTransitivelyFor
*/
public void resolveTransitivelyFor( MavenProject project, Artifact sourceArtifact, List<Dependency> dependencies,
- File pomFile, String localRepositoryPath,
+ List<ArtifactRepository> remoteArtifactRepositories,
+ ArtifactRepository localArtifactRepository,
boolean addResolvedDependenciesToProject )
throws ArtifactResolutionException, ArtifactNotFoundException
{
- ArtifactMetadataImpl meta = new ArtifactMetadataImpl( sourceArtifact, pomFile );
- sourceArtifact.addMetadata( meta );
-
Set<Artifact> artifactDependencies = new HashSet<Artifact>();
Set<Artifact> gacDependencies = new HashSet<Artifact>();
+ ArtifactFilter gacFilter = new GacFilter();
for ( Dependency dependency : dependencies )
{
String scope = ( dependency.getScope() == null ) ? Artifact.SCOPE_COMPILE : dependency.getScope();
@@ -113,39 +113,50 @@
dependency.getVersion() ),
dependency.getType(),
dependency.getClassifier(), scope, null );
- if ( artifact.getType().equals( "gac" ) )
+ if ( artifact.getType().startsWith( "gac" ) )
{
+ logger.debug(
+ "NMAVEN-000-000: GAC Dependency = " + artifact.getType() + ", ID = " + artifact.getArtifactId() );
gacDependencies.add( artifact );
}
else
{
+ logger.debug( "NMAVEN-000-000: Dependency: Type = " + artifact.getType() + ", Artifact ID = " +
+ artifact.getArtifactId() );
artifactDependencies.add( artifact );
}
}
- ArtifactRepository localArtifactRepository =
- new DefaultArtifactRepository( "local", "file://" + localRepositoryPath, new AssemblyRepositoryLayout() );
-
- List<ArtifactRepository> newArtifactRepositories = new ArrayList<ArtifactRepository>();
- List<ArtifactRepository> artifactRepositories = project.getRemoteArtifactRepositories();
- for ( ArtifactRepository artifactRepository : artifactRepositories )
- {
- ArtifactRepository repo = artifactRepositoryFactory.createArtifactRepository( artifactRepository.getId(),
- artifactRepository.getUrl(),
- new AssemblyRepositoryLayout(),
- artifactRepository.getSnapshots(),
- artifactRepository.getReleases() );
- newArtifactRepositories.add( repo );
- }
ArtifactResolutionResult result = resolver.resolveTransitively( artifactDependencies, sourceArtifact,
- newArtifactRepositories,
- localArtifactRepository, metadata );
+ localArtifactRepository,
+ remoteArtifactRepositories, metadata,
+ gacFilter );
+ Set<Artifact> resolvedDependencies = result.getArtifacts();
+ AssemblyRepositoryLayout layout = new AssemblyRepositoryLayout();
+
if ( addResolvedDependenciesToProject )
{
- Set<Artifact> resolvedDependencies = result.getArtifacts();
+ for ( Artifact artifact : resolvedDependencies )
+ {
+ File originalFileWithVersion = artifact.getFile();
+ File targetFileWithoutVersion = new File( localArtifactRepository + "/" + layout.pathOf( artifact ) );
+ // logger.info( "Original = " + originalFileWithVersion.getAbsolutePath() + ", Target = " +
+ // targetFileWithoutVersion.getAbsolutePath() );
+ originalFileWithVersion.renameTo( targetFileWithoutVersion );
+ // artifact.setFile( targetFileWithoutVersion.getAbsoluteFile() );
+ }
+
resolvedDependencies.addAll( gacDependencies );
project.setDependencyArtifacts( resolvedDependencies );
}
+ }
+ private static class GacFilter
+ implements ArtifactFilter
+ {
+ public boolean include( org.apache.maven.artifact.Artifact artifact )
+ {
+ return !artifact.getType().startsWith( "gac" );
+ }
}
}
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/NetDependenciesRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/NetDependenciesRepositoryImpl.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/NetDependenciesRepositoryImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/NetDependenciesRepositoryImpl.java Sat May 19 00:47:30 2007
@@ -39,7 +39,6 @@
import java.io.Reader;
import java.io.InputStreamReader;
-
/**
* Provides methods for loading and reading the net dependency config file.
*
@@ -187,6 +186,12 @@
return artifacts;
}
+ /**
+ * Returns the artifact associated with the specified id.
+ *
+ * @param id the artifact ID
+ * @return the artifact associated with the specified id
+ */
Artifact getArtifactByID( String id )
{
for ( NetDependency netDependency : netDependencies )
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/package.html (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/package.html Sat May 19 00:47:30 2007
@@ -1,27 +1,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
-<!--
+ <!--
- @(#)package.html
+ @(#)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
+
+ 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.
- 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.
-
--->
+ -->
</head>
+
<body bgcolor="white">
- Provides the implementation classes of the <i>org.apache.maven.dotnet.artifact</i> package.
+Provides the implementation classes of the <i>org.apache.maven.dotnet.artifact</i> package.
</body>
</html>
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/package.html
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/package.html?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/package.html (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/package.html Sat May 19 00:47:30 2007
@@ -1,29 +1,33 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
-<!--
+ <!--
- @(#)package.html
+ @(#)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
+
+ 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.
- 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.
-
--->
+ -->
</head>
+
<body bgcolor="white">
- Provides interfaces and classes for resolving and installing artifacts. The core interface of this package is
- <code>ArtifactContext</code>, which provides the methods for handling artifacts and for providing a properly constructed
+Provides interfaces and classes for resolving and installing artifacts. The core interface of this package is
+<code>ArtifactContext</code>, which provides the methods for handling artifacts and for providing a properly constructed
installer.
</body>
</html>
Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/resources/META-INF/nmaven/artifact-registry.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/resources/META-INF/nmaven/artifact-registry.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/resources/META-INF/nmaven/artifact-registry.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/resources/META-INF/nmaven/artifact-registry.xml Sat May 19 00:47:30 2007
@@ -1,11 +1,11 @@
<?xml version="1.0"?>
<registry-config>
- <repositories>
- <repository>
- <repository-name>net-dependencies</repository-name>
- <repository-class>org.apache.maven.dotnet.artifact.impl.NetDependenciesRepositoryImpl</repository-class>
- <repository-config>/META-INF/nmaven/net-dependencies.xml</repository-config>
- </repository>
- </repositories>
+ <repositories>
+ <repository>
+ <repository-name>net-dependencies</repository-name>
+ <repository-class>org.apache.maven.dotnet.artifact.impl.NetDependenciesRepositoryImpl</repository-class>
+ <repository-config>/META-INF/nmaven/net-dependencies.xml</repository-config>
+ </repository>
+ </repositories>
</registry-config>