pascalabcnet/Compiler/IProjectInfo.cs
Mikhalkovich Stanislav e603b1fd6d Mikhalkovich в Copyright
Заготовка для школьного плагина образцов кода
2019-07-28 23:53:15 +03:00

203 lines
2.7 KiB
C#

// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
namespace PascalABCCompiler
{
public enum ProjectType
{
ConsoleApp,
Library,
WindowsApp
}
public interface IProjectInfo
{
string Name
{
get;
}
string MainFile
{
get;
set;
}
string Path
{
get;
}
string ProjectDirectory
{
get;
}
bool DeleteEXE
{
get;
set;
}
bool DeletePDB
{
get;
set;
}
string AppIcon
{
get;
set;
}
int MajorVersion
{
get;
set;
}
int MinorVersion
{
get;
set;
}
int BuildVersion
{
get;
set;
}
int RevisionVersion
{
get;
set;
}
string Product
{
get;
set;
}
string Company
{
get;
set;
}
string Trademark
{
get;
set;
}
string Copyright
{
get;
set;
}
string Title
{
get;
set;
}
string Description
{
get;
set;
}
string CommandLineArguments
{
get;
set;
}
bool IncludeDebugInfo
{
get;
set;
}
bool GenerateXMLDoc
{
get;
set;
}
string OutputFileName
{
get;
}
string OutputDirectory
{
get;
set;
}
ProjectType ProjectType
{
get;
}
IFileInfo[] SourceFiles
{
get;
}
IReferenceInfo[] References
{
get;
}
IResourceInfo[] Resources
{
get;
}
bool ContainsSourceFile(string FileName);
}
public interface IFileInfo
{
string Name
{
get;
set;
}
string Path
{
get;
}
}
public interface IReferenceInfo
{
string AssemblyName
{
get;
}
string FullAssemblyName
{
get;
}
}
public interface IResourceInfo
{
string Name
{
get;
}
}
}