Skip to content

Commit

Permalink
docs: Flank-scripts command overview (#1566)
Browse files Browse the repository at this point in the history
Fixes #1545

This PR contains documentation for the proposition of restructuring flank-scripts CLI commands as well as a basic description of each of it
  • Loading branch information
piotradamczyk5 authored Feb 8, 2021
1 parent cf1b4ba commit 0b9c9f7
Showing 1 changed file with 119 additions and 0 deletions.
119 changes: 119 additions & 0 deletions docs/flank-scripts/command_overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Flank-scripts command overview

### Command List

- `assemble` - Group of commands to assemble test applications
- `ios` - Subgroup of commands for iOS app assembly
- `earl_grey` - Assemble iOS earl grey application
- `flank_example` - Assemble iOS flank example application
- `game_loop` - Assemble iOS game loop application
- `test_plans` - Assemble iOS test plans application
- `all` - Assemble all iOS applications
- `android` - Subgroup of command for Android app assembly
- `app` - Assemble Android test application
- `go_artifacts` - Generate go artifacts

___

- `firebase` - Group of commands for managing firebase integrations
- `update_api` - Update api schema
- `generate_client` - Generate Java Client based on api schema
- `check_for_sdk_updates` - Check for new SDK features and create update tasks for it

___

- `github` - Group of command for managing Github
- `copy_issue_properties` - Copy properties(assignees, SP, labels) from issue to PR
- `delete_old_tag` - Delete old/unused tag from Github
- `delete_release` - Delete release from Github
- `make_release` - Make new Github release

___

- `gradle` - Group of commands related to gradle tasks (1)
- `update_dependencies` - Update repository 3rd party dependencies

___

- `integration_tests` - Group of commands for handling integration tests (1)
- `process_results` - Process results of integration tests

___

- `linter` - Group of commands used for applying correct coding style
- `apply_to_git_hooks` - Apply Linter pre-commit hook
- `apply_to_ide` - Apply Linter to IDE

___

- `release` - Group of commands for creating Flank release
- `generate_release_notes` - Generate release notes
- `next_tag` - Get tag for next release
- `delete_snapshot` - Delete snapshot package from artifacts repository
- `sync_with_maven_central` - Sync artifacts repository with Maven central

___

- `test_artifacts` - Group of commands for artifacts management
- `download` - Download test artifacts zip asset to test_artifacts directory.
- `link` - Create symbolic link to under test_runner/src/test/kotlin/ftl/fixtures/tmp to test_artifacts/{branchName}.
- `prepare`- Creates fresh copy of test artifacts for current working branch, basing on existing one.
- `remove_remote` - Remove remote copy of test artifacts.
- `resolve` - Automatically prepare local artifacts if needed.
- `unzip` - Unpack test artifacts zip archive.
- `upload` - Upload test artifacts zip as github release asset.
- `zip` - Create zip archive from test artifacts directory.


(1) - denotes that there is only one command, but it may change in the future.


### Package structure for CLI

```bash
flank-scripts/
└── cli/
├── assemble/
│ ├── android/
│ │ └── AppCommand.kt
│ ├── ios/
│ │ ├── AllCommand.kt
│ │ ├── EarlGreyCommand.kt
│ │ ├── FlankExampleCommand.kt
│ │ ├── GameLoopCommand.kt
│ │ └── TestPlansCommand.kt
│ └── GoArtifactsCommand.kt
├── firebase/
│ ├── CheckForSdkUpdatesCommand.kt
│ ├── GenerateClientCommand.kt
│ └── UpdateApiCommand.kt
├── github/
│ ├── DeleteOldTagCommand.kt
│ ├── DeleteGithubReleaseCommand.kt
│ ├── MakeGithubReleaseCommand.kt
│ ├── CopyIssuePropertiesCommand.kt
├── gradle/
│ └── UpdateDependenciesCommand.kt
├── integrationtests/
│ └── ProcessResultsCommand.kt
├── linter/
│ ├── ApplyToGitHooksCommand.kt
│ └── ApplyToIdeCommand.kt
├── release/
│ ├── DeleteSnapshotCommand.kt
│ ├── GenerateReleaseNotesCommand.kt
│ ├── NextTagCommand.kt
│ └── SyncWithMavenCentralCommand.kt
└── testartifacts/
├── DownloadCommand.kt
├── LinkCommand.kt
├── PrepareCommand.kt
├── RemoveRemoteCommand.kt
├── ResolveCommand.kt
├── UnzipCommand.kt
├── UploadCommand.kt
└── ZipCommand.kt
```

### Usage
`flankScripts <command group> [<subgroup>] <command name> [<arguments>]`

0 comments on commit 0b9c9f7

Please sign in to comment.