From: Jordan Duabe <1442368+j4ckofalltrades@users.noreply.github.com> Date: Wed, 03 Mar 2021 17:42:34 +0530 Subject: Build script improvements --- Build script improvements Enable building of specific actions in isolation. --- --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +build-all: + ./build.sh + +build-hotkey-action: + ./build.sh hotkey + +build-media-key-action: + ./build.sh mediakey + +build-obs-suite-action: + ./build.sh obssuite + +build-play-audio-clip-action: + ./build.sh playaudioclip + +build-run-command-action: + ./build.sh runcommand + +build-text-block-action: + ./build.sh textblock + +build-twitch-chat-action: + ./build.sh twitchchat + +build-twitter-action: + ./build.sh twitter + +build-website-action: + ./build.sh website --- 'a/README.md' +++ b/README.md @@ -39,7 +39,7 @@ Copy the `twitch-chat-connect`, `twitch- ## Quick Start -Build actions by executing `./build.sh` from the command line. +Build all actions by executing `make build-all` from the command line or specific actions i.e. `make build-twitch-chat-action`, see [Makefile](Makefile) for complete list. To test these actions out in your local environment you'll need to run the [Stream-Pi Server](https://github.com/stream-pi/server) and copy the contents of `PreBuiltPlugins/` to the server's Plugins directory (`data/Plugins` by default), especially if you're writing your own custom action / integration. --- 'a/build.sh' +++ b/build.sh @@ -1,72 +1,144 @@ -FOLD=../PreBuiltPlugins - -pushd . || exit -cd hotkeyaction && mvn clean package -mv target/hotkeyaction-1.0.0.jar $FOLD/hotkeyaction.jar - -cd ../mediakeyaction && mvn clean package -mv target/mediakeyaction-1.0.0.jar $FOLD/mediakeyaction.jar - -cd ../playaudioclipaction && mvn clean package -mv target/playaudioclipaction-1.0.0.jar $FOLD/playaudioclipaction.jar - -cd ../runcommandaction && mvn clean package -mv target/runcommandaction-1.0.0.jar $FOLD/runcommandaction.jar - -cd ../textblockaction && mvn clean package -mv target/textblockaction-1.0.0.jar $FOLD/textblockaction.jar - -cd ../twitteraction && mvn clean package -mv target/twitteraction-1.0.0.jar $FOLD/twitteraction.jar - -cd ../websiteaction && mvn clean package -mv target/websiteaction-1.0.0.jar $FOLD/websiteaction.jar -popd || exit - -## OBS Suite -pushd . || exit -cd obssuite/mother && mvn clean install package -mv target/obssuite_motheraction-1.0.0.jar ../$FOLD/obssuite_motheraction.jar - -cd ../setcurrentprofile && mvn clean package -mv target/obssuite_setcurrentprofileaction-1.0.0.jar ../$FOLD/obssuite_setcurrentprofileaction.jar - -cd ../setcurrentscene && mvn clean package -mv target/obssuite_setcurrentsceneaction-1.0.0.jar ../$FOLD/obssuite_setcurrentsceneaction.jar +#!/bin/bash -cd ../setcurrenttransition && mvn clean package -mv target/obssuite_setcurrenttransitionaction-1.0.0.jar ../$FOLD/obssuite_setcurrenttransitionaction.jar - -cd ../setmute && mvn clean package -mv target/obssuite_setmuteaction-1.0.0.jar ../$FOLD/obssuite_setmuteaction.jar - -cd ../setcurrentprofile && mvn clean package -mv target/obssuite_setcurrentprofileaction-1.0.0.jar ../$FOLD/obssuite_setcurrentprofileaction.jar - -cd ../setpreviewscene && mvn clean package -mv target/obssuite_setpreviewsceneaction-1.0.0.jar ../$FOLD/obssuite_setpreviewsceneaction.jar - -cd ../setrecording && mvn clean package -mv target/obssuite_setrecordingaction-1.0.0.jar ../$FOLD/obssuite_setrecordingaction.jar - -cd ../setreplaybuffer && mvn clean package -mv target/obssuite_setreplaybufferaction-1.0.0.jar ../$FOLD/obssuite_setreplaybufferaction.jar - -cd ../setstreaming && mvn clean package -mv target/obssuite_setstreamingaction-1.0.0.jar ../$FOLD/obssuite_setstreamingaction.jar - -cd ../setstudiomode && mvn clean package -mv target/obssuite_setstudiomodeaction-1.0.0.jar ../$FOLD/obssuite_setstudiomodeaction.jar - -cd ../setvolume && mvn clean package -mv target/obssuite_setvolumeaction-1.0.0.jar ../$FOLD/obssuite_setvolumeaction.jar -popd || exit - -# Twitch Chat -pushd . || exit -cd twitch/twitch-chat-connect && mvn clean install package -mv target/twitch-chat-connect-1.0.0.jar ../$FOLD/twitch-chat-connect.jar +FOLD=../PreBuiltPlugins -cd ../send-channel-msg && mvn clean package -mv target/twitch-send-channel-msg-1.0.0.jar ../$FOLD/twitch-send-channel-msg.jar -popd || exit +hotkey() { + pushd . || exit + cd hotkeyaction && mvn clean package + mv target/hotkeyaction-1.0.0.jar $FOLD/hotkeyaction.jar + popd || exit +} + +mediakey() { + pushd . || exit + cd mediakeyaction && mvn clean package + mv target/mediakeyaction-1.0.0.jar $FOLD/mediakeyaction.jar + popd || exit +} + +obssuite() { + pushd . || exit + cd obssuite/mother && mvn clean install package + mv target/obssuite_motheraction-1.0.0.jar ../$FOLD/obssuite_motheraction.jar + + cd ../setcurrentprofile && mvn clean package + mv target/obssuite_setcurrentprofileaction-1.0.0.jar ../$FOLD/obssuite_setcurrentprofileaction.jar + + cd ../setcurrentscene && mvn clean package + mv target/obssuite_setcurrentsceneaction-1.0.0.jar ../$FOLD/obssuite_setcurrentsceneaction.jar + + cd ../setcurrenttransition && mvn clean package + mv target/obssuite_setcurrenttransitionaction-1.0.0.jar ../$FOLD/obssuite_setcurrenttransitionaction.jar + + cd ../setmute && mvn clean package + mv target/obssuite_setmuteaction-1.0.0.jar ../$FOLD/obssuite_setmuteaction.jar + + cd ../setcurrentprofile && mvn clean package + mv target/obssuite_setcurrentprofileaction-1.0.0.jar ../$FOLD/obssuite_setcurrentprofileaction.jar + + cd ../setpreviewscene && mvn clean package + mv target/obssuite_setpreviewsceneaction-1.0.0.jar ../$FOLD/obssuite_setpreviewsceneaction.jar + + cd ../setrecording && mvn clean package + mv target/obssuite_setrecordingaction-1.0.0.jar ../$FOLD/obssuite_setrecordingaction.jar + + cd ../setreplaybuffer && mvn clean package + mv target/obssuite_setreplaybufferaction-1.0.0.jar ../$FOLD/obssuite_setreplaybufferaction.jar + + cd ../setstreaming && mvn clean package + mv target/obssuite_setstreamingaction-1.0.0.jar ../$FOLD/obssuite_setstreamingaction.jar + + cd ../setstudiomode && mvn clean package + mv target/obssuite_setstudiomodeaction-1.0.0.jar ../$FOLD/obssuite_setstudiomodeaction.jar + + cd ../setvolume && mvn clean package + mv target/obssuite_setvolumeaction-1.0.0.jar ../$FOLD/obssuite_setvolumeaction.jar + popd || exit +} + +playaudioclip() { + pushd . || exit + cd playaudioclipaction && mvn clean package + mv target/playaudioclipaction-1.0.0.jar $FOLD/playaudioclipaction.jar + popd || exit +} + +runcommand() { + pushd . || exit + cd runcommandaction && mvn clean package + mv target/runcommandaction-1.0.0.jar $FOLD/runcommandaction.jar + popd || exit +} + +textblock() { + pushd . || exit + cd textblockaction && mvn clean package + mv target/textblockaction-1.0.0.jar $FOLD/textblockaction.jar + popd || exit +} + +twitter() { + pushd . || exit + cd twitteraction && mvn clean package + mv target/twitteraction-1.0.0.jar $FOLD/twitteraction.jar + popd || exit +} + +twitchchat() { + pushd . || exit + cd twitch/twitch-chat-connect && mvn clean install package + mv target/twitch-chat-connect-1.0.0.jar ../$FOLD/twitch-chat-connect.jar + + cd ../send-channel-msg && mvn clean package + mv target/twitch-send-channel-msg-1.0.0.jar ../$FOLD/twitch-send-channel-msg.jar + popd || exit +} + +websiteaction() { + pushd . || exit + cd websiteaction && mvn clean package + mv target/websiteaction-1.0.0.jar $FOLD/websiteaction.jar + popd || exit +} + +case "$1" in +hotkey) + hotkey + ;; +mediakey) + mediakey + ;; +playaudioclip) + playaudioclip + ;; +runcommand) + runcommand + ;; +textblock) + textblock + ;; +twitter) + twitter + ;; +website) + website + ;; +obssuite) + obssuite + ;; +twitchchat) + twitchchat + ;; +*) + # build all actions as default + hotkey + mediakey + obssuite + playaudioclip + runcommand + textblock + twitter + twitchchat + website + ;; +esac