have created. They are only based on binaries and do not define any
upload these artifacts. Brett, I think it is the same case for you and
> You might want to consider adding the pdb and source archives with
> appropriate classifiers along with the assemblies/dlls. Even if you don't
> index the pdb files (see below) it will be easy to go back and do so later.
>
>
> =======================================
> If you want to go way out of the way you can even add source server
> information to the pdb files.
>
> Lets say you create a maven plugin with the following goal/arguments:
>
> prompt>mvn source-server:resolve -DgroupId="com.acme.mortar"
> -DartifactId="tools" -Dversion="1.3.2" -DrelativeFile="tooling/trowel.cs"
> -DoutputPath="C:\mysrc\"
>
> The result of this goal would be to resolve the
> com.acme.mortar:tools:sources:1.3.2:jar artifact and extract the
> tooling/trowel.cs file and copy it to
> C:\mysrc\com\acme\mortar\tools\1.3.2\tooling\trowel.cs
>
> You then process the pdb files to inject the magic srcsrv stream (see an
> earlier post) which will tell the MS debugging tools for windows how to form
> the above command for any of the files used to build the assembly/pdb.
>
> The result of this dance will be the ability for the Visual Studio debugger
> to magically step down into the source code of any of the assemblies you
> have placed into the maven repository.
>
> I wrote a post on this mailing list a few weeks ago which gives a lot more
> of the details.
>
>
> On Nov 6, 2008, at 3:52 PM, Mimil Mimil wrote:
>
> Hi,
>>
>> As you advised I am making artifacts from binaries because I do not belong
>> to the projects I am doing artifacts - I just want to add more nmaven
>> artifacts for the community.
>>
>> Dependencies will be differents are they are I think related to the
>> environments so I think the only way to manage this is classifier.
>>
>> How the lib differs between environments? I don't have any knowledge of
>> .net
>> but the clearest exemple is for compact framework. As it targets mobiles,
>> pda, ... it is certainly a lot different from the conventional framework.
>> As yes did different DLLs for the different frameworks I think it is
>> because
>> they need it, that's all I can say =)
>>
>> An easy way would be for now to not set dependencies (if we have problem
>> on
>> this point) but is the classifier stuff supported out of the box to deploy
>> manual artifacts? I mean is the namming convention
>> <artifactId>-<version>-<everything else after version is considered as a
>> classifier> ?
>>
>> Do we have to develop a little plugin in order to specify the classifier
>> of
>> artifacts? I say that because the only things I saw through the web as or
>> based on the maven-jar-plugin or on war plugin which I don't remember the
>> name.
>> Maybe
http://mojo.codehaus.org/build-helper-maven-plugin/usage.html can
>> be
>> used with attach-artifact?
>>
>> Regards,
>> Cedric,
>>
>> On Thu, Nov 6, 2008 at 7:19 PM, Brett Porter <
brett@...> wrote:
>>
>> Yes, you should use classifiers, so the POM you have looks fine (and
>>> there
>>> need be just one). If you are building with NMaven yourself, we need to
>>> make
>>> sure the compiler plugin supports adding classifiers.
>>>
>>> Profiles shouldn't be needed. If the dependencies differ between them, it
>>> might be a problem.
>>>
>>> Is it required to have different versions for each framework? How do they
>>> differ exactly?
>>>
>>> Cheers,
>>> Brett
>>>
>>>
>>> On 05/11/2008, at 10:36 AM, Mimil Mimil wrote:
>>>
>>> Hello,
>>>
>>>>
>>>> I am trying to make nmaven artifacts using dll binaries but I would like
>>>> to
>>>> define the dependencies of this dll.
>>>> In the case of log4net I am currently trying to make I want to make
>>>> artifacts for each dotnet environments (dotnet 2.0, dotnet 1.1, mono
>>>> ...)
>>>> and I think it should be handled using classifiers.
>>>>
>>>> As for now I think we have to use profiles to define each environemnt
>>>> artifacts, by the way I don't know how to use these profiles to make
>>>> classifiers.
>>>>
>>>> Here is my current pom with net-1.2 profile and its dependencies:
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>
>>>> <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>log4net</groupId>
>>>>> <artifactId>log4net</artifactId>
>>>>> <version>1.2.10.0-SNAPSHOT</version>
>>>>> <name>Log for .Net</name>
>>>>> <description>log4net is a tool to help the programmer output log
>>>>> statements to a variety of output targets.
>>>>> </description>
>>>>> <url>
http://www.xml-rpc.net/</url>
>>>>> <packaging>dotnet:library</packaging>
>>>>>
>>>>>
>>>>> <licenses>
>>>>> <license>
>>>>> <name>The Apache2 License</name>
>>>>> <url>
>>>>>
http://logging.apache.org/log4net/license.html>>>>> </url>
>>>>> </license>
>>>>> </licenses>
>>>>>
>>>>> <build>
>>>>> <finalName>log4net</finalName>
>>>>> <!-- To define the plugin version in your parent POM -->
>>>>> <pluginManagement>
>>>>> <plugins>
>>>>> <plugin>
>>>>> <groupId>org.apache.maven.plugins</groupId>
>>>>> <artifactId>maven-repository-plugin</artifactId>
>>>>> <version>2.1</version>
>>>>> </plugin>
>>>>> </plugins>
>>>>> </pluginManagement>
>>>>> <!-- To use the plugin goals in your POM or parent POM -->
>>>>> <plugins>
>>>>> <plugin>
>>>>> <groupId>org.apache.maven.plugins</groupId>
>>>>> <artifactId>maven-repository-plugin</artifactId>
>>>>> <version>2.1</version>
>>>>> </plugin>
>>>>> </plugins>
>>>>> </build>
>>>>>
>>>>>
>>>>> <profiles>
>>>>> <profile>
>>>>> <id>net-2.0</id>
>>>>>
>>>>> <dependencies>
>>>>> <dependency>
>>>>> <groupId>System.Data</groupId>
>>>>> <artifactId>System.Data</artifactId>
>>>>> <version>2.0.0.0</version>
>>>>> <type>dotnet:gac</type>
>>>>> <scope>system</scope>
>>>>> <classifier>b77a5c561934e089</classifier>
>>>>>
>>>>>
>>>>>
>>>>> <systemPath>${env.GAC_ROOT}/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll</systemPath>
>>>>> </dependency>
>>>>> <dependency>
>>>>> <groupId>System.Web</groupId>
>>>>> <artifactId>System.Web</artifactId>
>>>>> <version>2.0.0.0</version>
>>>>> <type>dotnet:gac</type>
>>>>> <scope>system</scope>
>>>>> <classifier>b03f5f7f11d50a3a</classifier>
>>>>>
>>>>>
>>>>>
>>>>> <systemPath>${env.GAC_ROOT}/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll</systemPath>
>>>>> </dependency>
>>>>> </dependencies>
>>>>> </profile>
>>>>> </profiles>
>>>>>
>>>>> </project>
>>>>>
>>>>>
>>>>> Another way to do it is to have a pom by environment and insert the
>>>> classifier name inside the versionId. I remember something about
>>>> versionId
>>>> that must be w.x.y.z, will it be a problem?
>>>>
>>>> I thought to use repository:bundle-pack for the installation in
>>>> repositories
>>>> but I don't know if I have to use this or just a mvn deploy:deploy-file
>>>> or...
>>>>
>>>> Any help welcome. I think it will help a lot to have more nmaven
>>>> artifacts
>>>> to have such a thing clear (and documented somewhere).
>>>> Thanks,
>>>>
>>>> Regards,
>>>> Cédric,
>>>>
>>>>
>>> --
>>> Brett Porter
>>>
brett@...
>>>
http://blogs.exist.com/bporter/>>>
>>>
>>>
> Sincerely,
> James Carpenter
> cell: 832-677-7247
> email:
jcarpenter621@...
>
>
>
>