pdevito3 / craftsman

A .NET scaffolding tool to help you stop worrying about boilerplate and focus on your business logic 🚀
https://wrapt.dev
MIT License
1.12k stars 65 forks source link

Creating new project ends up with error on Linux (case-sensitive file system) #72

Closed thestacks closed 2 years ago

thestacks commented 2 years ago

Any actions of initializing new project with craftsman end up with an error: ERROR: The /home/thestacks/source/repos/thestacks/MyExampleProject/RecipeManagement/src/Re cipeManagement/Properties/launchsettings.json file could not be found.`

Launching command craftsman new:example does not work too.

In my opinion this is a problem with case-sensitive file system of Linux. The file is there, and it's called launchSettings.json not launchsettings.json

This bug is a blocker, I cannot use craftsman at all because of this error.

Steps to reproduce

  1. Use Ubuntu (or any linux os)
  2. Launch terminal
  3. Launch craftsman new:example
  4. Continue with the setup
  5. You can see the error as above.

Further technical details

Craftsman version (dotnet tool list -g): 0.14.0

pdevito3 commented 2 years ago

hey, thanks for reporting this! I don't have easy access to a linux testing env, so i can't pick up on and keep up with these easily at the moment, but here's a pre-release for you to try that should resolve the launch settings issue at least. might run into this elsewhere though.

thestacks commented 2 years ago

@pdevito3 Thank you for quick fix! The issue with case-sensivity has gone, but yet there is another one: after running: craftsman new:example -> Basic -> Provide a name Here is what I get: ArgumentNullException: Value cannot be null. (Parameter 'author') at ArgumentNotNull(Object argumentValue, String argumentName) in Ensure.cs:24 at CreateCommit(Signature author, Signature committer, String message, Tree tree, IEnumerable1 parents, Boolean prettifyMessage, Nullable1 commentChar) in ObjectDatabase.cs:417 at Commit(String message, Signature author, Signature committer, CommitOptions options) in Repository.cs:1059 at Commit(IRepository repository, String message, Signature author, Signature committer) in RepositoryExtensions.cs:200 at GitSetup(String solutionDirectory, Boolean useSystemGitUser) in Utilities.cs:496 at CreateNewDomainProject(String domainDirectory, IFileSystem fileSystem, DomainProject domainProject) in NewDomainProjectCommand.cs:94 at Run(String buildSolutionDirectory, IFileSystem fileSystem) in NewExampleCommand.cs:41

pdevito3 commented 2 years ago

That's a (somewhat) good sign as it's getting to the end and just failing at the git commit. Everything should be scaffolding otherwise.

Do you have git installed? Might also be a compatibility thing with Linux and GitSharp. Regardless, I should get that part to fail more gracefully.

pdevito3 commented 2 years ago

I'm going to close this one since the launch settings issue is fixed in 0.14.1, but will note the author item for a later fix

pdevito3 commented 1 year ago

@thestacks i narrowed down the true issue here and it will be resolved in the next release. sorry for missing it previously.