A Domain Specific Language (DSL) definition for API Orchestration and Data Transformation using the .flow extension. The name 'wolf' (derived by reversing 'flow') represents a Workflow Orchestration Language Framework (WOLF) for APIs.
Wolf DSL provides a specialized syntax for defining API orchestration flows and data transformations. It aims to simplify the creation and maintenance of complex API interactions through a dedicated language format.
- Rich syntax highlighting and content assistance.
- Specialized language constructs for REST & GraphQL orchestration.
- Native GraphQL Support by importing the GraphQL Language.
- Integrated development environment support.
- Custom validations.
- Asynchronous by default.
- Expressions & Functions for data transformation with extensions to include custom functions.
- Download and install Eclipse
- Download the Wolf DSL Eclipse plugin from the releases section
- In Eclipse click
Help -> Install New Software -> Add -> Archive
and select the downloaded plugin zip file - Restart Eclipse when prompted. After restart, all .flow files will have syntax highlighting and content-assist
See the documentation in the docs
directory for detailed information on writing flow files.
- Eclipse IDE
- Xtext SDK
- Download and install Eclipse
- Install Xtext SDK in Eclipse:
a. In Eclipse, click Help -> Install New Software
b. Add repository with location: http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
c. Select the repository in 'Work with' dropdown
d. Select and install Xtext Complete SDK (2.30.0) - Restart Eclipse
- Clone the required repositories:
git clone https://github.com/graph-quilt/graphql-xtext.git git clone https://github.com/wolf-DSL/wolf-language.git
- Import both projects in Eclipse: File -> Import Project -> Maven -> Existing Maven Project
- Under
com.intuit.graphql
, right click onGenerateGraphQL.mwe2
-> Run As -> 1 MWE2 Workflow - Under
com.intuit.dsl.flow
, right click onGenerateFlow.mwe2
-> Run As -> 1 MWE2 Workflow - Edit the Grammar as needed and run step 4 again to regenerate
- Create a new "Run Configuration" as an "Eclipse Application" and name it
flowEditor
- Run this configuration to open a new Eclipse window where you can create and edit flow files
- Select File -> Export -> Plug-in Development -> Deployable features
- Select the flow feature and specify an archive file as the destination
- The generated zip file can be distributed and used to add flow file editing capabilities to Eclipse
Please read the Contribution guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the [LICENSE_NAME] - see the LICENSE file for details.
Please create an issue in the GitHub repository for support requests.