Newer
Older
* Copyright 2012-2016 European Union
*
* Developed by Graz University of Technology,
* Institute of Internal Combustion Engines and Thermodynamics,
* Institute of Technical Informatics
*
* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved
* by the European Commission - subsequent versions of the EUPL (the "Licence");
* You may not use VECTO except in compliance with the Licence.
* You may obtain a copy of the Licence at:
*
* https://joinup.ec.europa.eu/community/eupl/og_page/eupl
* Unless required by applicable law or agreed to in writing, VECTO
* distributed under the Licence is distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the Licence for the specific language governing permissions and
* limitations under the Licence.
*
* Authors:
* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology
* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology
* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology
* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology
* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology
* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
using System.IO;
using System.Text.RegularExpressions;
namespace LicenceHeader
{
/// <summary>
/// Updates/Adds the EUPL license header to every .cs file in the solution directory
/// </summary>
internal class Program
{
private const string SolutionRootDirectory = @"..\\..\\..";
private static void Main()
{
var licence = File.ReadAllText("header.txt", Encoding.Default);
foreach (var file in Directory.GetFiles(SolutionRootDirectory, "*.cs", SearchOption.AllDirectories)) {
if (file.Contains("\\obj\\") || file.Contains("\\bin\\")) {
continue;
}
var re = new Regex("^.*?(?=using|namespace)", RegexOptions.Singleline);
var content = File.ReadAllText(file, Encoding.Default);
var updatedContent = re.Replace(content, licence);
if (updatedContent != content) {
File.WriteAllText(file, updatedContent, Encoding.Default);
Console.WriteLine("Updated " + file);
count++;
Console.WriteLine("Finished. Updated {0} files.", count);
Console.ReadKey();