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 }