Munge feature managerMunge is a lightweight preprocessor for Java which allows for conditional compilation and aims at producing human-readable source code by preserving comments and formatting. This extension enables users to create, edit and manage Munge configurations directly within Visual Studio Code. Features
UsageWhen creating a model the structure should be as follows: Feature tree... Boolean formula... Where nodes in a feature tree can be 'and','or','alt' & 'opt'. All nodes can have from 1 to n children. Leaf nodes are represented as 'feature' and have no children. (To understand this easier press ( There can be 1 or no sets of constraints, if there are constraints: There can be 1 to n rules (boolean formulas) in constraints, using binary connective 'conj', 'disj', 'imp', 'not' and 'eq'. The configs have a list like structure where, features are either selected or unselected (which can be changed manyally), some feature may appear with a hidden tag (note this should not be changed manually). Press ( !Right now the extensions assumes the model is in the model directory with file name 'model.xml' and the config in configs directory with 'config.xml' file name! The commands below can be executed from the command pallette ( Upon failure, due to missing files or compilation errors, a notification will be shown in Visual Studio Code with the failure message. DevelopmentThis project is fully open-source and any contributions are welcome. ContributorsMatej Hora, Michael Schrijer, Thijs van de Griendt DependenciesMunge.java is compiled once the extension is activated, so 'javac' is required. For this any JDK should suffice (Extension Pack for Java, reccomended). |