Jérôme Renard wrote:
> Gaetano,
>
> Le 16/02/10 17:50, Gaetano Giunta a écrit :
>> Jérôme Renard wrote:
>>> Hi Gaetano,
>>>
>>
>> Hi JR, thanks for the quick reply.
>
> You are welcome.
>
> [...]
>> I just read the instructions, and there are a couple of questions I have 
>> that are not answered in there:
>>
>> - I have a trunk and many branches. Shall the ant files be put in
>> /trunk/ant and /branches/2.0/ant
>> or in
>> /trunk/extension/ezoracle/ant and /branches/2.0/extension/ezoracle/ant
>>
>
> You can have an ant/<extension.name>.properties file for each of your branch 
> wether it is trunk/ branches/ or anything else.
> Actually eZExtensionBuilder's build.xml file fetches the 
> ${extension.name}.svn.url property so it is not a problem to create different
> builds for different branches.
>
> For example you could get the following directory structure :
>
> myextension
> ├── branches
> │   ├── 1.0
> │   │   └── ant
> │   │       └── myextension.properties
> │   └── 2.0
> │       └── ant
> │           └── myextension.properties
> └── trunk
>       └── ant
>           └── myextension.properties
>
> As long as you build from the correct directory, it will work :)
>
>> - how about a max and min supported versions for ezp? In the example below 
>> you specify a single ezp version, but my branch 2.0 is compatible with ezp 
>> 4.0 to 4.2
>> (and other branches have different compatibilities)
>
> Sounds like an interesting enhancement to me.
>
>>
>> - what is the usage of the create.tarball setting?
>
> Some extensions require a tarball like ezsi or ezxmlexport for example.
> If you set create.tarball to "yes" you will get a tarball once the build 
> process is finished.
>
>>
>> - can you give more details about management of packages?
>>
>
> Note, here is how to get the list of available targets :
>
> 18:00 jer...@gimli~/work/www/php5/ezpublish/svn/trunk/extension/ezsi% ant -p 
> -Dextension.name=ezsi
> Buildfile: build.xml
> eZExtensionBuilder build file
> Main targets:
>
>    -build-dependency                  Builds a dependency
>    -create-package-tarball            Creates a tarball of an ezpackage.
>    -fail-if-file-empty                checks if a file exists but fails if it 
> is empty
>    all                                Build the extension and generate the 
> tarball
>    build                              Builds the extension
>    build-dependencies                 Build dependent extensions
>    check-gnu-files                    Checks for LICENSE and README files

To be documented: where are these supposed to be

>    check-sql-files                    Checks if a schema.sql / cleandata.sql 
> is available for supported databases

Same as above (btw, I thought we'df not settled up on a definitive dir for 
those. good to see we have).

>    clean                              Removes the entire build directory
>    clean-all                          Removes the build/ and the dist/ 
> directory
>    coding-standards-check             Checks PHP code coding standard, 
> requires PHPCodeSniffer

I see this has not been implemnted yet.
I think the best thing would be to integrate the sniffer defs from 
http://svn.projects.ez.no/ezcodensiffer/

>    create-package-tarballs            Creates tarballs for ezpackages.
>    dist                               Creates a tarball of the built extension
>    dist-clean                         Removes the generated tarball
>    eznetwork-certify                  Runs the certification script, requires 
> the latest eZNetwork extension
>    generate-documentation             Generates the document of the 
> extension, if created in RST
>    generate-ezpackage-xml-definition  Generates an XML definition for eZ 
> Publish extension package types
>    generate-md5sums                   Generates an MD5 file with all md5 sums 
> of source code files
>    help                               Shows this help
>    init                               Prepares the extension to be built
>    show-properties                    Shows the properties for this build file
>    tests                              Launch unit tests if any
>    update-ezinfo                      Updates ezinfo.php with correct version 
> numbers

To document: how is the line to be updated found (regexp used)

>    update-license-headers             Update license headers in source code 
> files
>    update-package-xml                 Updates version numbers in package.xml

To do (could not find it yet in build.xml): add a target to update a variable 
list of files setting the version number, ezp version number and license - see 
as 
an example of file to be patched: 
http://svn.projects.ez.no/ezoracle/branches/2.0/extension/ezoracle/INSTALL

> Default target: help
>
> 18:00 jer...@gimli~/work/www/php5/ezpublish/svn/trunk/extension/ezsi% ant 
> help -Dextension.name=ezsi
> Buildfile: build.xml
>
> help:
>        [echo] Please run : ant -p to learn more about available targets
>
> show-properties:
>        [echo] build.dir        : build
>        [echo] extension name   : ezsi
>
> BUILD SUCCESSFUL
> Total time: 0 seconds
>
> Here is an example with create.tarball=yes take from ezsi:
>
> <!-- version properties -->
> ezsi.version.major     = 1
> ezsi.version.minor     = 2
> ezsi.version.release   = 0
>
> ezsi.create.tarball=yes
>
> <!-- Subversion properties -->
> ezsi.svn.url      = http://svn.projects.ez.no/ezsi/trunk/ezsi
>
>> ciao
>> Gaetano
>>
>>> Attached a screenshot that shows the extensions we build with hudson and
>>> ezextension builder.
>>
>> mmm.... no ezoracle in there... ;)
>>
>
> No, not yet, it already took us (oms and me) quite a while to port the 6000 
> lines shell script
> we used to use to build eZ Publish to its Ant equivalent so we focused on 
> MySQL.
>

Nice to see it shrank to 700 lines!

> 'Hope that helps.
>

-- 
Sdk-public mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/sdk-public

Reply via email to