def create_from(file_map)
      @izpackVersion ||= '4.3.5' 
      @appName ||= project.id
      @izpackBaseDir = File.dirname(@output) if !@izpackBaseDir
      @installerType ||= 'standard'
      @inheritAll ||= 'true'
      @compression ||= 'deflate'
      @compressionLevel ||= '9'
      @locales ||= ['eng']
      @panels  ||= ['TargetPanel', 'InstallPanel']
      @packs   ||= 
      raise "You must include at least one file to create an izPack installer" if file_map.size == 0 and !File.exists?(@input) 
      izPackArtifact = Buildr.artifact( "org.codehaus.izpack:izpack-standalone-compiler:jar:#{@izpackVersion}")
      doc = nil
      if !File.exists?(@input)
	genInstaller(Builder::XmlMarkup.new(:target=>File.open(@input, 'w+'), :indent => 2), file_map)
	# genInstaller(Builder::XmlMarkup.new(:target=>$stdout, :indent => 2), file_map)
	# genInstaller(Builder::XmlMarkup.new(:target=>File.open('/home/niklaus/tmp2.xml', 'w+'), :indent => 2), file_map)
      end
      Buildr.ant('izpack-ant') do |x|
	izPackArtifact.invoke
	msg = "Generating izpack aus #{File.expand_path(@input)}"
	trace msg
	if properties
	  properties.each{ |name, value|
			    puts "Need added property #{name} with value #{value}"
			  x.property(:name => name, :value => value) 
			}
	end
	x.echo(:message =>msg)
	x.taskdef :name=>'izpack', 
	  :classname=>'com.izforge.izpack.ant.IzPackTask', 
	  :classpath=>izPackArtifact.to_s
	x.izpack :input=> @input,
		  :output => @output,
		  :basedir => @izpackBaseDir,
		  :installerType=> @installerType,
		  :inheritAll=> @inheritAll,
		  :compression => @compression,
		  :compressionLevel => @compressionLevel do
	end
      end
    end
def create_from(file_map)
      @izpackVersion ||= '4.3.5' 
      @appName ||= project.id
      @izpackBaseDir = File.dirname(@output) if !@izpackBaseDir
      @installerType ||= 'standard'
      @inheritAll ||= 'true'
      @compression ||= 'deflate'
      @compressionLevel ||= '9'
      @locales ||= ['eng']
      @panels  ||= ['TargetPanel', 'InstallPanel']
      @packs   ||= 
      raise "You must include at least one file to create an izPack installer" if file_map.size == 0 and !File.exists?(@input) 
      izPackArtifact = Buildr.artifact( "org.codehaus.izpack:izpack-standalone-compiler:jar:#{@izpackVersion}")
      doc = nil
      if !File.exists?(@input)
	genInstaller(Builder::XmlMarkup.new(:target=>File.open(@input, 'w+'), :indent => 2), file_map)
	# genInstaller(Builder::XmlMarkup.new(:target=>$stdout, :indent => 2), file_map)
	# genInstaller(Builder::XmlMarkup.new(:target=>File.open('/home/niklaus/tmp2.xml', 'w+'), :indent => 2), file_map)
      end
      Buildr.ant('izpack-ant') do |x|
	izPackArtifact.invoke
	msg = "Generating izpack aus #{File.expand_path(@input)}"
	trace msg
	if properties
	  properties.each{ |name, value|
			    puts "Need added property #{name} with value #{value}"
			  x.property(:name => name, :value => value) 
			}
	end
	x.echo(:message =>msg)
	x.taskdef :name=>'izpack', 
	  :classname=>'com.izforge.izpack.ant.IzPackTask', 
	  :classpath=>izPackArtifact.to_s
	x.izpack :input=> @input,
		  :output => @output,
		  :basedir => @izpackBaseDir,
		  :installerType=> @installerType,
		  :inheritAll=> @inheritAll,
		  :compression => @compression,
		  :compressionLevel => @compressionLevel do
	end
      end
    end
The ArchiveTask class delegates this method
 so we can create the archive.
 the file_map is the result of the computations of the include and exclude filters.