Bug 123038 Change order of BIRT streams
Currenlty, birt streams have no order. For example, the version number is stored at the very end of the file! Need to exert some ordering.
core/org.eclipse.birt.core/src/org/eclipse/birt/core/archive/ArchiveUtil.java
/**
	 * Utility funtion to write files/directories to a ZipOutputStream. For directories, all the files and subfolders are written recursively.
	 */
	private static void zipFiles( ZipOutputStream zipOut, File[] files, String tempFolderPath )
		throws FileNotFoundException, IOException
	{
		if ( files == null )
			return;
		
		for ( int i = 0; i < files.length; i++ ) 
		{
			File file = files[i];			
			if ( file.isDirectory() ) 
			{	
				File[] dirFiles = file.listFiles();
				zipFiles( zipOut, dirFiles, tempFolderPath );
			}
			else 
			{ 		
				BufferedInputStream in = new BufferedInputStream( new FileInputStream(file) );
				String relativePath = generateRelativePath( tempFolderPath, file.getPath() );
				ZipEntry entry = new ZipEntry( relativePath );
				entry.setTime( file.lastModified() );				
				zipOut.putNextEntry( entry ); 
				int len;
				byte[] buf = new byte[1024 * 5];
				while ( (len = in.read(buf)) > 0 ) 
				{
					zipOut.write( buf, 0, len );
				}