You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-23Lines changed: 32 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -19,29 +19,31 @@ WebCTRL is a trademark of Automated Logic Corporation. Any other trademarks men
19
19
20
20
## About
21
21
22
-
[This script](Utility.bat) may be used to automate certain aspects of *WebCTRL* add-on development on *Windows* operating systems. *Windows* version 10 or greater is required. *WebCTRL SDK* dependencies are automatically collected from a local *WebCTRL* installation. Other dependencies may be automatically downloaded from URLs. Commands are provided for add-on compilation and packaging. Keystore management is automatic, so you don't have to worry about manually signing your *.addon* file. Newly created projects are scaffolded by the script to contain all required files.
22
+
[This script](Utility.bat) may be used to automate certain aspects of *WebCTRL* add-on development on *Windows* operating systems. *WebCTRL SDK* dependencies are automatically collected from a local *WebCTRL* installation. Other dependencies may be automatically downloaded from URLs. Commands are provided for add-on compilation and packaging. Keystore management is automatic, so you don't have to worry about manually signing your *.addon* file. Newly created projects are scaffolded by the script to contain all required files.
23
23
24
24
## Setup Instructions
25
25
26
-
1. Install *WebCTRL8.0* or later.
26
+
1. Install *WebCTRL8.5* or later.
27
27
28
-
1. Install the most recent [*JDK*](https://jdk.java.net/) release.
28
+
2. Install the most recent [*JDK*](https://jdk.java.net/) release.
29
+
- Download the *.zip* file, unpack it, and move the contents to your program files.
30
+
- Set the `JAVA_HOME` environment variable to the JDK installation directory (e.g, *C:\Program Files\Java\jdk-22.0.1*).
29
31
30
-
1. Install [*Visual Studio Code*](https://code.visualstudio.com/) and the following extensions:
32
+
3. Install [*Visual Studio Code*](https://code.visualstudio.com/) and the following extensions:
31
33
32
34
-[Visual Studio IntelliCode](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode)
33
35
34
36
-[Project Manager for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-dependency)
35
37
36
38
-[Lanauge Support for Java(TM) by Red Hat](https://marketplace.visualstudio.com/items?itemName=redhat.java)
37
39
38
-
1. Clone this repository to your local machine.
40
+
4. Clone this repository to your local machine.
39
41
40
42
- Edit [*LICENSE*](LICENSE) to match your specifications. This license file is copied to the new projects created by the script.
41
43
42
-
1. Launch [Utility.bat](Utility.bat)
44
+
5. Launch [Utility.bat](Utility.bat)
43
45
44
-
- You will be prompted to enter the location of the *JDK* bin.
46
+
- You may be prompted to enter the location of the *JDK* bin if *%JAVA_HOME%* is not set.
45
47
46
48
- If the script cannot locate a *WebCTRL* installation folder under *%SystemDrive%*, you will be prompted to specify an installation path.
47
49
@@ -59,30 +61,30 @@ WebCTRL is a trademark of Automated Logic Corporation. Any other trademarks men
59
61
60
62
- You can initialize preexisting project folders. For example, you could clone a remote repository to your local machine, and then initialize it with the script to generate missing files.
61
63
62
-
1. Review documentation at [*ALCshare*](http://alcshare.com/content/add-ons).
64
+
6. Review documentation at [*ALCshare*](http://alcshare.com/content/add-ons).
63
65
64
66
## Command Reference
65
67
66
68
The following commands may be used to automate add-on compilation and packaging.
67
69
68
70
| Command | Description |
69
71
| - | - |
70
-
|`help`| Displays a help message listing these commands with brief descriptions. |
71
-
|`cls`| Clears the terminal. |
72
-
|`depend [--all]`| Attempts to collect missing dependencies. Recollects all dependencies if the `--all` flag is given. |
73
-
|`init [--new]`| Reinitializes the current project if no parameters are given. Prompts you to initialize a new project if the `--new` flag is given. |
74
-
|`build[args]`| Compiles source code. The last modified timestamp for each *.java* file is recorded to avoid unnecessary recompilation. Arguments are passed to the `javac` compilation command. Arguments are stored for future invokation, so you only have to type them once. The default compilation flag is `--release 11`. |
75
-
|`pack`| Packages all relevant files into a newly created *.addon* archive. |
76
-
|`make[args]`| Calls `build` and `pack`. Arguments are passed to `build`. |
77
-
|`sign`| Signs the *.addon* archive. |
78
-
|`forge[args]`| Calls `build`, `pack`, and `sign`. Arguments are passed to `build`. |
79
-
|`deploy`| Copies the *.addon* archive and authenticator certificate to the bound *WebCTRL* installation. |
80
-
|`exec[args]`| Calls `build`, `pack`, `sign`, and `deploy`. Arguments are passed to `build`. |
81
-
|`git[args]`| All [*Git*](https://git-scm.com/) commands are executed literally. |
72
+
|**help**| Displays a help message listing these commands with brief descriptions. |
73
+
|**cls**| Clears the terminal. |
74
+
|**depend [‑‑all]**| Attempts to collect missing dependencies. Recollects all dependencies if the `--all` flag is given. |
75
+
|**init [‑‑new]**| Reinitializes the current project if no parameters are given. Prompts you to initialize a new project if the `--new` flag is given. |
76
+
|**build [args]**| Compiles source code. The last modified timestamp for each *.java* file is recorded to avoid unnecessary recompilation. Arguments are passed to the `javac` compilation command. Arguments are stored for future invokation, so you only have to type them once. The default compilation flag is `--release 11`. |
77
+
|**pack**| Packages all relevant files into a newly created *.addon* archive. |
78
+
|**make [args]**| Calls `build` and `pack`. Arguments are passed to `build`. |
79
+
|**sign**| Signs the *.addon* archive. |
80
+
|**forge [args]**| Calls `build`, `pack`, and `sign`. Arguments are passed to `build`. |
81
+
|**deploy**| Copies the *.addon* archive and authenticator certificate to the bound *WebCTRL* installation. |
82
+
|**exec [args]**| Calls `build`, `pack`, `sign`, and `deploy`. Arguments are passed to `build`. |
83
+
|**git [args]**| All [*Git*](https://git-scm.com/) commands are executed literally. |
82
84
83
85
## Extensions
84
86
85
-
Custom project-specific commands can be created to extend the functionality of this script. For examples, refer to <https://github.com/automatic-controls/centralizer-for-webctrl/tree/main/ext>. Any batch file placed in *./ext* is treated as an extension. The name of each batch file is used as the command name (case-insensitive). It is expected that each extension prints help information to the terminal when passed the `--help` parameter. Help information is appended to the help menu shown in the terminal.
87
+
Custom project-specific commands can be created to extend the functionality of this script. Any batch file placed in *./ext* is treated as an extension. The name of each batch file is used as the command name (case-insensitive). It is expected that each extension prints help information to the terminal when passed the `--help` parameter. Help information is appended to the help menu shown in the terminal.
86
88
87
89
The default commands shown in the previous section can be overridden by extensions. For instance, <https://github.com/automatic-controls/commissioning-scripts/blob/main/ext/pack.bat> overrides the default `pack` command. This example also shows how to invoke the overridden packing command (akin to the `super` keyword in Java). For an improved `deploy` command, see <https://github.com/automatic-controls/addon-dev-refresh>.
88
90
@@ -125,7 +127,7 @@ An optional script, `./startup.bat`, is invoked whenever a project folder is loa
125
127
126
128
Runtime dependencies are located in *./lib* relative to your local clone of this repository. These dependencies do not need to be packaged into your *.addon* file because they are provided by *WebCTRL* at runtime. Other external dependencies should be placed in *./root/webapp/WEB-INF/lib* relative to your project folder. The following runtime dependencies are collected from your *WebCTRL* installation:
@@ -167,7 +169,14 @@ The generated 2048-bit RSA key-pair is valid for 100 years, uses SHA512 as the s
167
169
168
170
## Compatibility Notes
169
171
170
-
*WebCTRL* may complain if your add-on name includes spaces. You should use the build flag `--release 11` for *WebCTRL8.0* and `--release 8` for *WebCTRL7.0*. These flags indicate the *JVM* version to use for compilation. You can determine the appropriate *JVM* version by invoking `"[WebCTRL]\bin\java\jre\bin\java.exe" -version` from command prompt (after replacing `[WebCTRL]` with the path to your *WebCTRL* installation directory).
172
+
*WebCTRL* may complain if your add-on name includes spaces. You may use the build flag `--release 11` for *WebCTRL8.0* and `--release 8` for *WebCTRL7.0*. These flags indicate the *JVM* version to use for compilation. You can determine the appropriate *JVM* version by invoking `"[WebCTRL]\bin\java\jre\bin\java.exe" -version` from command prompt (after replacing `[WebCTRL]` with the path to your *WebCTRL* installation directory).
0 commit comments