On 05/12/06, Steve Vinoski <[EMAIL PROTECTED]> wrote:
[Trimming the email thread down for readability]
On Dec 5, 2006, at 7:46 AM, Martin Ritchie wrote:
> On 04/12/06, Steve Vinoski <[EMAIL PROTECTED]> 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.
If that is the case what code goes in to the distribution? Am I wrong
in thinking that it pulls all the jars from your maven repository? So
if I do a default 'mvn' on my highly suspect development branch then I
go to the clean head checkout distribution directory and run mvn to
generate a zip will I have the code from the head or code from my
suspect development branch?
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.
Ah my mistake I thought the assembly:directory part was to do just the
directory build.
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.
That would be great.
--steve
--
Martin Ritchie