1 package com.imcode.ant.tasks; 2 3 import org.apache.tools.ant.BuildException; 4 import org.apache.tools.ant.Task; 5 6 import java.io.*; 7 import java.util.Properties; 8 9 public class PropertiesMerge extends Task { 10 11 private File srcFile; 12 private File destFile; 13 private File mergeFile; 14 15 public void execute() throws BuildException { 16 try { 17 Properties source = new Properties(); 18 source.load( new FileInputStream( srcFile ) ); 19 Properties merge = new Properties(); 20 merge.load( new FileInputStream( mergeFile ) ); 21 source.putAll( merge ); 22 source.store( new FileOutputStream( destFile ), null); 23 } catch ( IOException e ) { 24 throw new BuildException( e ); 25 } 26 } 27 28 public void setSrcFile( File srcFile ) { 29 this.srcFile = srcFile; 30 } 31 32 public void setDestFile( File destFile ) { 33 this.destFile = destFile; 34 } 35 36 public void setMergeFile( File mergeFile ) { 37 this.mergeFile = mergeFile; 38 } 39 }