boo-lang / boo

The Boo Programming Language.
BSD 3-Clause "New" or "Revised" License
856 stars 144 forks source link

./nant fails on Compiler and booc #203

Closed PegasusMKD closed 4 years ago

PegasusMKD commented 4 years ago

I would really love to start using Boo and try to contribute to the community, but, it seems that the build process has some issues. I'll divide this into 2 parts, the Compiler and the booc.

Compiler

When I first started the nant script, the output was:


NAnt 0.93 (Build 0.93.5019.0; dev; 28.9.2013)
Copyright (C) 2001-2013 Gerry Shaw
http://nant.sourceforge.net

Buildfile: file:///E:/Boo/boo/default.build
Target framework: Microsoft .NET Framework 4.5
Target(s) specified: rebuild 

 [property] Read-only property "skip.antlr" cannot be overwritten.

clean:

[clean delete] Deleting directory 'E:\Boo\boo\build'.

rebuild:

[rebuild mkdir] Creating directory 'E:\Boo\boo\build'.

init:

sign:

Boo.Lang:

[Boo.Lang csc] Compiling 59 files to 'E:\Boo\boo\build\Boo.Lang.dll'.

generate-ast:

   [delete] Deleting directory 'E:\Boo\boo\src\Boo.Lang.Compiler\Ast\Impl'.
    [mkdir] Creating directory 'E:\Boo\boo\src\Boo.Lang.Compiler\Ast\Impl'.
     [exec] E:\Boo\boo\default.build(1060,5): Attribute 'useruntimeengine' for <exec ... /> is deprecated.  Use the managed attribute and Managed property instead.
     [exec] IAstVisitor.Generated.cs
     [exec] Impl/DepthFirstGuide.cs
     [exec] Impl/DepthFirstVisitor.cs
     [exec] Impl/FastDepthFirstVisitor.cs
     [exec] Impl/DepthFirstTransformer.cs
     [exec] Impl/CodeSerializer.cs
     [exec] NodeType.Generated.cs
     [exec] Impl/CompileUnitImpl.cs
     [exec] TypeMemberModifiers.Generated.cs
     [exec] MethodImplementationFlags.Generated.cs
     [exec] ParameterModifiers.Generated.cs
     [exec] ExceptionHandlerFlags.Generated.cs
     [exec] GenericParameterConstraints.Generated.cs
     [exec] Impl/TypeMemberImpl.cs
     [exec] Impl/TypeMemberStatementImpl.cs
     [exec] Impl/ExplicitMemberInfoImpl.cs
     [exec] Impl/TypeMemberCollectionImpl.cs
     [exec] Impl/TypeReferenceImpl.cs
     [exec] Impl/SimpleTypeReferenceImpl.cs
     [exec] Impl/ArrayTypeReferenceImpl.cs
     [exec] Impl/CallableTypeReferenceImpl.cs
     [exec] Impl/GenericTypeReferenceImpl.cs
     [exec] Impl/GenericTypeDefinitionReferenceImpl.cs
     [exec] Impl/TypeReferenceCollectionImpl.cs
     [exec] Impl/CallableDefinitionImpl.cs
     [exec] Impl/TypeDefinitionImpl.cs
     [exec] Impl/TypeDefinitionCollectionImpl.cs
     [exec] Impl/NamespaceDeclarationImpl.cs
     [exec] Impl/ImportImpl.cs
     [exec] Impl/ImportCollectionImpl.cs
     [exec] Impl/ModuleImpl.cs
     [exec] Impl/ModuleCollectionImpl.cs
     [exec] Impl/ClassDefinitionImpl.cs
     [exec] Impl/StructDefinitionImpl.cs
     [exec] Impl/InterfaceDefinitionImpl.cs
     [exec] Impl/EnumDefinitionImpl.cs
     [exec] Impl/EnumMemberImpl.cs
     [exec] Impl/FieldImpl.cs
     [exec] Impl/PropertyImpl.cs
     [exec] Impl/EventImpl.cs
     [exec] Impl/LocalImpl.cs
     [exec] Impl/LocalCollectionImpl.cs
     [exec] Impl/BlockExpressionImpl.cs
     [exec] Impl/MethodImpl.cs
     [exec] Impl/ConstructorImpl.cs
     [exec] Impl/DestructorImpl.cs
     [exec] Impl/ParameterDeclarationImpl.cs
     [exec] Impl/ParameterDeclarationCollectionImpl.cs
     [exec] Impl/GenericParameterDeclarationImpl.cs
     [exec] Impl/GenericParameterDeclarationCollectionImpl.cs
     [exec] Impl/DeclarationImpl.cs
     [exec] Impl/DeclarationCollectionImpl.cs
     [exec] Impl/AttributeImpl.cs
     [exec] Impl/AttributeCollectionImpl.cs
     [exec] StatementModifierType.Generated.cs
     [exec] Impl/StatementModifierImpl.cs
     [exec] Impl/StatementImpl.cs
     [exec] Impl/GotoStatementImpl.cs
     [exec] Impl/LabelStatementImpl.cs
     [exec] Impl/BlockImpl.cs
     [exec] Impl/StatementCollectionImpl.cs
     [exec] Impl/DeclarationStatementImpl.cs
     [exec] Impl/MacroStatementImpl.cs
     [exec] Impl/TryStatementImpl.cs
     [exec] Impl/ExceptionHandlerImpl.cs
     [exec] Impl/ExceptionHandlerCollectionImpl.cs
     [exec] Impl/ConditionalStatementImpl.cs
     [exec] Impl/IfStatementImpl.cs
     [exec] Impl/UnlessStatementImpl.cs
     [exec] Impl/ForStatementImpl.cs
     [exec] Impl/WhileStatementImpl.cs
     [exec] Impl/BreakStatementImpl.cs
     [exec] Impl/ContinueStatementImpl.cs
     [exec] Impl/ReturnStatementImpl.cs
     [exec] Impl/YieldStatementImpl.cs
     [exec] Impl/RaiseStatementImpl.cs
     [exec] Impl/UnpackStatementImpl.cs
     [exec] Impl/ExpressionStatementImpl.cs
     [exec] Impl/ExpressionImpl.cs
     [exec] Impl/ExpressionCollectionImpl.cs
     [exec] Impl/ExpressionPairImpl.cs
     [exec] Impl/ExpressionPairCollectionImpl.cs
     [exec] Impl/MethodInvocationExpressionImpl.cs
     [exec] BinaryOperatorType.Generated.cs
     [exec] BinaryOperatorKind.Generated.cs
     [exec] UnaryOperatorType.Generated.cs
     [exec] Impl/UnaryExpressionImpl.cs
     [exec] Impl/BinaryExpressionImpl.cs
     [exec] Impl/ConditionalExpressionImpl.cs
     [exec] Impl/ReferenceExpressionImpl.cs
     [exec] Impl/MemberReferenceExpressionImpl.cs
     [exec] Impl/GenericReferenceExpressionImpl.cs
     [exec] Impl/LiteralExpressionImpl.cs
     [exec] Impl/QuasiquoteExpressionImpl.cs
     [exec] Impl/StringLiteralExpressionImpl.cs
     [exec] Impl/CharLiteralExpressionImpl.cs
     [exec] Impl/TimeSpanLiteralExpressionImpl.cs
     [exec] Impl/IntegerLiteralExpressionImpl.cs
     [exec] Impl/DoubleLiteralExpressionImpl.cs
     [exec] Impl/NullLiteralExpressionImpl.cs
     [exec] Impl/SelfLiteralExpressionImpl.cs
     [exec] Impl/SuperLiteralExpressionImpl.cs
     [exec] Impl/BoolLiteralExpressionImpl.cs
     [exec] Impl/RELiteralExpressionImpl.cs
     [exec] Impl/SpliceExpressionImpl.cs
     [exec] Impl/SpliceTypeReferenceImpl.cs
     [exec] Impl/SpliceMemberReferenceExpressionImpl.cs
     [exec] Impl/SpliceTypeMemberImpl.cs
     [exec] Impl/SpliceTypeDefinitionBodyImpl.cs
     [exec] Impl/SpliceParameterDeclarationImpl.cs
     [exec] Impl/ExpressionInterpolationExpressionImpl.cs
     [exec] Impl/HashLiteralExpressionImpl.cs
     [exec] Impl/ListLiteralExpressionImpl.cs
     [exec] Impl/CollectionInitializationExpressionImpl.cs
     [exec] Impl/ArrayLiteralExpressionImpl.cs
     [exec] Impl/GeneratorExpressionImpl.cs
     [exec] Impl/ExtendedGeneratorExpressionImpl.cs
     [exec] Impl/GeneratorExpressionCollectionImpl.cs
     [exec] Impl/SliceImpl.cs
     [exec] Impl/SliceCollectionImpl.cs
     [exec] Impl/SlicingExpressionImpl.cs
     [exec] Impl/TryCastExpressionImpl.cs
     [exec] Impl/CastExpressionImpl.cs
     [exec] Impl/TypeofExpressionImpl.cs
     [exec] Impl/AsyncBlockExpressionImpl.cs
     [exec] Impl/AwaitExpressionImpl.cs
     [exec] Impl/CustomStatementImpl.cs
     [exec] Impl/CustomExpressionImpl.cs
     [exec] Impl/StatementTypeMemberImpl.cs
     [exec] ast classes generated in 00:00:00.6635783.

Boo.Lang.Ast:

Boo.Lang.Compiler:

[Boo.Lang.Compiler csc] Compiling 592 files to 'E:\Boo\boo\build\Boo.Lang.Compiler.dll'.
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(58,32): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(58,44): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(60,27): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(60,37): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(62,28): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(62,36): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(64,23): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(64,29): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(66,33): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(66,47): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(68,31): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(68,43): error CS1519: Invalid token ';' in class, struct, or interface member declaration
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(70,39): error CS1002: ; expected
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(70,47): error CS1519: Invalid token ';' in class, struct, or interface member declaration

BUILD FAILED - 0 non-fatal error(s), 2 warning(s)

E:\Boo\boo\default.build(506,4):
External Program Failed: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe (return code was 1)

Total time: 2.6 seconds.

So I fumbled around with the code in UnmanagedResourceHelper.cs, which helped it pass to the next sections of the builder (although it still showed some errors).

booc

When it went through to the next sections after the changes made in the UnmanagedResourceHelper.cs file, I received this error which i can't really change taking into consideration that it says that the problem is inside the .exe (or atleast I didn't catch where it breaks). The log is:


NAnt 0.93 (Build 0.93.5019.0; dev; 28.9.2013)
Copyright (C) 2001-2013 Gerry Shaw
http://nant.sourceforge.net

Buildfile: file:///E:/Boo/boo/default.build
Target framework: Microsoft .NET Framework 4.5
Target(s) specified: rebuild 

 [property] Read-only property "skip.antlr" cannot be overwritten.

clean:

[clean delete] Deleting directory 'E:\Boo\boo\build'.

rebuild:

[rebuild mkdir] Creating directory 'E:\Boo\boo\build'.

init:

sign:

Boo.Lang:

[Boo.Lang csc] Compiling 59 files to 'E:\Boo\boo\build\Boo.Lang.dll'.

generate-ast:

   [delete] Deleting directory 'E:\Boo\boo\src\Boo.Lang.Compiler\Ast\Impl'.
    [mkdir] Creating directory 'E:\Boo\boo\src\Boo.Lang.Compiler\Ast\Impl'.
     [exec] E:\Boo\boo\default.build(1060,5): Attribute 'useruntimeengine' for <exec ... /> is deprecated.  Use the managed attribute and Managed property instead.
     [exec] IAstVisitor.Generated.cs
     [exec] Impl/DepthFirstGuide.cs
     [exec] Impl/DepthFirstVisitor.cs
     [exec] Impl/FastDepthFirstVisitor.cs
     [exec] Impl/DepthFirstTransformer.cs
     [exec] Impl/CodeSerializer.cs
     [exec] NodeType.Generated.cs
     [exec] Impl/CompileUnitImpl.cs
     [exec] TypeMemberModifiers.Generated.cs
     [exec] MethodImplementationFlags.Generated.cs
     [exec] ParameterModifiers.Generated.cs
     [exec] ExceptionHandlerFlags.Generated.cs
     [exec] GenericParameterConstraints.Generated.cs
     [exec] Impl/TypeMemberImpl.cs
     [exec] Impl/TypeMemberStatementImpl.cs
     [exec] Impl/ExplicitMemberInfoImpl.cs
     [exec] Impl/TypeMemberCollectionImpl.cs
     [exec] Impl/TypeReferenceImpl.cs
     [exec] Impl/SimpleTypeReferenceImpl.cs
     [exec] Impl/ArrayTypeReferenceImpl.cs
     [exec] Impl/CallableTypeReferenceImpl.cs
     [exec] Impl/GenericTypeReferenceImpl.cs
     [exec] Impl/GenericTypeDefinitionReferenceImpl.cs
     [exec] Impl/TypeReferenceCollectionImpl.cs
     [exec] Impl/CallableDefinitionImpl.cs
     [exec] Impl/TypeDefinitionImpl.cs
     [exec] Impl/TypeDefinitionCollectionImpl.cs
     [exec] Impl/NamespaceDeclarationImpl.cs
     [exec] Impl/ImportImpl.cs
     [exec] Impl/ImportCollectionImpl.cs
     [exec] Impl/ModuleImpl.cs
     [exec] Impl/ModuleCollectionImpl.cs
     [exec] Impl/ClassDefinitionImpl.cs
     [exec] Impl/StructDefinitionImpl.cs
     [exec] Impl/InterfaceDefinitionImpl.cs
     [exec] Impl/EnumDefinitionImpl.cs
     [exec] Impl/EnumMemberImpl.cs
     [exec] Impl/FieldImpl.cs
     [exec] Impl/PropertyImpl.cs
     [exec] Impl/EventImpl.cs
     [exec] Impl/LocalImpl.cs
     [exec] Impl/LocalCollectionImpl.cs
     [exec] Impl/BlockExpressionImpl.cs
     [exec] Impl/MethodImpl.cs
     [exec] Impl/ConstructorImpl.cs
     [exec] Impl/DestructorImpl.cs
     [exec] Impl/ParameterDeclarationImpl.cs
     [exec] Impl/ParameterDeclarationCollectionImpl.cs
     [exec] Impl/GenericParameterDeclarationImpl.cs
     [exec] Impl/GenericParameterDeclarationCollectionImpl.cs
     [exec] Impl/DeclarationImpl.cs
     [exec] Impl/DeclarationCollectionImpl.cs
     [exec] Impl/AttributeImpl.cs
     [exec] Impl/AttributeCollectionImpl.cs
     [exec] StatementModifierType.Generated.cs
     [exec] Impl/StatementModifierImpl.cs
     [exec] Impl/StatementImpl.cs
     [exec] Impl/GotoStatementImpl.cs
     [exec] Impl/LabelStatementImpl.cs
     [exec] Impl/BlockImpl.cs
     [exec] Impl/StatementCollectionImpl.cs
     [exec] Impl/DeclarationStatementImpl.cs
     [exec] Impl/MacroStatementImpl.cs
     [exec] Impl/TryStatementImpl.cs
     [exec] Impl/ExceptionHandlerImpl.cs
     [exec] Impl/ExceptionHandlerCollectionImpl.cs
     [exec] Impl/ConditionalStatementImpl.cs
     [exec] Impl/IfStatementImpl.cs
     [exec] Impl/UnlessStatementImpl.cs
     [exec] Impl/ForStatementImpl.cs
     [exec] Impl/WhileStatementImpl.cs
     [exec] Impl/BreakStatementImpl.cs
     [exec] Impl/ContinueStatementImpl.cs
     [exec] Impl/ReturnStatementImpl.cs
     [exec] Impl/YieldStatementImpl.cs
     [exec] Impl/RaiseStatementImpl.cs
     [exec] Impl/UnpackStatementImpl.cs
     [exec] Impl/ExpressionStatementImpl.cs
     [exec] Impl/ExpressionImpl.cs
     [exec] Impl/ExpressionCollectionImpl.cs
     [exec] Impl/ExpressionPairImpl.cs
     [exec] Impl/ExpressionPairCollectionImpl.cs
     [exec] Impl/MethodInvocationExpressionImpl.cs
     [exec] BinaryOperatorType.Generated.cs
     [exec] BinaryOperatorKind.Generated.cs
     [exec] UnaryOperatorType.Generated.cs
     [exec] Impl/UnaryExpressionImpl.cs
     [exec] Impl/BinaryExpressionImpl.cs
     [exec] Impl/ConditionalExpressionImpl.cs
     [exec] Impl/ReferenceExpressionImpl.cs
     [exec] Impl/MemberReferenceExpressionImpl.cs
     [exec] Impl/GenericReferenceExpressionImpl.cs
     [exec] Impl/LiteralExpressionImpl.cs
     [exec] Impl/QuasiquoteExpressionImpl.cs
     [exec] Impl/StringLiteralExpressionImpl.cs
     [exec] Impl/CharLiteralExpressionImpl.cs
     [exec] Impl/TimeSpanLiteralExpressionImpl.cs
     [exec] Impl/IntegerLiteralExpressionImpl.cs
     [exec] Impl/DoubleLiteralExpressionImpl.cs
     [exec] Impl/NullLiteralExpressionImpl.cs
     [exec] Impl/SelfLiteralExpressionImpl.cs
     [exec] Impl/SuperLiteralExpressionImpl.cs
     [exec] Impl/BoolLiteralExpressionImpl.cs
     [exec] Impl/RELiteralExpressionImpl.cs
     [exec] Impl/SpliceExpressionImpl.cs
     [exec] Impl/SpliceTypeReferenceImpl.cs
     [exec] Impl/SpliceMemberReferenceExpressionImpl.cs
     [exec] Impl/SpliceTypeMemberImpl.cs
     [exec] Impl/SpliceTypeDefinitionBodyImpl.cs
     [exec] Impl/SpliceParameterDeclarationImpl.cs
     [exec] Impl/ExpressionInterpolationExpressionImpl.cs
     [exec] Impl/HashLiteralExpressionImpl.cs
     [exec] Impl/ListLiteralExpressionImpl.cs
     [exec] Impl/CollectionInitializationExpressionImpl.cs
     [exec] Impl/ArrayLiteralExpressionImpl.cs
     [exec] Impl/GeneratorExpressionImpl.cs
     [exec] Impl/ExtendedGeneratorExpressionImpl.cs
     [exec] Impl/GeneratorExpressionCollectionImpl.cs
     [exec] Impl/SliceImpl.cs
     [exec] Impl/SliceCollectionImpl.cs
     [exec] Impl/SlicingExpressionImpl.cs
     [exec] Impl/TryCastExpressionImpl.cs
     [exec] Impl/CastExpressionImpl.cs
     [exec] Impl/TypeofExpressionImpl.cs
     [exec] Impl/AsyncBlockExpressionImpl.cs
     [exec] Impl/AwaitExpressionImpl.cs
     [exec] Impl/CustomStatementImpl.cs
     [exec] Impl/CustomExpressionImpl.cs
     [exec] Impl/StatementTypeMemberImpl.cs
     [exec] ast classes generated in 00:00:00.6700616.

Boo.Lang.Ast:

Boo.Lang.Compiler:

[Boo.Lang.Compiler csc] Compiling 592 files to 'E:\Boo\boo\build\Boo.Lang.Compiler.dll'.
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\TypeSystem\Generics\GenericConstructedType.cs(49,15): warning CS0659: 'Boo.Lang.Compiler.TypeSystem.Generics.GenericConstructedType' overrides Object.Equals(object o) but does not override Object.GetHashCode()
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(38,33): warning CS0649: Field 'Boo.Lang.Compiler.Resources.Win32Resource._typeName' is never assigned to, and will always have its default value null
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(279,34): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.pstringType' is never assigned to, and will always have its default value null
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(280,34): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.pstringName' is never assigned to, and will always have its default value null
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(282,24): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.DataSize' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(283,24): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.HeaderSize' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(286,24): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.DataVersion' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(287,23): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.MemoryFlags' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(288,23): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.LanguageId' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(289,24): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.Version' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(290,24): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.Characteristics' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(291,25): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE.data' is never assigned to, and will always have its default value null
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(296,23): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE_STRING.Ordinal' is never assigned to, and will always have its default value 0
[Boo.Lang.Compiler csc] e:\Boo\boo\src\Boo.Lang.Compiler\Resources\UnmanagedResourceHelper.cs(297,25): warning CS0649: Field 'Boo.Lang.Compiler.Resources.RESOURCE_STRING.theString' is never assigned to, and will always have its default value null

generate-errorpatterns:

     [echo] WARNING: A recent version of Boo is required!
     [echo] Run again Nant (without clean or rebuild) to actually generate the patterns

Boo.Lang.Parser:

[Boo.Lang.Parser csc] Compiling 125 files to 'E:\Boo\boo\build\Boo.Lang.Parser.dll'.
[Boo.Lang.Parser csc] e:\Boo\boo\src\Boo.Lang.Parser\WSABooParsingStep.cs(33,27): warning CS0672: Member 'Boo.Lang.Parser.WSABooParsingStep.ParseModule(string, System.IO.TextReader, Boo.Lang.Parser.ParserErrorHandler)' overrides obsolete member 'Boo.Lang.Parser.BooParsingStep.ParseModule(string, System.IO.TextReader, Boo.Lang.Parser.ParserErrorHandler)'. Add the Obsolete attribute to 'Boo.Lang.Parser.WSABooParsingStep.ParseModule(string, System.IO.TextReader, Boo.Lang.Parser.ParserErrorHandler)'.
[Boo.Lang.Parser csc] e:\Boo\boo\src\Boo.Lang.Parser\BooParsingStep.cs(92,26): (Location of symbol related to previous warning)
[Boo.Lang.Parser csc] e:\Boo\boo\src\Boo.Lang.Parser\BooParser.cs(65,11): warning CS0612: 'Boo.Lang.Parser.BooParser.CreateParser(int, string, System.IO.TextReader, Boo.Lang.Parser.ParserErrorHandler)' is obsolete
[Boo.Lang.Parser csc] e:\Boo\boo\src\Boo.Lang.Parser\BooParsingStep.cs(74,7): warning CS0612: 'Boo.Lang.Parser.BooParsingStep.ParseModule(string, System.IO.TextReader, Boo.Lang.Parser.ParserErrorHandler)' is obsolete

corecs:

booc:

 [booc csc] Compiling 3 files to 'E:\Boo\boo\build\booc.exe'.
[booc copy] Copying 1 File to 'E:\Boo\boo\build'.
[booc copy] Copying 1 File to 'E:\Boo\boo\build\booc.exe.config'.

Boo.NAnt.Tasks:

[Boo.NAnt.Tasks exec] E:\Boo\boo\default.build(312,4): Attribute 'useruntimeengine' for <exec ... /> is deprecated.  Use the managed attribute and Managed property instead.
[Boo.NAnt.Tasks exec] Boo Compiler version 0.9.7.0 (CLR 4.0.30319.42000)
[Boo.NAnt.Tasks exec] BCE0011: An error occurred during the execution of the step 'Boo.Lang.Compiler.Steps.EmitAssembly': 'Object reference not set to an instance of an object.'.
[Boo.NAnt.Tasks exec] 1 error(s).
[Boo.NAnt.Tasks exec] 5 module(s) processed in 700ms after 40ms of environment setup.

BUILD FAILED - 0 non-fatal error(s), 8 warning(s)

E:\Boo\boo\default.build(312,4):
External Program Failed: E:\Boo\boo\build\booc.exe (return code was 127)

Total time: 7.3 seconds.

I would really appreciate the help since I really love both Python and C#, and I would really like to try implementing Boo where I can, or maybe create some OSS for it.

masonwheeler commented 4 years ago

On the first part, what version of the C# compiler are you using? The errors you're seeing in UnmanagedResourceHelper makes it appear that it doesn't support expression-bodied properties, which were added in C# 6.0.

For the second part, having that error come up is quite annoying. I don't see that when I run it locally; is there any way you can reproduce it under the debugger? Without a stack trace, it's very difficult to guess what's going wrong. I've seen it a few times and it usually means something screwy is going on with generics, but that's just a wild guess.

PegasusMKD commented 4 years ago

It seems, from what I can tell, that the problem is with NAnt, it's taking the Windows built-in .NET Framework 4.5 which doesn't use C# 6.0. I will try to tweak it bit by bit, so as to make it work with what I got with NAnt.

If there is anyway to set the path differently, and set all of the packages it might need from the .NET 4.6 through 4.8 (i tried working on some of the Nant.exe.config, but there were some variables that i don't know where they came from) do tell me.

Sorry for the late reply btw!

masonwheeler commented 4 years ago

Have a look at https://stackoverflow.com/questions/15116265/how-to-specify-msbuild-version-in-nant-script and see if any of the answers offered there are helpful.

PegasusMKD commented 4 years ago

Looks like i missed the mark with the C# Versioning, i changed the small pieces that were with C# 6.0 to be compatible with the one i have, it works (it shows a couple of errors, but they also showed when i ran the file with the csc of the .NET Framework 4.6 which u can see in the booc log that was originally attached under the Boo.Lang.Compiler)

Now the only problem left is with the booc, already tried:

I am lost as to what to do next. The problem seems to be in the Compiler Translating something in the Boo code from Boo.NAnt.Tasks from my understanding, not really sure what the problem is though. I plan on spinning up a Linux VM in Hyper-V and see how the installation behaves there.

masonwheeler commented 4 years ago

I am lost as to what to do next.

At this point, what I'd do is modify your local copy of CompilerErrorFactory.StepExecutionError to include the stack trace of the exception in the reported error. Then you'd have some more context about what's going wrong inside the compiler.

PegasusMKD commented 4 years ago

Managed to fix it thanks to the full stack trace, it built successfully! The problem seemed to be that i changed UnManagedResources so that it would be compatible with the C# that Windows is using, with which in turn I've set some Assembly parameters to null (VersionResource if i'm correct). I just set all of those to " ", and it compiled without errors.

Now I'm running into an issue with the powershell script for the nunit, but I'll try a simple hello world and see if it works. Will post an update.

masonwheeler commented 4 years ago

Happy to hear it's making progress for you!

PegasusMKD commented 4 years ago

It seems to be working. Thanks a lot! Couldn't have done it without you. One final question, are there any libraries/frameworks/IDEs made specifically for Boo, and if so, are there any backend ones since I'm a backend dev.

Will close the issue after the answer :)

masonwheeler commented 4 years ago

If backend web dev is your thing, have a look at Web.Boo, a server framework I've been working on for the last few years that uses metaprogramming to set up routing and make it quick, simple, and Reflection-free. It's still very much a work in progress, but it works well.

Alphaesia commented 4 years ago

As an addendum, I was suffering from the first error, but I recently discovered a way to fix it without modifying any of Boo's source itself. in /build-tools/tools/nant/NAnt.exe.config, I replaced the sdkdirectory and frameworkdirectory attributes of <framework name="net-4,5" ... > (line ~900). Changing them from ${path::combine(installRoot, 'v4.0.30319')} to C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Roslyn seems to convince NAnt to use the updated compiler that you can get with Visual Studio (note: this requires Visual Studio and the Visual C# stuff to be installed).

I didn't change frameworkassembydirectory as it complained it could not find System.dll. I left it as is ${path::combine(installRoot, 'v4.0.30319')}. It may cause booc to break, but booi and booish work fine (as far as I can tell). The CI script passed without failures. I probably just need to find the right directory...