Not signed in (Sign In)
 
Sep 17th 2007
 
For each release the following files has to be edited to change the version number:

- readme.html
- setup/index.html
- setup/installer.php
- setup/upgrader.php
- and appg/settings.php

Then Vanilla need to be packed and posted on the forum, the change log posted and finally the new version of Vanilla, Framework and People need to be tagged on the svn repository.

It could also be used to pack and "minify" js and css files.

Could we use a building tool to simplify this process?
Who is confident with writing make, Ant or Phing build file?
 
Oct 1st 2007
 
I am creating a branch for it. If mark is ok with the result, we could use it for vanilla 1.2; the new feature will go in the the branch and the security fix in the trunk, so we are still able to release a 1.1.x version if needed.
 
Oct 1st 2007
 
Another thing that needs to be updated for each year is the copyright message at the bottom of themes/people_foot.php

Nothing against Ant or Phing, but what about turning index.html into PHP and reference the version numbers with all php files by including appg/settings.php?

That way there would only be two files to change: readme.html (this should probably stay static HTML so its still readable if someone doesn't have PHP installed) and appg/settings.php.
 
Oct 2nd 2007 edited
 
Good idea. That would better that what I did for the file that need to display the version number (Installation pages); especially that I left appg/settings.php like it was ; some paging using it, we don't want to built vanilla to test some changes.

Because of the test at the end of appg/settings.php, we can't just include it and use the version constants. How would you do it? Add something like appg/version.php?

So far I wrote the build (only change the version number in comments, readme and the set-up pages and minify the js files), update, commit and tag targets (the last two check that there is no conflict). Tagging a new release take a few seconds.

There is still to do the doc (change log, api doc...) and the upload target. But for that I need to know how mark upload a new package and update lussumo about the last package.

An install and update target could be created as well, it could be useful for testing.

I used Ant because it is integrated in Eclipse and phing is quite slow and buggy on windows, but it should be easy to convert it to phing.
 
Oct 3rd 2007
 
I like the version.php idea.

I'm not familiar with ant or phing. What do I need to have on the server in order for them to work?

My upgrade process for getvanilla.com is quite manual. The changes are written manually into changelog.html. Then I edit the download.php file so that the latest version of Vanilla is manually added in there (It doesn't reference a database at all except for recording what was downloaded and the version).

I've always kept it a manual process so that I have to go through it very slowly and make sure there are no mistakes of any kind. Sounds lame, but I spent all my time on development of the application and none of my time on development of the release of the application :/
 
Oct 3rd 2007
 
On the server, you wouldn't not need anything.

Ant would build getvanilla.com, the changelog.html and download.php and use ftp or ssh to upload them on the server.
It would be two different targets, so that you can test the result on your dev server before uploading it on Lussumo.

I started to use Ant for Low-Cal Vanilla because I re-pack and re-minify all the js and css for each release of Vanilla and YUI Compressor would have been a pain with-out it.
 
Oct 8th 2007 edited
 
I updated the vanilla trunk with buildfile related changes. The source files are now in http://lussumo.com/svn/vanilla/trunk/src/. It has been tagged has version 1.1.3.a. I then added Wallphone subjection. All the version numbers are in appg/version.php and are used by the installer files.

The build file build Vanilla by filtering version number token in comments (@@VERSION@@), updating appg/version.php and minify the js file.

It can also build an update package. Because it uses svn diff it is quite slot (there is no equivalent to diff --brief).

here are the details: Requirements:

- JDK 1.5+
- Ant 1.7
- PHPDocumentor 1.4 (not yet implemented)

Usage:

ant [options] [target]

Options:

See Ant manual (http://ant.apache.org/manual/index.html)

Targets:

buildPackage:
Build vanilla packages (vanilla and update).
You should edit the *.version properties (line 75).

buildVanilla (default):
Build a Vanilla package.
You should edit the *.version properties (line 75).

buildUpdate:
Build a Vanilla Update package.
You should edit the *.version properties (line 75).

tag:
Tag the working copy of Vanilla - People and Framework.
You might have to edit *.version properties (line 75) and the build.properties file
for your svn username and password (create one from build.properties-tmp).

getChanges:
Will create diff files for vanilla, people and framework and list of the files modified
since the last release. You should edit the *.version properties (line 75).

update:
Update your working copy
You might have to edit the build.properties file for you svn username and password.

clean:
Remove build and dist folder.

prepare:
Create build and dist folder.
 
Oct 22nd 2007
 
I updated the ant build file to correct the bugs found with the first release.

ant [options] [target]

Options:

See Ant manual (http://ant.apache.org/manual/index.html)

Targets:

buildPackage:
Build vanilla packages (vanilla and update).
You should check vanilla.old.version
hold the correct version number of the last release (line 81).

buildVanilla:
Build a Vanilla package.


buildUpdate:
Build a Vanilla Update package.
You should check vanilla.old.version
hold the correct version number of the last release (line 81).

tag:
Tag the working copy of Vanilla - People and Framework.
You should check vanilla.old.version
hold the correct version number of the last release (line 81)
and the update build.properties file for your svn username and password
(create one from build.properties-tmp).

getChanges:
Will create diff files for vanilla, people and framework and list of the files modified
since the last release. You should check vanilla.old.version
hold the correct version number of the last release (line 81).

update:
Update your working copy
You might have to edit the build.properties file for you svn username and password.

clean:
Remove build and dist folder.

prepare:
Create build and dist folder.

Ant will get the version numbers form appg/version.php and use it to build readme.html page and inline document, and to name the package.
 
Oct 23rd 2007
 
Last change:
All files from /extensions and all php files from /conf are exclude from the package.

I have made the mistake to create the last release from my working copy of the trunk that I use for testing. And files from this folder have been included.

Issue information

  • 19
  • Dinoboff

    Dinoboff

    Bug Tracker

  • Resolved
  • Low
  • Feature

Vanilla 1.1.5 is a product of Lussumo. More Information: Documentation, Community Support.