[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-1569) Improve dependency management

Dan Allen (JIRA) jira-events at lists.jboss.org
Mon Jul 23 15:59:47 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBSEAM-1569?page=comments#action_12369787 ] 
            
Dan Allen commented on JBSEAM-1569:
-----------------------------------

I know that when the discussion of Maven2  comes up, so does the debate of relying on a remote repository to get dependencies (and unregulated transitivity). There is one very simple workaround that would keep the Seam build entirely self-contained (which I prefer).

1. Make a repo directory that mimics the structure of the Maven 2 repository with the bare minimum jar files needed for Seam (whatever they are)
2. Make a Maven 2 profile in the pom.xml with the id local-repository, setup as follows:

    <profiles>
        <profile>
            <id>local-repository</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>file://${basedir}/repo</url>
                </repository>
            </repositories>
        </profile>
    </profiles>

3. Add a profiles.xml file adjacent to pom.xml that turns on this profile by default.

<settings>
    <activeProfiles>
        <activeProfile>local-repository</activeProfile>
    </activeProfiles>
</settings>

This gives the user the flexibility to disable the self-containment if they really want to. Otherwise, all jar files would be pulled from the repo directory at the root of the project.

The only really lame part about how Maven 2 deals with repositories is its implicit selection. You have to give the local repository the id "central" or else it will still try to use the central repository. There is no setting for "don't ever use the internet you stupid fool." For whatever reason, the mirrorOf element is only allowed for mirror definitions, not for repositories.

Incidentally, I still think it is a good idea to publish the Seam jars to the central Maven 2 repository. That is a separate goal in my mind.

> Improve dependency management
> -----------------------------
>
>                 Key: JBSEAM-1569
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1569
>             Project: JBoss Seam
>          Issue Type: Task
>    Affects Versions: 2.0.0.BETA1
>            Reporter: Pete Muir
>         Assigned To: Pete Muir
>            Priority: Critical
>             Fix For: 2.0.0.GA
>
>
> Currently we have no separation of compile/runtime dependencies, and required/optional which makes it hard to understand Seam's dependencies

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

        



More information about the seam-issues mailing list