Create a simple IntelliJ IDEA PyCharm gradle plugin
Budget: $149 – $150 USD
The PyCharm gradle plugin will have two features:
Feature #1 (New Project Wizard of type "STAG")
"New Project wizard will include an option called "STAG". Following are the parameters on the wizard
Parameter #1 (STAG Name)
This is the STAG name. It must end in the word "stag". e.g. petstag, demostag, googlestag etc.. Set default value to "petstag".
Parameter #2 (STAG pattern)
This is a dropdown menu. Contains two values ==> rubicon, apollo. Default selection: rubicon. Of course, this list must be extensible in future.
Parameter #3 (STAG pattern version)
Contains two values ==> 1.0.0, 1.0.0-alpha. Default selection: 1.0.0-alpha. Of course, this list must be extensible in future.
Parameter #4 (STAG Location)
This is basically the project directory.
Default value is $USER_HOME/steamworks/stem/STAG pattern/STAG version/STAG Name.
E.g. (on windows) ==> C:\Users\TestUser\steamworks\stem\rubicon\1.0.0\petstag
Parameter #5 (Override Config)
This is a boolean flag. So, basically a check box in the wizard.
Once you have the above 5 parameters captured from the user, you call the underlying command line utility. For .e.g
steamctl desktop create stag --name <stag name> --pattern <stag pattern> --version <stag pattern version> --stag-dir <stag location> --override-cfg
Feature #2 ("Deploy STAG" button somewhere)
This assumes you are already inside the newly created STAG project. So, you must already have the following parameters available: STAG name, STAG pattern, STAG pattern version that you captured from the above wizard.
Now, I need a button or some widget somewhere in the IDE that says "Deploy STAG". I don't have any preference if it's a button or some other widget and you can put it where ever you feel comfortable. When the button/widget is clicked, it should pop up a small window with the following two params:
Parameter #1 (Emulate Custer)
This is a boolean flag. So, it will be a checkbox.
Parameter #2 (Deployment Config)
This is the path to the deployment config file.
Default value is $USER_HOME/steamworks/steamctlcfg/<stag pattern>/<stag pattern version>/<stag name>steamctlcfg/desktop_deploment_config.yml
E.g. On windows ==> c:\users\testuser\steamworks\steamctlcfg\rubicon\1.0.0\petstagsteamctlcfg\desktop_deploment_config.yml
Once you have captured the above two parameters and user clicks on "Deploy", then call the underlying command line utility. For e.g.
steamctl desktop deploy stag --name <stag name> --pattern <stag pattern> --version <stag pattern version> --emulate-cluster
That's it. It's a pretty straightforward task.
Note: Task/milestone is NOT complete unless your plugin works on my Windows/Mac desktops.
Feature #1 (New Project Wizard of type "STAG")
"New Project wizard will include an option called "STAG". Following are the parameters on the wizard
Parameter #1 (STAG Name)
This is the STAG name. It must end in the word "stag". e.g. petstag, demostag, googlestag etc.. Set default value to "petstag".
Parameter #2 (STAG pattern)
This is a dropdown menu. Contains two values ==> rubicon, apollo. Default selection: rubicon. Of course, this list must be extensible in future.
Parameter #3 (STAG pattern version)
Contains two values ==> 1.0.0, 1.0.0-alpha. Default selection: 1.0.0-alpha. Of course, this list must be extensible in future.
Parameter #4 (STAG Location)
This is basically the project directory.
Default value is $USER_HOME/steamworks/stem/STAG pattern/STAG version/STAG Name.
E.g. (on windows) ==> C:\Users\TestUser\steamworks\stem\rubicon\1.0.0\petstag
Parameter #5 (Override Config)
This is a boolean flag. So, basically a check box in the wizard.
Once you have the above 5 parameters captured from the user, you call the underlying command line utility. For .e.g
steamctl desktop create stag --name <stag name> --pattern <stag pattern> --version <stag pattern version> --stag-dir <stag location> --override-cfg
Feature #2 ("Deploy STAG" button somewhere)
This assumes you are already inside the newly created STAG project. So, you must already have the following parameters available: STAG name, STAG pattern, STAG pattern version that you captured from the above wizard.
Now, I need a button or some widget somewhere in the IDE that says "Deploy STAG". I don't have any preference if it's a button or some other widget and you can put it where ever you feel comfortable. When the button/widget is clicked, it should pop up a small window with the following two params:
Parameter #1 (Emulate Custer)
This is a boolean flag. So, it will be a checkbox.
Parameter #2 (Deployment Config)
This is the path to the deployment config file.
Default value is $USER_HOME/steamworks/steamctlcfg/<stag pattern>/<stag pattern version>/<stag name>steamctlcfg/desktop_deploment_config.yml
E.g. On windows ==> c:\users\testuser\steamworks\steamctlcfg\rubicon\1.0.0\petstagsteamctlcfg\desktop_deploment_config.yml
Once you have captured the above two parameters and user clicks on "Deploy", then call the underlying command line utility. For e.g.
steamctl desktop deploy stag --name <stag name> --pattern <stag pattern> --version <stag pattern version> --emulate-cluster
That's it. It's a pretty straightforward task.
Note: Task/milestone is NOT complete unless your plugin works on my Windows/Mac desktops.