com.badlogic.gdx.tools.headers.HeaderFixer Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright 2011 See AUTHORS file.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package com.badlogic.gdx.tools.headers;
import java.io.BufferedWriter;
import java.io.File;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.tools.FileProcessor;
public class HeaderFixer {
static int filesScanned;
static int filesChanged;
static class HeaderFileProcessor extends FileProcessor {
final String header;
public HeaderFileProcessor () {
header = new FileHandle("assets/licence-header.txt").readString();
addInputSuffix(".java");
setFlattenOutput(false);
setRecursive(true);
}
@Override
protected void processFile (Entry inputFile) throws Exception {
filesScanned++;
String content = new FileHandle(inputFile.inputFile).readString();
if (content.trim().startsWith("package")) {
System.out.println("File '" + inputFile.inputFile + "' header fixed");
filesChanged++;
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileHandle(inputFile.outputFile).write(false)));
writer.write(header + "\n\n" + content);
writer.close();
}
}
@Override
protected void processDir (Entry inputDir, ArrayList value) throws Exception {
}
}
public static void process (String directory) throws Exception {
HeaderFileProcessor processor = new HeaderFileProcessor();
processor.process(new File(directory), new File(directory));
}
public static void main (String[] args) throws Exception {
if (args.length != 1) {
HeaderFixer.process("../../gdx/");
HeaderFixer.process("../../backends/");
HeaderFixer.process("../../tests/");
HeaderFixer.process("../../extensions/");
} else {
HeaderFixer.process(args[0]);
}
System.out.println("Changed " + filesChanged + " / " + filesScanned + " files.");
}
}