Part of: #205
- To ease the migration of classes to the generator library, the generator is added to `TuistKit` temporarily
- This component will later move to `TuistGenerator`
- This allows decoupling commands from the workspace generator / graph related classes
- `GraphLoader` no longer depends on the `GraphManifestLoader`
- Focus command no longer has a `--config` option as it's no longer used
Test Plan:
- Ensure unit tests pass `swift test`
- Ensure acceptance tests pass `bundle exec rake features`
- Navigate to any of the fixtures and test out `tuist focus`
- `Workspace` and `Scheme` are now decoupled from manifests json
- `ProjectLinter` no longer requires the `UpLinter`
- Adding scheme conversion from `ProjectDescriotion` to `TuistKit` models
Test Plan:
- Verify unit tests continue to pass
- Introducing a `GeneratorModelLoader` component responsible for obtaining the model objects required by the `TuistGenerator` library
- To support this, the models are being decoupled from the manifest definitions (and the JSON representation)
- The conversion between the manifest and model types takes place within the model loader
Test Plan:
- Ensure unit tests continue to pass `swift test`
- Ensure acceptance tests pass `bundle exec rake features`
- Verify projects within the `fixtures` directory are still correctly generated when performing `tuist generate`
* Generate project scheme
* Test the generation of the project scheme
* Sort the targets based on the dependencies between them
* Add acceptance tests
* Address comments
* Update changelog and fix Dangerfile
- Adding a new library `TuistGenerator` with stubbed implementation
Test Plan:
- Ensure Tuist continues to build `swift build`
- Ensure unit tests pass `swift test`
* Add integration tests for an app with 2 dynamic frameworks
* Add acceptance test for missing manifest case
* Bring back all tests for generate command
* Fix validation of the missing manifest error message
* Use meaningful folder names in fixtures
* Fix integration issues
* Update CHANGELOG.md
* Add ios_ prefix to fixtures folders
* Remove tuist.rb.orig
* Fix issues found by Robocop
* Dete the documentation that was generated by jazzy
We don't see value in generating documentation for internal interfaces so we decided to remove the Jazzy auto-generated documentation and bring the documentation from the tuist/documentation repository into this one.
* Delete references to Open Collective and include a documentation section that lets user know about the documentation folder.
* Remove the step to generate the documentation from the release steps
* Merge documentation from the documentation repository
* Update CHANGELOG
* Address comments
We don't see value in generating documentation for internal interfaces so we decided to remove the Jazzy auto-generated documentation and bring the documentation from the tuist/documentation repository into this one.
* Lint that the bundle identifier has the right format
* Narrow down the set of characters
* Bump Danger version
The version that we were using threw an error that ended up being reported to the PR.
* Update CHANGELOG