Skip to content

Commit

Permalink
Release 2.0.0 (#144)
Browse files Browse the repository at this point in the history
* Updated README with 1.3.0 last-release notice

* Adding PR CI/CD for unit tests

* fixed syntax issue on pr workflow

* Copied over short repo transfer notice from 5.x.x/develop branch

* docs: Correcting typo

* Create issue templates

* fix: requested changes

* 5.x.x/develop is the new develop (#136)

* test: getVideoSettingsRequest

* test: removeSceneCollectionRequest

* test: setCurrentSceneCollectionRequest

* test: setProfileParameterRequest

* test: broadcastCustomEventRequest

* test: getSourceActiveRequest

* test: getSourceScreenshotRequest

* test: saveSourceScreenshotRequest

* core: code sharing

* Sync with 5.x.x/develop

* requested changes

* cicd: modified e2e auth test to pull and run OBS Websocket, and run the authentication test instead

* separated General request tests

* separated Config request tests

* separated Source request tests

* separated Transitions request tests

* test: createInputRequest

* test: getInputListRequest

* test: getInputKindListRequest
fix: test method naming

* test: getInputMonitorTypeRequest

* core: Rename package to io.obswebsocket.community.client

* core: RequestResponse and RequestBatchResponse isSuccessful

* test: getInputMuteRequest

* test: getInputSettingsRequest

* test: getInputTracksRequest

* test: getInputVolumeRequest

* test: getSpecialInputNamesRequest

* test: setInputMonitorTypeRequest

* test: setInputMuteRequest

* test: setInputNameRequest

* test: createInputRequest

* test: setInputSettingsRequest
fix: createInputRequest

* test: setInputMuteRequest

* test: setInputVolumeRequest
fix: SetInputVolumeRequest missing parameters

* test: toggleInputMuteRequest

* fix: Package

* fix: Package

* test: getTransitionListRequest

* test: releaseTbarRequest

* test: setCurrentTransitionDurationRequest

* test: setCurrentTransitionRequest

* test: setTbarPositionRequest

* test: setTransitionSettingsRequest

* test: triggerStudioModeTransitionRequest

* test: createSceneRequest

* test: deleteSceneTransitionOverrideRequest

* test: getCurrentPreviewSceneRequest

* test: getCurrentProgramSceneRequest

* test: getSceneListRequest

* test: getSceneTransitionOverrideRequest

* test: removeSceneRequest

* test: setCurrentPreviewSceneRequest

* test: setCurrentProgramSceneRequest

* test: setSceneNameRequest

* test: setSceneTransitionOverrideRequest

* test: createInputRequest

* test: getSourceFilterRequest

* test: GetSourceFilterListRequest

* test: removeSourceFilterRequest

* test: setSourceFilterEnabledRequest

* test: setSourceFilterSettingsRequest

* fix: typo

* fix: typo

* doc: OBSCommunicator missing param

* core: rpc version is now static, and throws error on mismatch

* fix: controller not disconnecting on error. test: Replaced CommunicatorE2E tests with tests against Controller. core: Added direct setter for communicator in the RemoteController builder

* feat: GetSystemStats

* feat: GetProjectorList

* feat: CloseProjector

* feat: GetRecordStatus

* test: createSceneItemRequest

* test: duplicateSceneItemRequest

* feat: Start/Stop/Toggle Record

* feat: Start/Stop/Toggle Record

* test: getSceneItemColorRequest

* Moved contact e2e tests into lifecycle e2e tests

* test: getSceneItemEnabledRequest

* feat: Resume/Pause/Toggle RecordPause

* core: updated rpc check to verify server can support client

* feat: Get/Set RecordDirectory

* feat: Get/Set RecordFilenameFormatting

* fix: Optimize Imports

* test: getSceneItemListRequest

* test: getSceneItemLockedRequest

* test: removeSceneItemRequest

* test: setSceneItemEnabledRequest

* test: setSceneItemIndexRequest

* test: setSceneItemLockedRequest

* fix: Log

* feat: RemoveInput

* feat: connection timeout when obs unreachable

* test: remove last disabled case; covered already in auth test

* Added unit test for RemoteController builder, and increased e2e test timeout

* cicd: updated pr flow to upload failing test results

* cicd: updated test result upload to include all html resources in report

* cicd: gave test reports unique names per job

* test: Moved failed connection test into integration tests; the explicitly don't require OBS, and it may work better in cicd

* cicd: fix, '/' invalid char in test results artifact name

* test: updated to simply verify throwable is provided at all, since the specific kind depends on the OS. core: ensure throwable (cause if available, else the throwable) is always provided when obs cannot be reached

* request: GetReplayBufferStatus

* request: ToggleReplayBufferRequest

* request: StopReplayBuffer

* request: SaveReplayBuffer

* style: updated constructor param javadocs. core: moved verification to constructor.

* request: GetLastReplayBufferReplay

* request: GetOutputList

* request: ToggleOutput

* request: StartOutput

* request: StopOutput

* feat: Output Request Methods in OBSRemoteController

* test: Output Request tests

* core: optimize imports

* fix: record requests methods in OBSRemoteController

* fix: wrong return Type

* fix: request method parameters

* fix: wrong request type

* fix: requestType in getOutputListRequest Test

* core: added websocket closecode enum, and updated tests checking code to use the enum

* code: added fromCode lookup method for WebSocketCloseCode enum

* fix: missing GetSystemStatsRequest method

* fix: missing request methods

* core: enforced websocketCloseCode enum on lifecycle callbacks. test: cleaned up several irrelevant and missing tests in the 'Unescured' test module.

* fix: catch for Ubuntu case unknown host

* test: Added positive connect test for unsecured case, and clarified the secured case is already covered.

* core: hardened error handling for connect sequence. Unfortuntately cannot unit-test with Jetty WebSocketClient, it has several final methods and I cannot implement my own because there is no interface. We could address this later, but creating a facade should be done carefully...the Jetty client could be quite messy to cleanly facade out. Yucky yucky.

* request: GetStreamStatus

* request: ToggleStream

* request: StartStream

* request: StopStream

* request: SendStreamCaption

* request: GetStreamServiceSettings

* request: SetStreamServiceSettings

* feat: request methods

* test: Stream request tests

* request: GetMediaInputStatus

* request: OffsetMediaInputTimecode

* request: SetMediaInputTimecode

* request: SetMediaInputPauseState

* request: StopMediaInput

* request: RestartMediaInput

* request: NextMediaInputPlaylistItem

* request: PreviousMediaInputPlaylistItem

* fix: GroupId

* feat: Media Input request methods

* test: Media Input Request Tests

* test: getVersionRequest

* fix: Media Inputs package name

* core: Migrate to Gradle v7.1

* core: Migrate to Gradle v7.1

* core: Migrate to Gradle v7.1

* feat: SetSceneIndex

* doc: Update README.md with groupId

* doc: Include and Apply IntelliJ Java Google CheckStyle

* fix: SceneItems package name

* fix: WebSocketCloseCode snucked semicolon

* core: Moved onReady and onDisconnect into Communicator listeners, verified tests pass as before. Need to add additional specs verifying calls to expected lifecycle methods

* core: implemented ready and disconnect callbacks in ObsCommunicator

* core: added lifecycleBuilder facade covering both controller and communicator lifecycle callback registration. style: Added javadocs to communicator and controller. test: updated integration tests to expected onReady rather than onIdentified

* doc: Add Example Gradle Module

* chore: removed unnecessary CommunicatorBuilder constructor with reference to RemoteController

* doc: Add Example class

* doc: Add Example class

* doc: Add Example class

* cicd: Update Workflows

* cicd: Update Workflows

* cicd: Update Workflows

* doc: Add example implementation

* core: Removed isFailed calls; not useful or correct here

* core: removed references to controller and communicator in lifecycle callback listeners; no-longer needed, nor should be exposed.

* core: removed logical error, renamed builders, removed cruft, and added @OVERRIDES where missing

* cicd: Fix pr workflow

* doc: Add password to example and update onReady signature

* core: Remove release related stuff from example build.gradle

* core: Move lombok.config to client module

* doc: Update README.md

* docs: Reorganized docs, explaining the builder in pieces and adding a separate section comparing this library to the prior version. Moved the transfer notice to CONTRIBUTING and updated the gradle calls

* docs: added section on error handling

* docs: removed unnecessary header in text under logo

* docs: Added gradle logging example, and various typos

* docs: added link to file issue

* doc: Add example implementation

* feat: Get/Set GlobalPersistentData Requests

* fix: Scene Events

* feat: (WIP) Transition Events

* fix: Transition Events package

* feat: (WIP) Filter Events

* fix: CustomEvent

* fix: CustomEvent

* core: Rename

* Update GetInputKindListRequest.java

* core: PersistentDataRequest

* feat: GetStats request

* feat: SetCurrentProfile request

* feat: CreateProfile request

* feat: RemoveProfile request

* feat: SetVideoSettings request

* feat: GetInputAudioSyncOffset request

* feat: SetInputAudioSyncOffset request

* fix: rename GetInputTracks >> GetInputAudioTracks

* feat: GetInputPropertiesListPropertyItems request

* fix: make itemValue a string

* feat: PressInputPropertiesButton request

* fix: persistent data requests parameters and response names

* fix: request/response parameters

* fix: request/response parameters

* feat: StartReplayBuffer request

* core: reformat request code

* feat: OBSRemoteController requests

* fix: unit-tests

* feat: abstract ProfileRequest class

* fix: GetInputAudioSyncOffsetRequest extending InputRequest

* fix: SetInputAudioSyncOffsetRequest extending InputRequest

* fix: inputAudioSyncOffset type

* fix: propertyItems type

* add todo

* 5.x.x/events (#119)

* fix: rename CurrentSceneChangedEvent >> CurrentProgramSceneChangedEvent

* core: reformat code

* fix: type

* fix: Enum name

Co-authored-by: Christophe Carvalho Vilas-Boas <[email protected]>

* Issue forms (#129)

* Copied over short repo transfer notice from 5.x.x/develop branch

* docs: Correcting typo

* Create issue templates

* fix: requested changes

* Change missing-event issue template to new Issue Form

* Change missing-request issue template to new Issue Form

Co-authored-by: TinaTiel <[email protected]>
Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: Pjiesco <[email protected]>

* core: Protocol Update (#122)

* core: OperationCode

* core: OperationCode

* core: Message data

* core: Message data

* core: Message data

* core: Comment GetVersion Request when client is identified

* core: requestStatus Codes

* core: Upgrade dependencies

* core: Rename Event.Category to Event.Intent
doc: Rename obs-websocket repo + fixes

* core: Event Serialization + CurrentProfileChangedEvent

* core: CurrentSceneCollectionChangedEvent

* core: ProfileListChangedEvent

* core: SceneCollectionListChangedEvent

* fix: make fields final

* core: CustomEvent

* core: ExitStartedEvent

* core: StudioModeStateChangedEvent

* fix: Example

* fix: CustomEventTriggered and SceneCollectionListChangedEventTriggered tests

* core: call super on toString + Filter events

* fix: ObsCommunicatorEventIT

* fix: FilterEvent and add test

* core: InputAudioSyncOffsetChangedEvent

* core: Input events + Tests

* core: InputVolumeChangedEvent

* core: Media events + Tests

* core: Output events + Tests

* core: SceneItem events + Tests

* core: Scene events + Tests

* core: Update Logo fixes #124

* core: Upgrade lombok

* core: Make *Event.messageData non final

* core: TransitionEvent and subclasses

* core: TransitionEvent and subclasses

* core: TransitionEvent and subclasses

* core: Events Serialization Tests

* core: Events Serialization Tests

* core: Events Serialization Tests

* test: Reorganize test classes

* Update GetStreamServiceSettingsResponse.java

https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#getstreamservicesettings

* 5.x.x/protocol update requests config (#128)

* core: Protocol Update for Requests

* core: Protocol Update Config Requests

* core: Optimize imports

* fix: Example

* Fix change in messages (#134) + more (#135)

* Update example default port

* NPE 'fix', not sure if messageData is supposed to be nullable

* We know we are connecting, no point in info logging that

* Request data field was incorrectly named

* Put response data in the correct place

* Reuse websocket client and add explicit stop

* Actually close the websocket when calling disconnect

* Example should now stop the communicator at the end

* Allow configuring the websocket client

* Put requestData in the correct place

* Make events work again and (de)serialization using generics

* Update references to old default port

* Fix testcases

* Update close codes

* Change docker port mapping to the non-standard websocket port

* Restore example

* Add link to Google style convention

* Fix review feedback

* Get eventIntent through messageData

* Apply workaround to allow SuperBuilder inheritance
projectlombok/lombok#2524

* Don't use builders when not needed

* Don't use boolean object when not needed

Co-authored-by: Niels van de Weem <[email protected]>

* core: clean

* FIX: VendorEvent

* cicd: Upgrade GitHub Actions

* cicd: Upgrade GitHub Actions

* cicd: Upgrade GitHub Actions
core: Upgrade Gradle Wrapper

* core: Upgrade Dependencies & clean

* fix: Events Intent

* fix: Events Intent

* core: RequestBatch and RequestBatchResponse

* fix: Event.Intent names

* fix: RequestBatch, RequestBatchResponse is still todo

* core: Event.Intent and Requests + RequestResponses

* fix: RequestBatchResponse

* fix: Remove not-needed superbuilders

* fix: Get/SetSceneSceneTransitionOverride

* fix: Fix compilation errors

* fix: Update test

Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>

Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: TinaTiel <[email protected]>
Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: TinaTiel <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>

* fix: Publication and Signing

* Update requests and events (#137)

* Update scenes Requests

* Add @getter and @tostring

* Update sceneitem requests

* Update general requests

* doc: Update README.md

* tests: Fix and use resources

* core: Rename Controller methods

* core: UI Events

* core: Media Inputs Events

* core: RequestSerializationTest

* core: GetVersion

* core: GetVersion

* core: GetStats

* core: BroadcastCustomEvent

* core: StreamStateChangedEvent

* core: RecordStateChangedEvent

* core: StreamStateChangedEvent

* core: OutputStateChangedEvent

* core: ReplayBufferStateChangedEvent

* core: VirtualcamStateChangedEvent

* core: ReplayBufferSavedEvent

* core: general request + response tests

* core: GetSceneList Request + Response tests

* core: GetGroupList Request + Response tests

* core: GetCurrentProgramScene Request + Response tests

* core: SetCurrentProgramScene Request + Response tests

* core: GetCurrentPreviewScene Request + Response tests

* core: SetCurrentPreviewScene Request + Response tests

* core: CreateScene Request + Response tests

* core: RemoveScene Request + Response tests

* core: SetSceneName Request + Response tests

* core: GetSceneSceneTransitionOverride Request + Response tests

* core: SetSceneSceneTransitionOverride Request + Response tests

* core: fix test

* core: ExitStartedEvent tests

* core: VendorEvent rename + tests

* core: CurrentSceneCollectionChanging + tests

* core: CurrentSceneCollectionChanged tests

* core: Simplify tests

* core: SceneCollectionListChanged tests

* core: CurrentProfileChangingEvent + tests

* core: CurrentProfileChanged tests

* core: ProfileListChanged tests

* core: Fix compilation errors after changing events

* core: And actually fix the test

* core: SceneCreated test

* core: SceneRemoved test

* core: SceneNameChanged test

* core: CurrentProgramSceneChanged test

* core: CurrentPreviewSceneChanged test

* core: SceneListChangedEvent test

* core: InputCreatedEvent test

* core: Put data type of VendorEvent back to JsonObject

* core: InputRemovedEvent tests

* core: InputNameChangedEvent tests

* core: InputActiveStateChanged tests

* core: Rename incorrectly named test classes

* core: InputShowStateChangedEvent tests

* core: InputMuteStateChangedEvent tests

* core: InputVolumeChangedEvent tests

* core: InputAudioBalanceChangedEvent + tests

* core: InputAudioSyncOffsetChangedEvent tests

* core: InputAudioTracksChangedEvent tests (with todo)

* core: InputAudioMonitorTypeChangedEvent + tests (with todo)

* core: InputVolumeMetersEvent tests

* core: Fix ObsCommunicatorEventIT

* core: CurrentSceneTransitionChangedEvent tests

* core: CurrentSceneTransitionDurationChangedEvent + tests

* core: SceneTransitionStartedEvent tests

* core: SceneTransitionEndedEvent tests

* core: SceneTransitionVideoEndedEvent + tests

* core: SourceFilterListReindexedEvent tests

* core: SourceFilterCreatedEvent tests

* core: SourceFilterRemovedEvent tests

* core: SourceFilterNameChangedEvent tests

* core: SourceFilterEnableStateChangedEvent tests

* core: SceneItemCreatedEvent tests

* core: SceneItemRemovedEvent tests

* core: SceneItemListReindexedEvent tests (with todo)

* core: SceneItemEnableStateChangedEvent tests

* core: SceneItemLockStateChangedEvent tests

* core: SceneItemSelectedEvent + tests

* core: SceneItemTransformChangedEvent + tests (with todo)

* core: GetStudioModeEnabled tests

* core: SetStudioModeEnabled tests

* core: OpenInputPropertiesDialog + tests

* core: OpenInputFiltersDialog + tests

* core: OpenInputInteractDialog + tests

* core: GetMonitorList + tests (with todo)

* core: OpenVideoMixProjector + tests

* core: OpenSourceProjector + tests

* core: GetMediaInputStatus tests

* core: SetMediaInputCursor + tests

* core: OffsetMediaInputCursor + tests

* core: TriggerMediaInputActionRequest + tests

* core: GetRecordStatus tests

* core: ToggleRecord tests

* core: StartRecord tests

* core: StopRecord tests

* core: ToggleRecordPause tests

* core: PauseRecord tests

* core: ResumeRecord tests

* core: GetStreamStatus tests

* core: ToggleStream tests

* core: StartStream tests

* core: StopStream tests

* core: SendStreamCaption tests

* core: GetVirtualCamStatus tests

* core: ToggleVirtualCam tests

* core: StartVirtualCam tests

* core: StopVirtualCam tests

* core: GetReplayBufferStatus tests

* core: ToggleReplayBuffer tests

* core: StartReplayBuffer tests

* core: StopReplayBuffer tests

* core: SaveReplayBuffer tests

* core: GetLastReplayBufferReplay tests

* core: GetOutputList tests (with todo)

* core: GetOutputStatus tests

* core: ToggleOutput tests

* core: StartOutput tests

* core: StopOutput tests

* core: GetOutputSettings tests (with todo)

* core: SetOutputSettings tests (with todo)

* core: Clean SceneItem.BlendMode

* core: Clean SceneItem.BlendMode

* core: Clean SceneItem.BlendMode

* core: Clean SceneItem.BlendMode

* core: GetPersistentData & tests

* core: SetPersistentData tests

* core: Input.MonitorType

* core: SceneItem.Transform

* core: SceneItemTransformChangedEvent tests

* core: SceneItemTransformChangedEvent tests

* core: GetMonitorListResponse & UI Response Tests

* core: GetOutputSettingsResponse

* core: SetOutputSettingsRequest

* core: InputAudioTracksChangedEvent & tests

* core: InputAudioTracksChangedEvent & tests

* core: GetRecordStatus fixes #138

* core: GetRecordStatus test

* core: Check Types in resources

* core: Check Types in resources

* core: Config Requests/Responses tests

* core: Sources Requests/Responses tests

* core: Inputs Requests/Responses tests

* fix: Create/Remove Input tests

* core: Filters Requests/Responses tests

* core: Rename SceneItemListReindexedEvent.SpecificData.SceneItem to SceneItemIdAndIndex

* Message Generator (#139)

* Generate requests from protocol.json

* Extract RequestType

* Generate Responses, OBSRemoteControllerBase, RequestTypes

* Get the source compiling again and fix some more types

* Generate events

* All events/requests/responses are generated

* core: sceneItemTransform is always SceneItem.Transform

* core: monitorType is always Input.MonitorType

* fix: tests

* fix: integrationTests

* core: Add Version Catalog

* core: Additional types adjustments

* fix: Lombok actually needs to be an implementation dependency

* core: Additional types adjustments

* generator: Lombok is needed in implementation

* generator: Don't generate java.lang imports, prevent formatting and put generation warning at the top of the class

* core: re-generate messages

* generator: allow overrides & fix GetOutputList/Sleep messages

Co-authored-by: Niels <[email protected]>

Co-authored-by: Christophe Carvalho Vilas-Boas <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>

* core: Generate proper Javadoc (#140)

* core: Generate proper Javadoc

* core: Generate proper Javadoc

* Generator tests (#142)

* generator: Add testframework for generator tests

* core: Force lf line endings

* generator: Test the generator fully

* core: Include messagegenerator tests on pr action

* Fix/e2e tests (#143)

* core: allow blocking calls,  events/responses have no @nonnull fields, fix Scene definition

* core: fix testcases

* core: include getters in response/event classes

* example: update to show blocking calls & convenience getters

* core: re-generate messages

* fix: expected scene type was incorrect

* fix: don't add multiple onControllerError handlers

* fix: cleanup after test

* core: describe what happens when the timeout occurs

* test: fix vlc todo

* test: fix other todo's

Co-authored-by: TinaTiel <[email protected]>
Co-authored-by: TinaTiel <[email protected]>
Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: Pjiesco <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>
Co-authored-by: Niels van de Weem <[email protected]>
  • Loading branch information
7 people authored Oct 22, 2022
1 parent 4e94284 commit ceabae1
Show file tree
Hide file tree
Showing 941 changed files with 33,072 additions and 5,197 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf encoding=utf-8
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Bug report
about: Report a bug to help us improve
title: "SHORT DESCRIPTION"
labels: bug
assignees: ''

---

# Describe the bug
A clear and concise description of what the bug is.

# Code Sample
```java
// give a code sample showing how to reproduce this.
```

# Expected behavior
A clear and concise description of what you expected to happen.

# Additional context
Add any other context about the problem here.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/missing-event.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Missing Event
about: Request Implementation of a missing event
title: 'EVENT NAME'
labels: missing event
assignees: ''

---

# Event Name
Please give the name of the event.

# Documentation
[Event Protocol Documentation](https://github.com/Palakis/obs-websocket/.../protocol.md#anchor)

## Event Fields
| Name | Type |
| ------------- | :-------------: |
| `exampleField` | String |
| `exampleField2` | int |

# Additional Information
If you have any additional information like a link to any documentation or event handler of this event please provide this here.
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/missing-event.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Missing Event
description: Request Implementation of a missing event
labels: [ "missing event" ]

body:
- type: input
id: eventName
attributes:
label: Event Name
description: Name of the event
placeholder: SceneCreated
validations:
required: true

- type: input
id: docLink
attributes:
label: Documentation
description: Link to the Event Documentation
validations:
required: true

- type: textarea
id: eventFields
attributes:
label: Event Fields
description: |
Fields send with the Event
Tip: Use the given example table to list the fields
value: |
| Name | Type |
| ------------- | :-------------: |
| `exampleField` | String |
| `exampleField2` | int |
validations:
required: true

- type: textarea
id: additional-info
attributes:
label: Additional Info
description: Other usefull information like links to a Event handler etc.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/missing-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Missing Request
about: Request implementation of a missing request
title: 'REQUEST NAME'
labels: missing request
assignees: ''

---

# Request Name
Please give the name of the request.

# Documentation
[Request Protocol Documentation](https://github.com/Palakis/obs-websocket/.../protocol.md#anchor)

## Request Parameters**
| Name | Type | Required |
| ------------- | :-------------: | :-------------: |
| `exampleParameter` | String | yes |
| `exampleParameter2` | int | no |

## Response Parameters**
| Name | Type |
| ------------- | :-------------: |
| `exampleResponse` | String |
| `exampleResponse2` | int |

# Additional Information
If you have any additional information like a link to any documentation or request handler of this request please provide this here.
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/missing-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Missing Request
description: Request implementation of a missing request
labels: [ "missing request" ]

body:
- type: input
id: requestName
attributes:
label: Request Name
description: Name of the request
placeholder: GetVersion
validations:
required: true

- type: input
id: docLink
attributes:
label: Documentation
description: Link to the Request Documentation
validations:
required: true

- type: textarea
id: requestParameters
attributes:
label: Request Parameters
description: |
Tip: Use the given example table to list the parameters
value: |
| Name | Type | Required |
| ------------- | :-------------: | :-------------: |
| `exampleParameter` | String | yes |
| `exampleParameter2` | int | no |
validations:
required: true

- type: textarea
id: responseParameters
attributes:
label: Response Parameters
description: |
Tip: Use the given example table to list the parameters
value: |
| Name | Type |
| ------------- | :-------------: |
| `exampleResponse` | String |
| `exampleResponse2` | int |
validations:
required: true

- type: textarea
id: additional-info
attributes:
label: Additional Info
description: Other usefull information like links to a Request handler etc.
Binary file added .github/images/obs-ws-java.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Git tag
run: |
git tag $(cat VERSION)
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: PR Test

on:
pull_request:
branches:
- '**'

jobs:
unit-and-integration-tests:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Run unit tests
run: ./gradlew client:test
- name: Run integration tests
run: ./gradlew client:integrationTest
- name: Run generator tests
run: ./gradlew messagegenerator:test
- name: Upload Failing Unit Test Results
if: failure()
uses: actions/upload-artifact@v3
with:
name: Unit and Int Test Failure Results
path: |
client/build/reports/tests/**
messagegenerator/build/reports/tests/**
e2e-authentication-test:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 1.8
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Pull and Run OBS Websocket
run: docker run -p 4455:4444 -d tinatiel/obswebsocket:latest
- name: Run End2End Secured tests
run: ./gradlew client:endToEndSecuredTest
- name: Upload Failing Unit Test Results
if: failure()
uses: actions/upload-artifact@v3
with:
name: E2E Secured Test Failure Results
path: client/build/reports/tests/**

example-build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 1.8
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Example gradle build
run: ./gradlew example:build
15 changes: 9 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Prepare release candidate
name: Publish Release

on:
push:
Expand All @@ -9,14 +9,17 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up JDK 1.8
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
java-version: 1.8
- name: Gradle uploadArchives
distribution: temurin
java-version: 8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Gradle Maven Publish
run: |
./gradlew uploadArchives
./gradlew client:publishMavenJavaPublicationToMavenRepository
env:
IS_RELEASE: "YES"
PGP_KEY: ${{ secrets.PGP_KEY }}
Expand Down
15 changes: 9 additions & 6 deletions .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Snapshot build & publish
name: Publish Snapshot

on:
push:
Expand All @@ -11,14 +11,17 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up JDK 1.8
uses: actions/setup-java@v1
uses: actions/setup-java@v3
with:
java-version: 1.8
- name: Gradle uploadArchives
distribution: temurin
java-version: 8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Gradle Maven Publish
run: |
./gradlew uploadArchives
./gradlew client:publishMavenJavaPublicationToMavenRepository
env:
PGP_KEY: ${{ secrets.PGP_KEY }}
PGP_PSW: ${{ secrets.PGP_PSW }}
Expand Down
Loading

0 comments on commit ceabae1

Please sign in to comment.