You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "Mike Whittemore (JIRA)" <ji...@codehaus.org> on 2006/01/04 21:14:09 UTC

[jira] Commented: (MNG-1867) deprecate system scope, analyse other use cases

    [ http://jira.codehaus.org/browse/MNG-1867?page=comments#action_54937 ] 

Mike Whittemore commented on MNG-1867:
--------------------------------------

I would like to be able to specify a system path for any dependency regardless of the scope. For example, I would like to mark junit-3.8.1 as being in the "test" scope, yet point at a jar that is not in the repository. Something like this:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
<path>${cots.top}/junit/junit.jar</path>
</dependency>

I don't want to mark it as "system" scope, simply to say it is not in the repository because that would lose the fact that it is really something scoped for the unit test phase.

I understand the preferred way to use maven is to install 3rd-party artifacts in the repository (and the public ibiblio repository if possible), but the security culture in my company will not allow it (there is a rigid procedure for how 3rd-party jars and tools get downloaded, installed, and used -  not uncommon in our particular industry). Without this feature I will be forced to mark all 3rd-party jars as "system" scoped, which I want to avoid. Regardless of my special circumstances, this feature would add a little more flexibility to maven for handling special cases.

So to summarize, I would like to be able to tag certain dependencies with a system path, but still tag them with an appropriate build scope such as"runtime",  "test" or "provided". If tagged with a path, the dependency would not go to the repository to resolve the jar, but instead would follow the system path. Additionally, the path should be allowed to contain variables so I can make the build portable across operating systems (for example, by using a varaible to indicate the root directory of COTS software installations).

I would be happy to help out with the implementation, though I would need a few pointers of where to focus my attention.

> deprecate system scope, analyse other use cases
> -----------------------------------------------
>
>          Key: MNG-1867
>          URL: http://jira.codehaus.org/browse/MNG-1867
>      Project: Maven 2
>         Type: Task

>   Components: design, Artifacts and Repositories
>     Reporter: Brett Porter
>      Fix For: 2.1

>
>
> possibly can avoid all use cases for system scope through proper use of alternate resolvers. Gather use cases (see MNG-1471) to ensure.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org