Changes for page Project Creation, Initialization and Launch (Prom)
Last modified by Richard Kreissig on 2023/09/14 10:56
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -78,12 +78,13 @@ 78 78 79 79 An environment consists of 80 80 81 -1. a unique **name**, thatdoesnot contain a comma81 +1. a unique **name**, which may not contain a comma 82 82 1. a **related project wizard** 83 83 1. information about a **main file** for the project 84 84 1. information about the **target code** KiCo should produce 85 85 1. information for **wrapper code generation** 86 -1. a list of **shell commands** which should be run as part of a project launch 86 +1. a list of **shell commands**, which should be run as part of a project launch 87 +1. an **associated launch shortcut**, which is used on the compiled main file 87 87 88 88 Besides the name, all of these are optional, but can improve the workflow. 89 89 ... ... @@ -127,12 +127,16 @@ 127 127 128 128 Explicit annotations have the form **{{code language="none"}}@Wrapper SnippetName, arg1, arg2, ..., argN{{/code}}**. An explicit wrapper annotation raises an error if the snippet does not exist, thus it is **recommened** to use the explicit **@Wrapper** annotation. Every other annotation is tried as wrapper code annotation as well, but will be ignored, if no such snippet could be found. Thus you can write the above explicit annotation as **@SnippetName arg1, arg2, ..., argN**{{code language="none"}}{{/code}}, but there will be no error if the snippet with this name does not exist or could not be found, for example because of a typo. 129 129 131 +**//Note~://** Annotation **names** and parameters are **case sensitive**. That means that //Clock, clock, Floodlight, FloodLight// are all different annotations. 132 + 130 130 [[image:attach:wrapper_code_generation_scheme.png]] 131 131 132 132 In the **template file** one can use special **placeholders**. 133 133 134 -**${ model_name}**willbereplaced with the name of themodel.137 +**${file_name}** is replaced with the name withouth extension of the file that is generated (e.g. //Main.java// will be //Main//). 135 135 139 +**${model_name}** is replaced with the name of the last compiled model. 140 + 136 136 **${declarations}** and** ${decls}** will be replaced with additional declarations of variables and functions (<@decl>...</@decl> of a snippet definition). Declarations should occur before the tick loop of the model file. In general they are not required for Java code but may be useful in C applications (e.g. for //extern// calls). 137 137 138 138 **${initializations}** and **${inits}** will be replaced with initialization code for components (<@init>...</@init> of a snippet definition). Initialization should occur before the tick loop of the model file.
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -1 37632821 +16810568 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/1 3763282/Project Creation, Initialization and Launch (Prom)1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/16810568/Project Creation, Initialization and Launch (Prom)