If it were just SwiftPM that would be fine, but I'd like someone to sign off on it being okay to (potentially) break existing Xcode projects as well.
(This needs Xcode- and compiler-side changes as well, unfortunately. It's not just the package manager.) Jordan > On May 2, 2016, at 10:52, Max Howell <max.how...@apple.com> wrote: > > SwiftPM is case-insensitive about its conventions in general, so I consider > this a bug. > > It’s possible it’ll break existing projects, but well, existing projects are > breaking constantly at this time due to language changes, so this is just > another thing. > >> On May 2, 2016, at 10:33 AM, Natthan Leong via swift-dev >> <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote: >> >> Maybe that's why we should introduce the addition of 'Main.swift' before the >> Swift Package Manager (and Swift 3.0) hits stable? >> >> I've never requested to drop 'main.swift'. I merely prefer the additional >> support for 'Main.swift'. Library/Frameworks should not have 'Main.swift' >> imho as it leads to further confusion. >> >> If the compiler and Xcode team find this too difficult to add support for >> and not for any other reasons, I'd be okay with sticking with 'main.swift'. >> Just find it odd for reasons specified throughout this email thread. >> >> On May 2, 2016, at 10:20, Jordan Rose <jordan_r...@apple.com >> <mailto:jordan_r...@apple.com>> wrote: >> >>> My concern is not about people who have both main.swift and Main.swift; >>> it's people who have libraries/frameworks (no main.swift) where one of the >>> source files happens to be named Main.swift. This isn't likely, but it is >>> possible. >>> >>> We're certainly not going to drop "main.swift" in favor of "Main.swift", so >>> the question would just be if we wanted to add "Main.swift". And I don't >>> think we want different rules for Xcode and the package manager, especially >>> not when the package manager can generate simple Xcode projects. >>> >>> Jordan >>> >>> >>>> On May 2, 2016, at 10:09, Natthan Leong <kar.j...@icloud.com >>>> <mailto:kar.j...@icloud.com>> wrote: >>>> >>>> Hi, >>>> >>>> Isn't it odd to have both main.swift and Main.swift for a project? >>>> >>>> Considering Swift 3 provides source breaking changes, can this be still >>>> worth an side effort to pursue with the compiler team as advised by >>>> Kostiantyn in the bug report? If so, how'd I approach them regarding this? >>>> >>>> Isn't the Swift Package Manager a (new) tool in handling Swift code? Is >>>> this really the case where a minor change/addition to a convention is so >>>> difficult that it shouldn't be done? Can't Xcode support only either >>>> Main.swift or main.swift in the future? >>>> >>>> The bug report is linked here >>>> https://bugs.swift.org/browse/SR-1379 >>>> <https://bugs.swift.org/browse/SR-1379> >>>> >>>> On May 2, 2016, at 09:34, Jordan Rose <jordan_r...@apple.com >>>> <mailto:jordan_r...@apple.com>> wrote: >>>> >>>>> [+swift-dev, bcc swift-users] I’d be fine with supporting “Main.swift”. >>>>> The one downside is that it could change behavior for existing projects >>>>> relying on “Main.swift” being a library file, and that might mean it’s >>>>> not worth making a change. >>>>> >>>>> Jordan >>>>> >>>>> >>>>>> On May 1, 2016, at 23:34, Kostiantyn Koval via swift-users >>>>>> <swift-us...@swift.org <mailto:swift-us...@swift.org>> wrote: >>>>>> >>>>>> Hi there, >>>>>> >>>>>> main is common used naming for executables that contains main function. >>>>>> It’s required by Swift compiler and Swift Package Manager can’t do >>>>>> anything about that. >>>>>> If you create a simple command line tool in Xcode, it will create >>>>>> main.swift file. If you try to rename it, it will feil. >>>>>> I think this is correct behaviour. >>>>>> If you still think that Swift should support Main.swift with upper case >>>>>> letter, than it should be discussed with compiler team. >>>>>> >>>>>> - Kostiantyn >>>>>> >>>>>> > Hi there, >>>>>> > >>>>>> > This is what happened as I was trying out the Swift Package Manager >>>>>> > for another project similar to the one shown below: >>>>>> > >>>>>> > ~ $ mkdir example >>>>>> > ~ $ cd example/ >>>>>> > example $ touch Package.swift >>>>>> > example $ mkdir Sources >>>>>> > >>>>>> > example $ vi Sources/Example.swift >>>>>> > example $ cat Sources/Example.swift >>>>>> > func printOther() { >>>>>> > print("other") >>>>>> > } >>>>>> > >>>>>> > example $ vi Sources/Main.swift >>>>>> > example $ cat Sources/Main.swift >>>>>> > print("Hello World") >>>>>> > printOther() >>>>>> > >>>>>> > >>>>>> > example $ swift build >>>>>> > Compile Swift Module 'example' (2 sources) >>>>>> > /PATH/example/Sources/Main.swift:1:1: error: expressions are not >>>>>> > allowed at the top level >>>>>> > print("Hello World") >>>>>> > ^ >>>>>> > /PATH/example/Sources/Main.swift:2:1: error: expressions are not >>>>>> > allowed at the top level >>>>>> > printOther() >>>>>> > ^ >>>>>> > /PATH/example/Sources/Main.swift:1:1: error: expressions are not >>>>>> > allowed at the top level >>>>>> > print("Hello World") >>>>>> > ^ >>>>>> > /PATH/example/Sources/Main.swift:2:1: error: expressions are not >>>>>> > allowed at the top level >>>>>> > printOther() >>>>>> > ^ >>>>>> > <unknown>:0: error: build had 1 command failures >>>>>> > error: exit(1): /PATH-SWIFT/usr/bin/swift-build-tool -f >>>>>> > /PATH/example/.build/debug.yaml >>>>>> > >>>>>> > >>>>>> > example $ mv Sources/Main.swift Sources/main.swift >>>>>> > example $ swift build >>>>>> > Compile Swift Module 'example' (2 sources) >>>>>> > Linking .build/debug/example >>>>>> > example $ .build/debug/example >>>>>> > Hello World >>>>>> > other >>>>>> > example $ >>>>>> > >>>>>> > >>>>>> > I had to renameMain.swifttomain.swift. Is there a design decision on >>>>>> > why the filename for the main swift file has to be lowercase or is >>>>>> > this a bug? >>>>>> > >>>>>> > If it’s a design decision, why are directory names forsource files >>>>>> > allowed to have variations likeSources,Source,srcandsrcsas >>>>>> > statedhere(https://github.com/apple/swift-package-manager/blob/master/Documentation/SourceLayouts.md#other-rules >>>>>> > >>>>>> > <https://github.com/apple/swift-package-manager/blob/master/Documentation/SourceLayouts.md#other-rules>)but >>>>>> > not the main swift file? >>>>>> > >>>>>> > I’d be ok if onlyMain.swiftandmain.swiftare allowed since other files >>>>>> > in theSourcesdirectory are commonly UpperCamelCasedue to the Type >>>>>> > naming conventions >>>>>> > e.g.example-package-playingcard/Sources(https://github.com/apple/example-package-playingcard/tree/master/Sources >>>>>> > >>>>>> > <https://github.com/apple/example-package-playingcard/tree/master/Sources>). >>>>>> > >>>>>> > Or maybe I’m just being pedantic? >>>>>> > >>>>>> > p.s. evenPackage.swiftis capitalized and notpackage.swift >>>>>> > >>>>>> > $ swift --version >>>>>> > Swift version 3.0-dev (LLVM 752e1430fc, Clang 1e6cba3ce3, Swift >>>>>> > 56052cfe61) >>>>>> > Target: x86_64-unknown-linux-gnu >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> _______________________________________________ >>>>>> swift-users mailing list >>>>>> swift-us...@swift.org <mailto:swift-us...@swift.org> >>>>>> https://lists.swift.org/mailman/listinfo/swift-users >>>>>> <https://lists.swift.org/mailman/listinfo/swift-users> >>>>> >>> >> _______________________________________________ >> swift-dev mailing list >> swift-dev@swift.org <mailto:swift-dev@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-dev >
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev