Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Select Git revision
  • a8d985cb2ffda243a4efd4be47a8e1b8a03f114f
  • stable default
  • feat-fchv-bus
  • fix-h2-ice-bus
  • powertrains-multiple-axles
  • amdm3/develop
  • issue-1039
  • amdm3/main
  • test/nuget_publish
  • IEPC-experiments
  • amdm2/main
  • amdm2/develop
  • aptngearbox-not-auto
  • playground
  • official/main
  • official/develop
  • issue-templates
  • pdf-reports
  • HEV-timeruns-dev
  • timerun-empower-hybrids
  • timerun-pwheel-hybrids
  • Release/v5.0.3
  • Release/v5.0.1
  • Release/5.0.0-RC
  • Nuget/v0.11.4-DEV
  • Release/v0.11.4-DEV
  • Release/4.3.4-DEV
  • Release/4.3.3
  • Release/4.3.2-RC
  • Release/v4.3.0-DEV
  • Release/4.2.7
  • XMLConverterTool/4.2.6.0
  • Release/4.2.6-RC
  • Release/v4.2.5
  • Release/v4.2.3
  • Release/v4.2.2.3539-RC
  • Release/v4.2.1.3469
  • Release/v0.11.2.3456-DEV
  • Release/v4.2.0.3448-RC
  • Release/v4.1.3.3415
  • Release/v4.1.1.3413
41 results

Program.cs

Blame
  • Forked from VECTO / VECTO Sim
    10500 commits behind the upstream repository.
    user avatar
    Michael KRISPER authored
    a8d985cb
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Program.cs 3.11 KiB
    /*
    * This file is part of VECTO.
    *
    * 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;
    using System.IO;
    using System.Linq;
    using System.Text;
    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()
    		{
    			Console.ForegroundColor = ConsoleColor.White;
    			Console.WriteLine("Updating Licence-Headers in Sourcefiles.");
    			Console.ResetColor();
    			Console.WriteLine();
    			Console.WriteLine("Search Directory: {0}", Path.GetFullPath(SolutionRootDirectory));
    			Console.WriteLine("Filter: *.cs");
    			Console.WriteLine("Excluded Dirs: \\obj, \\bin");
    			Console.WriteLine("Header-File: {0}", Path.GetFullPath("header.txt"));
    
    			var licence = File.ReadAllText("header.txt", Encoding.UTF8);
    			var re = new Regex("^.*?(?=using|namespace)", RegexOptions.Singleline);
    
    			var updatedFiles = Directory.EnumerateFiles(SolutionRootDirectory, "*.cs", SearchOption.AllDirectories)
    				.AsParallel()
    				.Where(f => !(f.Contains("\\obj\\") || f.Contains("\\bin\\")))
    				.Select(f => {
    					var content = File.ReadAllText(f, Encoding.UTF8);
    					return new { name = f, content, replacedContent = re.Replace(content, licence) };
    				})
    				.Where(f => f.content != f.replacedContent)
    				.Select(f => {
    					File.WriteAllText(f.name, f.replacedContent, Encoding.UTF8);
    					return f.name;
    				});
    
    			var count = 0;
    			foreach (var f in updatedFiles) {
    				count++;
    				Console.WriteLine(f.Substring(SolutionRootDirectory.Length - 1));
    			}
    
    			Console.WriteLine();
    			Console.ForegroundColor = ConsoleColor.White;
    			Console.WriteLine("Finished. Updated {0} files.", count);
    			Console.ResetColor();
    
    			Console.ReadKey();
    		}
    	}
    }