james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [VOTE] jSPF-0.9.5 and james-project-1.2
Date Mon, 24 Sep 2007 11:53:45 GMT
Bernd Fondermann ha scritto:
> If I understand correctly, if we'd have released james-project already
> separately, the build would have succeeded?

Yes, but you will have to not use "-Plocal" in this case.

> But not if I am offline, of course, which leads me to the general note
> that I am very much in favor of self-contained releases.  Right?

If you want to build offline and you don't have james-project jars
installed in your local repository or the james-project source folder
checked out in ${jspfdir}/../james-project then you can simply follow
the pom.xml comment and run the mvn install command as explained. And
everything else will work (or at least it is supposed to work ;-) ).

> My personal opinion is that a release which starts pulling stuff from
> the internet to even build (putting hibernate et al. to the side when
> it comes to running a system) is in fact only half a release.

This is subjective. As we discussed in past whether or not a
distribution should include libraries needed to build and test it,
whether it should include maven/ant, it should include a JVM, or a full
OS is probably a matter of personal preference.

My personal opinion is that the minimum a distribution should have is
that the binary release should include every runtime dependency
(excluding the JVM and the OS). A source distribution, IMHO, should not
necessarily be self contained, but it MUST include every source file we
wrote.

There are many maven based projects out there, and I think we (JAMES
team) are the *only* one having found a solution to self contained
source distributions by using the stage folder and the "local
repository" hack (I think the same applies to IVY users and also to our
ant based distribution at the time of non-CDDL javamail/activation).

As we are the only "users" of this hack our bug reports are almost
ignored: AFAIK no one else really use the ${basedir} in a repository
definition.

> <rant> We could start distributing svn checkout commands, this would
> dramatically reduce the size of the distributions.</rant>

In fact to configure continuum I simply use the pom.xml file of the
distribution, or its url from svn. Everything is defined there. BTW I
think that the source distribution is something related to be "open
source". We have to make sure we release at least our SOURCES and the
stage folder is our dependencies and not our sources.

IMHO we can add this explanation to the BUILDING.txt but I don't think
this can be considered a blocking issue.

Please note that in any case you will need an internet connection during
the build because maven wants to download plugins. So at least once you
have to download the plugins. The only way to fix this would be to
bundle a local stage folder for plugins used by the build/test/site
generation stuff (and this is a lot of stuff)

Stefano

>   Bernd
> 
> On 9/24/07, Stefano Bagnara <apache@bago.org> wrote:
>> Bernd Fondermann ha scritto:
>>> Downloaded apache-jspf-0.9.5-src.tar.gz from the staging directory,
>>> unpacked it and ran
>>>   mvn -P local package
>>> like suggested in BUILDING.txt. But it gives me an error:
>>>
>>> [INFO] Failed to resolve artifact.
>>>
>>> GroupId: org.apache.james
>>> ArtifactId: james-project
>>> Version: 1.2
>>>
>>> Reason: Unable to download the artifact from any repository
>>>
>>>   org.apache.james:james-project:pom:1.2
>>>
>>> from the specified remote repositories:
>>>   central (http://repo1.maven.org/maven2),
>>>   local-jspf-stage-repository (file://${basedir}/stage)
>>> <<<<
>>>
>>> So I am -0 on releasing this in its current state.
>>>
>>>   Bernd
>> There is a bug in maven about resolving the parent from the local stage
>> repository.
>> When this vote will pass and the artifacts will be deployed then that
>> file will be in the official repository and will be found.
>> Otherwise, as described in the pom.xml, you have to manually install the
>> parent pom before building:
>>
>> ----
>> <id>local-jspf-stage-repository</id>
>> <name>Local jSPF stage repository</name>
>> <!-- Please note that due to http://jira.codehaus.org/browse/MNG-2896 -->
>> <!-- If you don't have james-project checked out in ../james-project -->
>> <!-- you will have to place your absolute path to the project instead -->
>> <!-- of ${basedir}, or, otherwise, manually install the parent poms -->
>> <!--
>>    #windows:
>>    mvn -fignorepom.xml install:install-file
>>       -Dfile=stage\org.apache.james\poms\james-parent-1.1.pom
>>       -Dpackaging=pom
>>       -DgroupId=org.apache.james
>>       -DartifactId=james-parent
>>       -Dversion=1.1
>>    mvn -fignorepom.xml install:install-file
>>       -Dfile=stage\org.apache.james\poms\james-project-1.2.pom
>>       -Dpackaging=pom
>>       -DgroupId=org.apache.james
>>       -DartifactId=james-project
>>       -Dversion=1.2
>>
>>    #linux:
>>    mvn -fignorepom.xml install:install-file
>>       -Dfile=stage/org.apache.james/poms/james-parent-1.1.pom
>>       -Dpackaging=pom
>>       -DgroupId=org.apache.james
>>       -DartifactId=james-parent
>>       -Dversion=1.1
>>    mvn -fignorepom.xml install:install-file
>>       -Dfile=stage/org.apache.james/poms/james-project-1.2.pom
>>       -Dpackaging=pom
>>       -DgroupId=org.apache.james
>>       -DartifactId=james-project
>>       -Dversion=1.2
>> -->
>> <url>file://${basedir}/stage</url>
>> <layout>legacy</layout>
>> --------
>>
>> Stefano



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


Mime
View raw message