Hi Christian,

> I'd rather like to have the creation of the zip files back in the
> package phase. After all that's what "package" is intended for.

I don't think that the package phase is intended for the creation of
several zip/gz whatever. From the mvn docs, it's just here to: "take
the compiled code and package it in its distributable format, such as
a JAR.". In my understanding it doesn't mean to create several
packages with package.xml without etc, it just would take the
src/main/php code.

On the other hand the assembly plugin is creating a real assembly: "An
"assembly" is a group of files, directories, and dependencies that are
assembled into an archive format and distributed".

Since I distinguish between package and assembly, i think its much
more cleaner to make this work with assembly plugin. Finally I find it
much easier to create new assemblies with the assembly plugin than
with the package plugin.


> If you want the phpdoc be contained in the zip, it should be
> run in the package phase as well. The maven-javadoc-plugin suggests
> this as well if one wants to distribute javadoc as downloadable package.

Yes, if you distribute it as a jar this makes sense.

> Building it this way would have the advantage that we could later
> start doing fancy stuff in the "validate" and "deploy" phases as well.

Thats true, but I am not sure if I want such fancy stuff :-)

Cheers
Christian


> Attached is a patch that does exactly this. If it's ok for you, I
> commit.
>
> BTW, phpunit was started twice, once for code coverage and once for
> surefire, I merged those two runs into one.
>
> bye,
>
> -christian-
>
>
>
>
> Am Sun, 25 Oct 2009 12:56:45 +0100
> schrieb Christian Grobmeier <[email protected]>:
>
>> Hi,
>>
>> > If I understood Maven life cycles correctly, the default lifecycle
>> > with compile and package is supposed to run without having to run
>> > the site lifecycle in between....
>> > The problematic line is:
>> >          <includeSiteDirectory>true</includeSiteDirectory>
>>
>> No, its because I appended the assembly to the package phase. We
>> should delete this line:
>>
>> <phase>package</phase>
>>
>> I will do that later
>> That way assembly and package is independent again
>>
>>
>> > Then there is the pear-assembly.xml which does also packages the
>> > sources but is no PEAR package because the package.xml is not
>> > generated anymore.
>>
>> Yes thats why I asked for your help - i have the lines in the
>> execution  block in the pom, but commented out. We would need to
>> generate this while building. But now I can do this myself :-)
>>
>> > I would propose to have the following:
>> >
>> > * src/assembly/src.xml
>> >        Creates log4php-2.0.0-incubating-src.zip/tgz with everything
>> >        that survives "mvn clean".
>> >
>> > * src/assembly/bin.xml
>> >        Creates log4php-2.0.0-incubating.zip/tgz with just the
>> >        src/main/php/ directory, renamed to log4php/ together
>> >        with the CHANGELOGs + READMEs. It's for users who just want
>> > to copy one directoy to their /usr/local/share/php/
>> >
>> > * src/assembly/pear-package.xml
>> >        Creates log4php-2.0.0incubating.tgz (no zip necessary) that
>> >        contains src/main/php/, src/main/examples/, the toplevel
>> >        READMEs and a valid package.xml which has to be produced
>> > using the pacakge-* scripts as ant task. The latter should be bound
>> >        to the maven "prepare-package" phase and stay in pom.xml.
>> >
>> > What do you think?
>>
>>
>> I agree to the pear-package with having package.xml of course and
>> everything which is needed by pear (means: no test-php).
>>
>> But for the other, I think we need a simple package with everything
>> included, tests and code, license and stuff. I don't see to separate
>> between bin and src, since php doesn't have binaries. I also don't
>> like to touch the directory structure - one can easily copy from
>> src/main/php what he needs. Everything else could lead to confusion
>> with bugreporting.
>>
>> With the fix above goals should work again.
>>
>> Cheers,
>> Christian
>>
>>
>> >
>> > bye,
>> >
>> > -christian-
>> >
>> >
>> >
>> > Am Fri, 23 Oct 2009 08:56:55 +0200
>> > schrieb Christian Grobmeier <[email protected]>:
>> >
>> >> Hi Christian
>> >>
>> >> its not necessary to add this one here. The file in question is
>> >> src/assembly/bin.xml were it's already included.
>> >> I have added the pear-assembly file, but can you help going through
>> >> it? There is some execution missing, which we need to create in the
>> >> pom :-)
>> >>
>> >> Cheers
>> >>
>> >> On Fri, Oct 23, 2009 at 12:28 AM,  <[email protected]> wrote:
>> >> > Author: chammers
>> >> > Date: Thu Oct 22 22:28:53 2009
>> >> > New Revision: 828879
>> >> >
>> >> > URL: http://svn.apache.org/viewvc?rev=828879&view=rev
>> >> > Log:
>> >> > Create .zip file with identical content as the PEAR .tgz.
>> >> > Too bad that the PEAR version number may not (it's validated)
>> >> > contain the -SNAPSHOT so the it has to be specified separately. I
>> >> > could not find out how to elegantly use sed or a regex in the
>> >> > pom.xml.
>> >> >
>> >> > Modified:
>> >> >    incubator/log4php/trunk/pom.xml
>> >> >
>> >> > Modified: incubator/log4php/trunk/pom.xml
>> >> > URL:
>> >> > http://svn.apache.org/viewvc/incubator/log4php/trunk/pom.xml?rev=828879&r1=828878&r2=828879&view=diff
>> >> > ==============================================================================
>> >> > --- incubator/log4php/trunk/pom.xml (original) +++
>> >> > incubator/log4php/trunk/pom.xml Thu Oct 22 22:28:53 2009 @@
>> >> > -117,6 +117,7 @@ <properties>
>> >> >                
>> >> > <surefire.reports>target/surefire-reports</surefire.reports>
>> >> >                
>> >> > <coverage.report>target/site/coverage-report</coverage.report>
>> >> > +               <pear.version>2.0</pear.version>
>> >> >        </properties>
>> >> >
>> >> >        <build>
>> >> > @@ -190,6 +191,14 @@
>> >> >                                 <exec executable="pear"
>> >> > dir="target/pear"> <arg line="package"/>
>> >> >                                 </exec>
>> >> > +                                <!-- Create zip archive with
>> >> > identical contents as the .tgz -->
>> >> > +                                <!-- The version number of the
>> >> > pear package does never contain -SNAPSHOT. -->
>> >> > +                                <untar dest="target/zip">
>> >> > +                                    <gzipresource>
>> >> > +                                        <file
>> >> > file="target/pear/log4php-${pear.version}.tgz"/>
>> >> > +                                    </gzipresource>
>> >> > +                                </untar>
>> >> > +                                <zip
>> >> > destfile="target/pear/log4php-${pear.version}.zip"
>> >> > basedir="target/zip/" /> </tasks> </configuration>
>> >> >                     </execution>
>> >> >
>> >> >
>> >> >
>> >
>

Reply via email to