• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************************
2  * Copyright 2011 See AUTHORS file.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 
17 package com.badlogic.gdx.tools.headers;
18 
19 import java.io.BufferedWriter;
20 import java.io.File;
21 import java.io.OutputStreamWriter;
22 import java.util.ArrayList;
23 
24 import com.badlogic.gdx.files.FileHandle;
25 import com.badlogic.gdx.tools.FileProcessor;
26 
27 public class HeaderFixer {
28 	static int filesScanned;
29 	static int filesChanged;
30 	static class HeaderFileProcessor extends FileProcessor {
31 		final String header;
32 
HeaderFileProcessor()33 		public HeaderFileProcessor () {
34 			header = new FileHandle("assets/licence-header.txt").readString();
35 			addInputSuffix(".java");
36 			setFlattenOutput(false);
37 			setRecursive(true);
38 		}
39 
40 		@Override
processFile(Entry inputFile)41 		protected void processFile (Entry inputFile) throws Exception {
42 			filesScanned++;
43 			String content = new FileHandle(inputFile.inputFile).readString();
44 			if (content.trim().startsWith("package")) {
45 				System.out.println("File '" + inputFile.inputFile + "' header fixed");
46 				filesChanged++;
47 				BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileHandle(inputFile.outputFile).write(false)));
48 
49 				writer.write(header + "\n\n" + content);
50 				writer.close();
51 			}
52 		}
53 
54 		@Override
processDir(Entry inputDir, ArrayList<Entry> value)55 		protected void processDir (Entry inputDir, ArrayList<Entry> value) throws Exception {
56 		}
57 	}
58 
process(String directory)59 	public static void process (String directory) throws Exception {
60 		HeaderFileProcessor processor = new HeaderFileProcessor();
61 		processor.process(new File(directory), new File(directory));
62 	}
63 
main(String[] args)64 	public static void main (String[] args) throws Exception {
65 		if (args.length != 1) {
66 			HeaderFixer.process("../../gdx/");
67 			HeaderFixer.process("../../backends/");
68 			HeaderFixer.process("../../tests/");
69 			HeaderFixer.process("../../extensions/");
70 		} else {
71 			HeaderFixer.process(args[0]);
72 		}
73 		System.out.println("Changed " + filesChanged + " / " + filesScanned + " files.");
74 	}
75 }
76