Files
Sourcery/LinuxMain.swift
T
Ruslan Alikhamov ba63cd6b84 Linux Support (#1188)
* work in progress

* More conditional checks, less errors

* Further steps onto successful compilation

* Enabled try-catch back for macOS

* reverted redundant change

* Replaced getVaList with recommended withVaList

* Update FileParser + AttributesModifierSpec.swift

fixed wrong find-replace

* added missing import of CDispatch

* enabled fatalError instead of NSException

* enabled value(forKey:) for TypesCollection type

* removed commented import

* enabled sha256 for macOS

* Enabled sha256 hashing for Linux

* disabled JavaScriptTemplate tests under Linux

* added check for vendor for tests

* disabled value(forKeyPath:) calls under Linux

* reverted redundant gem

* Fixed issue with `swift test` not finding .ejs bundle

* removed commented code

* switched to `swift test`

* enabled GH actions

* Temporary check for installed Xcodes - Update swift.yml

* Temporary checking Xcode versions - Update swift.yml

* Temporary setting Xcode version - Update swift.yml

* Temporary remove custom Ruby installation - Update swift.yml

* Removed spaces from filenames

* removed + from filenames

* Added -enable-testing for all test targets

* Try Xcode 15 beta

* trying to generate LinuxMain

* refactoring

* running a test for test of a test

* set SPM version to 5.8

* added tests to LinuxMain.swift

* removed redundantly disabled code

* fixed wrong ifdef

* Moved diffable implementation to definitions

* fixed failing UTs

* replaced os(macOS) with canImport(ObjectiveC)

* replaced more os(macOS) with canImport(ObjectiveC)

* enabled filtering for sorted arrays on linux

* eliminating API unsupported by swift-corelibs-foundation

* enabled SourceryRuntime to compile under Linux

* isEqual overrides only for Darwin platforms

* Fixed all SourceryRuntime compilation errors; more green tests

* Disabled enum test case

* moved isEqual to definitions

* fatalError when DynamicMemberLookup fails

* disabled failing test

* disabled crashing test in DryOutputSpec

* Fixed more unit tests

* Fixed typo

* Added best effort sorting filter

* added missing dynamic member lookups

* Added missing dynamic member lookup

* fixed compilation error

* Take into account 1-off linebreak issue between Linux and macOS

* Removed diffable from content generation due to new structure

* added missing dynamic member lookups

* Added missing dynamic member lookup

* moving hashing into class definitions

* Moved description and hash into class definitions

* Added DynamicMemberLookup definition for SourceryRuntime

* Added comment why import Stencil is needed

* Added missing dynamic member lookup

* Removed redundant imports

* Fixed failing tests

* Adjusted test expectation for Linux

* Fixed SourcerySpec template combining test

* Temporary commit for CI verification

* Adjusted SwiftTemplateSpecs tests for Linux

* reverted redundant change

* enable more linux tests for CI verification

* Adjusted CodableContextTests for Linux

* Added more tests that are green

* enabled all tests except 3

* Remove verbosity from CI build

* Removed redundant steps from CI

* Reverted redundant change

* Testing job cancellation

* Added new dynamic member lookup to generated sources [no ci]

* Added different TypesCollection definition for Linux

* Make TypesCollection conform to DynamicMemberLookup only on Linux

* Moved TypesCollection to separate generated source file

* Moved Type to separate file for Linux

* Split GitHub actions

* removed common GH action

* added separate file for Variable on linux

* removed DynamicMemberLookup conformance on macOS

* removed @objc conditions on Linux

* Temporary commit to fix build error

* moved NSException workaround to separate file

* Fixed compiler warning

* moved Types to a separate file

* moved generated Types to a separate file

* split Enum.swift into separate files

* removed redundant imports

* added missing import

* Removed redundant import

* Split Method into separate files

* Added DynamicMemberLookup to Method on Linux [no ci]

* removed redundant override

* added badges for GH Actions

* Fixed failing test on macOS

* Split Tuple into separate files for Linux

* Split EnumCase into separate file for DynamicMemberLookup on Linux

* Enabled GeneratorSpec tests

* Added missing lookup member

* Fixed SourcerySpecTests

* enabled SourcerySpec tests

* Added missing lookup member

* call runCLI on Linux

* Disabled codegen for Sourcery

* Added missing member lookup

* Added missing members lookup

* renamed Linux to include experimental

* Added missing member lookups

* Added missing import

* Adjusted padding [no ci]

* Added missing member lookups

* Adjusted padding [no ci]

* Disabled Codable tests on Linux

* enabled all tests classes under Linux

* Added AssociatedValue for Linux

* Added missing member lookups

* Changed resource copy path in TemplatesTests for Linux

* Updated CHANGELOG

* Added LINUX.md

* Added references to README and LINUX

* Updated content.generated files

* Fixed a typo [no ci]

* Changed wording related to @objc attribute

* Use currentTimestamp() instead of Date().timeIntervalSince1970

* Returned guard statements; removed default values from EJSTemplate
2023-09-07 23:27:22 +04:00

82 lines
3.0 KiB
Swift

import XCTest
import Quick
@testable import SourceryLibTests
@testable import TemplatesTests
@testable import CodableContextTests
@main struct Main {
static func main() {
Quick.QCKMain([
ActorSpec.self,
AnnotationsParserSpec.self,
ClassSpec.self,
ConfigurationSpec.self,
DiffableSpec.self,
DryOutputSpec.self,
EnumSpec.self,
FileParserAssociatedTypeSpec.self,
FileParserAttributesSpec.self,
FileParserMethodsSpec.self,
FileParserProtocolCompositionSpec.self,
FileParserSpec.self,
FileParserSubscriptsSpec.self,
FileParserVariableSpec.self,
GeneratorSpec.self,
MethodSpec.self,
ParserComposerSpec.self,
ProtocolSpec.self,
SourcerySpecTests.self,
StencilTemplateSpec.self,
StringViewSpec.self,
StructSpec.self,
SwiftTemplateTests.self,
TemplateAnnotationsParserSpec.self,
TemplatesAnnotationParserPassInlineCodeSpec.self,
TypeNameSpec.self,
TypeSpec.self,
TypealiasSpec.self,
TypedSpec.self,
VariableSpec.self,
VerifierSpec.self,
CodableContextTests.self,
TemplatesTests.self
],
configurations: [],
testCases: [
testCase(ActorSpec.allTests),
testCase(AnnotationsParserSpec.allTests),
testCase(ClassSpec.allTests),
testCase(ConfigurationSpec.allTests),
testCase(DiffableSpec.allTests),
testCase(DryOutputSpec.allTests),
testCase(EnumSpec.allTests),
testCase(FileParserAssociatedTypeSpec.allTests),
testCase(FileParserAttributesSpec.allTests),
testCase(FileParserMethodsSpec.allTests),
testCase(FileParserProtocolCompositionSpec.allTests),
testCase(FileParserSpec.allTests),
testCase(FileParserSubscriptsSpec.allTests),
testCase(FileParserVariableSpec.allTests),
testCase(GeneratorSpec.allTests),
testCase(MethodSpec.allTests),
testCase(ParserComposerSpec.allTests),
testCase(ProtocolSpec.allTests),
testCase(SourcerySpecTests.allTests),
testCase(StencilTemplateSpec.allTests),
testCase(StringViewSpec.allTests),
testCase(StructSpec.allTests),
testCase(SwiftTemplateTests.allTests),
testCase(TemplateAnnotationsParserSpec.allTests),
testCase(TemplatesAnnotationParserPassInlineCodeSpec.allTests),
testCase(TypeNameSpec.allTests),
testCase(TypeSpec.allTests),
testCase(TypealiasSpec.allTests),
testCase(TypedSpec.allTests),
testCase(VariableSpec.allTests),
testCase(VerifierSpec.allTests),
testCase(CodableContextTests.allTests),
testCase(TemplatesTests.allTests)
])
}
}