From 9d9ebf6ce537e2dd60411701ce7344c9d8ad2643 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 24 Dec 2014 09:32:10 +1100 Subject: Support patches without a prelude. --- src/main/java/org/spigotmc/builder/Builder.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/spigotmc/builder/Builder.java') diff --git a/src/main/java/org/spigotmc/builder/Builder.java b/src/main/java/org/spigotmc/builder/Builder.java index 2cbe573..cc0b8b7 100644 --- a/src/main/java/org/spigotmc/builder/Builder.java +++ b/src/main/java/org/spigotmc/builder/Builder.java @@ -246,7 +246,24 @@ public class Builder System.out.println( "Patching with " + file.getName() ); - Patch parsedPatch = DiffUtils.parseUnifiedDiff( Files.readLines( file, Charsets.UTF_8 ) ); + List readFile = Files.readLines( file, Charsets.UTF_8 ); + + // Manually append prelude if it is not found in the first few lines. + boolean preludeFound = false; + for ( int i = 0; i < Math.min( 3, readFile.size() ); i++ ) + { + if ( readFile.get( i ).startsWith( "+++" ) ) + { + preludeFound = true; + break; + } + } + if ( !preludeFound ) + { + readFile.add( 0, "+++" ); + } + + Patch parsedPatch = DiffUtils.parseUnifiedDiff( readFile ); List modifiedLines = DiffUtils.patch( Files.readLines( clean, Charsets.UTF_8 ), parsedPatch ); BufferedWriter bw = new BufferedWriter( new FileWriter( t ) ); -- cgit v1.2.3