* New simplified rewrite of the Vapor Toolbox
* Fix CI
* Refactor `TemplateRenderer` to dynamically handle Fluent database options
* Align `template` option name to old Toolbox
* Fix command name
* First attempt at dynamic arguments
* Support nested variable conditions for file rendering in `manifest.yml`
* Use Swift 6 language mode
* Remove `Mutex`
* swift format
* Remove redundant calls
* Group mandatory options in help view
* Try using `ubuntu-22.04` in CI
* Try using `latest` Swift in CI
* Add basic tests
* Update Dockerfile
* Update README
* Fix default value to `false` for top level of nested variables
* Fix nested variables bug
* Update README
* First attempt at asking unresolved variables to user
* Add `-n` flag
* Refactor `which` and add more docs
* Dynamically get Toolbox version via Homebrew
* Add test for issue `which` fails on macOS #403
* Remove Ubuntu CodeQL job
* Use new Swift Regex API
* Add unit testing in CI
* Try fixing CI
* Fix CI
* Move entrypoint to `Vapor`
* Improve documentation
* Make option description optional
* Improve documentation
* Add centered prints
* Add `--manifest` flag to specify manifest file path
* Add `--json` flag
* Make the linter happy
* Make it run on Musl
* Rename `--json` to `--dump-variables`
* Improve `which` test
* Update README.md
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
* Update Sources/VaporToolbox/Util/PrintUtilities.swift
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
* Remove custom `TemplateManifest.Variable` equality operator
* Handle UTF-8 encoding error when dumping JSON
* Add short lowercase flag for `--template`
* Remove unused `import`s
* Add again uppercase short flag for `--template`
* Update Package.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update README.md
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update README.md
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update New.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update New.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update New.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update New.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update TemplateManifest.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update TemplateRenderer.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update TemplateRenderer.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update TemplateRenderer.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update Vapor.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update PrintUtilities.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Fix typo
* Remove uppercase template flag
* Add Android and Windows to CI
* Remove CodeQL
* Try fixing Android
* Remove MongoDB integration tests
* Enable MySQL Linux integration in CI
* Disable MySQL Linux integration in CI
* Fix typo in README
* Fix bug in first commit
* Try fixing Windows build
* Remove Windows CI
---------
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Update Swift version
* Add deprecation notices to most commands
* Crude check for executable name in manifest
* Fix warning
* File fixes
* Update test.yml Swift version
* Update CI
* Compatibility with official swift container images
Sudo is not available in containers, running sudo breaks `make install`. Solve the issue by checking whether the user is root, and if he is, no need to use sudo.
* Indent fix
line 24 indentation should use tab
* ifneq, else and endif should not be indented in makefiles
* Give a generic message to open the project
* Update Sources/VaporToolbox/New/New.swift
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
* Allow dynamic file names in template manifest
By adding `dynamic_name` parameters to files or folders in
manifest.yml, their destination names can depend on variables or the
name of the new package.
* Only initialize one MustacheRenderer
* Removed deprecated --enable-test-discovery flag from build and run commands.
--enable-test-discovery flag is deprecated as now it is the default behaviour.
Removing this flag fixes a warning which appears every time an app is built or run through the toolbox.
* --enable-test-discovery flag is now set only when Swift version is older than 5.4 .
RuntimeSwiftVersion detects user's runtime version of Swift.
Added global function which allows to discriminate whether the --enable-test-discovery flag is needed in the current runtime environment.
* Added test for SwiftRuntimeVersion.
For more info look at the code comments.
* Changing info screen to instruct user to open Package.swift
* Use relative instead of absolute file path
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
Co-authored-by: Samuel Bishop <sambishop@Bishops-Bomputer.local>
Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
* Update test to use only 2 swift images
* Changed OS to not be a string
* change workflow to use manual testing
This commit is only for testing purposes
* Add comment to help with readability
* Change to try and run the test github action
* Remove getcidata and use only swift 5.5 for test
* Update to test
* reinstate on push branch action
* Turn json into string
* Create json seperately
* Reformat JSON
* Edit JSON
* Remove {} from JSON string
* Remove on push branch for testing
Added punctuation to Heroku/supervisord to match the other lines.
Changed `Supervisord` to `supervisord` to match how it is used
on the supervisord web-site.
* Add name_lower_kebab to context
* Use name_kebab and correct kebab case requirements
* Undo Update Sources/VaporToolbox/New/TemplateScaffolder.swift
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>
* Use flatmap
Use flatmap and renamed to kababcased to keep in line with swift naming convention (like lowercased)
Co-authored-by: Gwynne Raskind <gwynne@darkrainfall.org>