qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Vinoski <vino...@iona.com>
Subject Re: Qpid Java Build Instructions - Trunk (M2+)
Date Tue, 05 Dec 2006 14:44:18 GMT
[Trimming the email thread down for readability]

On Dec 5, 2006, at 7:46 AM, Martin Ritchie wrote:

> On 04/12/06, Steve Vinoski <vinoski@iona.com> wrote:
>> mvn -Pfastinstall
>> cd distribution
>> mvn -Dqpid.targetDir=$QPID_HOME/.. assembly:directory
>>
>> (Note, these are UNIX command lines. For Windows, change to a
>> backslash in the last line.)
>>
>> The first line is executed at the top level to do a Java build, as
>> normal. The "-Pfastinstall" tells it to skip tests, basically, by
>> invoking the fastinstall profile. You then change to the distribution
>> directory, and tell it you want the assemblies to go to $QPID_HOME/..
>> so that the actual new directory contents you're looking for will go
>> under $QPID_HOME. You will also get the usual tar and zip files under
>> $QPID_HOME/.. as well, but you'll just be ignoring those anyway.
>>
>> This way, you can set QPID_HOME and PATH once, and overwrite their
>> contents as you make changes and rebuild.
>>
>> --steve
>
> This doesn't seem to work quite right for me. All the zip/tgz still  
> get built.
> I did:
> mvn -Pfastinstall
> (Wish we could avoid this step and get the dist pom to reference the
> local checkout.. and re-compile only if required)

You don't have to run this step if you've already built. Just cd to  
the distribution directory and start from there.

Note also that the framing code generation is the biggest culprit in  
terms of the lack of build avoidance. Maven didn't change this -- the  
same problem existed with ant. Every time you build, the framing code  
gets regenerated, and about 100 Java files get recompiled as a  
result. There are also 2 JMS CTS Java files under the client that get  
recompiled every time through, not sure why. These two problems add  
unnecessary time to the build, and again, they existed with ant and  
are not a maven issue. I filed a jira for the JMS CTS problem, but  
didn't for the code gen problem because I figured the new code gen  
stuff would be showing up soon (and hopefully it won't have this  
problem).

> cd distribution
> mvn -Dqpid.targetDir=c:/tmp/qpid/ assembly:directory
>
> Am I doing something wrong that is casuing the zips and tars to be
> created each time?

No, see my message above, where it says "You will also get the usual  
tar and zip files under $QPID_HOME/.. as well, but you'll just be  
ignoring those anyway." The job of this phase is to produce  
assemblies, so that's what happens. The assembly:directory part  
simply adds the directory as part of what gets produced.

Next to the tars and zips, you should see a directory named qpid-1.0- 
incubating-M2-SNAPSHOT-java-bin.

> Is it possible to stop all the warning messges related to long  
> paths in the zip?

Such warnings are the default, but there's a configuration setting  
for the assembly plugin called tarLongFileMode that can be set to  
"gnu" to make the warnings go away. I'll commit that change shortly,  
unless someone knows of a reason to avoid that setting.

--steve

Mime
View raw message