/******************************************************************************* * 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<Entry> 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."); } }