Skip to content

Commit ceabae1

Browse files
ChristopheCVBTinaTielTinaTielPjiesconvdweem
authored
Release 2.0.0 (#144)
* 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]>
1 parent 4e94284 commit ceabae1

File tree

941 files changed

+33072
-5197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

941 files changed

+33072
-5197
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf encoding=utf-8

.github/ISSUE_TEMPLATE/bug_report.md

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Bug report
3+
about: Report a bug to help us improve
4+
title: "SHORT DESCRIPTION"
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
# Describe the bug
11+
A clear and concise description of what the bug is.
12+
13+
# Code Sample
14+
```java
15+
// give a code sample showing how to reproduce this.
16+
```
17+
18+
# Expected behavior
19+
A clear and concise description of what you expected to happen.
20+
21+
# Additional context
22+
Add any other context about the problem here.
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Missing Event
3+
about: Request Implementation of a missing event
4+
title: 'EVENT NAME'
5+
labels: missing event
6+
assignees: ''
7+
8+
---
9+
10+
# Event Name
11+
Please give the name of the event.
12+
13+
# Documentation
14+
[Event Protocol Documentation](https://github.com/Palakis/obs-websocket/.../protocol.md#anchor)
15+
16+
## Event Fields
17+
| Name | Type |
18+
| ------------- | :-------------: |
19+
| `exampleField` | String |
20+
| `exampleField2` | int |
21+
22+
# Additional Information
23+
If you have any additional information like a link to any documentation or event handler of this event please provide this here.
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Missing Event
2+
description: Request Implementation of a missing event
3+
labels: [ "missing event" ]
4+
5+
body:
6+
- type: input
7+
id: eventName
8+
attributes:
9+
label: Event Name
10+
description: Name of the event
11+
placeholder: SceneCreated
12+
validations:
13+
required: true
14+
15+
- type: input
16+
id: docLink
17+
attributes:
18+
label: Documentation
19+
description: Link to the Event Documentation
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: eventFields
25+
attributes:
26+
label: Event Fields
27+
description: |
28+
Fields send with the Event
29+
30+
Tip: Use the given example table to list the fields
31+
value: |
32+
| Name | Type |
33+
| ------------- | :-------------: |
34+
| `exampleField` | String |
35+
| `exampleField2` | int |
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: additional-info
41+
attributes:
42+
label: Additional Info
43+
description: Other usefull information like links to a Event handler etc.
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Missing Request
3+
about: Request implementation of a missing request
4+
title: 'REQUEST NAME'
5+
labels: missing request
6+
assignees: ''
7+
8+
---
9+
10+
# Request Name
11+
Please give the name of the request.
12+
13+
# Documentation
14+
[Request Protocol Documentation](https://github.com/Palakis/obs-websocket/.../protocol.md#anchor)
15+
16+
## Request Parameters**
17+
| Name | Type | Required |
18+
| ------------- | :-------------: | :-------------: |
19+
| `exampleParameter` | String | yes |
20+
| `exampleParameter2` | int | no |
21+
22+
## Response Parameters**
23+
| Name | Type |
24+
| ------------- | :-------------: |
25+
| `exampleResponse` | String |
26+
| `exampleResponse2` | int |
27+
28+
# Additional Information
29+
If you have any additional information like a link to any documentation or request handler of this request please provide this here.
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Missing Request
2+
description: Request implementation of a missing request
3+
labels: [ "missing request" ]
4+
5+
body:
6+
- type: input
7+
id: requestName
8+
attributes:
9+
label: Request Name
10+
description: Name of the request
11+
placeholder: GetVersion
12+
validations:
13+
required: true
14+
15+
- type: input
16+
id: docLink
17+
attributes:
18+
label: Documentation
19+
description: Link to the Request Documentation
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: requestParameters
25+
attributes:
26+
label: Request Parameters
27+
description: |
28+
Tip: Use the given example table to list the parameters
29+
value: |
30+
| Name | Type | Required |
31+
| ------------- | :-------------: | :-------------: |
32+
| `exampleParameter` | String | yes |
33+
| `exampleParameter2` | int | no |
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: responseParameters
39+
attributes:
40+
label: Response Parameters
41+
description: |
42+
Tip: Use the given example table to list the parameters
43+
value: |
44+
| Name | Type |
45+
| ------------- | :-------------: |
46+
| `exampleResponse` | String |
47+
| `exampleResponse2` | int |
48+
validations:
49+
required: true
50+
51+
- type: textarea
52+
id: additional-info
53+
attributes:
54+
label: Additional Info
55+
description: Other usefull information like links to a Request handler etc.

.github/images/obs-ws-java.png

91.6 KB
Loading

.github/workflows/master.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
build:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v2
12+
- uses: actions/checkout@v3
1313
- name: Git tag
1414
run: |
1515
git tag $(cat VERSION)

.github/workflows/pr.yml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# This workflow will build a Java project with Gradle
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
3+
4+
name: PR Test
5+
6+
on:
7+
pull_request:
8+
branches:
9+
- '**'
10+
11+
jobs:
12+
unit-and-integration-tests:
13+
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v2
18+
- name: Set up JDK 1.8
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: temurin
22+
java-version: 8
23+
- name: Setup Gradle
24+
uses: gradle/gradle-build-action@v2
25+
- name: Run unit tests
26+
run: ./gradlew client:test
27+
- name: Run integration tests
28+
run: ./gradlew client:integrationTest
29+
- name: Run generator tests
30+
run: ./gradlew messagegenerator:test
31+
- name: Upload Failing Unit Test Results
32+
if: failure()
33+
uses: actions/upload-artifact@v3
34+
with:
35+
name: Unit and Int Test Failure Results
36+
path: |
37+
client/build/reports/tests/**
38+
messagegenerator/build/reports/tests/**
39+
40+
e2e-authentication-test:
41+
42+
runs-on: ubuntu-latest
43+
44+
steps:
45+
- uses: actions/checkout@v3
46+
- name: Set up JDK 1.8
47+
uses: actions/setup-java@v3
48+
with:
49+
distribution: temurin
50+
java-version: 8
51+
- name: Setup Gradle
52+
uses: gradle/gradle-build-action@v2
53+
- name: Pull and Run OBS Websocket
54+
run: docker run -p 4455:4444 -d tinatiel/obswebsocket:latest
55+
- name: Run End2End Secured tests
56+
run: ./gradlew client:endToEndSecuredTest
57+
- name: Upload Failing Unit Test Results
58+
if: failure()
59+
uses: actions/upload-artifact@v3
60+
with:
61+
name: E2E Secured Test Failure Results
62+
path: client/build/reports/tests/**
63+
64+
example-build:
65+
66+
runs-on: ubuntu-latest
67+
68+
steps:
69+
- uses: actions/checkout@v3
70+
- name: Set up JDK 1.8
71+
uses: actions/setup-java@v3
72+
with:
73+
distribution: temurin
74+
java-version: 8
75+
- name: Setup Gradle
76+
uses: gradle/gradle-build-action@v2
77+
- name: Example gradle build
78+
run: ./gradlew example:build

.github/workflows/release.yml

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Prepare release candidate
1+
name: Publish Release
22

33
on:
44
push:
@@ -9,14 +9,17 @@ jobs:
99
build:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v1
12+
- uses: actions/checkout@v3
1313
- name: Set up JDK 1.8
14-
uses: actions/setup-java@v1
14+
uses: actions/setup-java@v3
1515
with:
16-
java-version: 1.8
17-
- name: Gradle uploadArchives
16+
distribution: temurin
17+
java-version: 8
18+
- name: Setup Gradle
19+
uses: gradle/gradle-build-action@v2
20+
- name: Gradle Maven Publish
1821
run: |
19-
./gradlew uploadArchives
22+
./gradlew client:publishMavenJavaPublicationToMavenRepository
2023
env:
2124
IS_RELEASE: "YES"
2225
PGP_KEY: ${{ secrets.PGP_KEY }}

.github/workflows/snapshot.yml

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Snapshot build & publish
1+
name: Publish Snapshot
22

33
on:
44
push:
@@ -11,14 +11,17 @@ jobs:
1111
runs-on: ubuntu-latest
1212

1313
steps:
14-
- uses: actions/checkout@v1
14+
- uses: actions/checkout@v3
1515
- name: Set up JDK 1.8
16-
uses: actions/setup-java@v1
16+
uses: actions/setup-java@v3
1717
with:
18-
java-version: 1.8
19-
- name: Gradle uploadArchives
18+
distribution: temurin
19+
java-version: 8
20+
- name: Setup Gradle
21+
uses: gradle/gradle-build-action@v2
22+
- name: Gradle Maven Publish
2023
run: |
21-
./gradlew uploadArchives
24+
./gradlew client:publishMavenJavaPublicationToMavenRepository
2225
env:
2326
PGP_KEY: ${{ secrets.PGP_KEY }}
2427
PGP_PSW: ${{ secrets.PGP_PSW }}

0 commit comments

Comments
 (0)