GithubHelp home page GithubHelp logo

mule2puml-maven-plugin's Introduction

Intro

This plugin generates puml diagrams by searching down 'muleSourceDir' and looking for files matching provided pattern. The plugin then

  • merges all the files into one big mule xml document
  • It then expands all flow-refs in the big mule xml in-place. i.e. all flow-ref are replaced with the actual sub-flow/flow
  • then removes the redundant sub-flow and flows that are not used anymore
  • then parses the simplified mule flow to generate plantuml (.puml)

##Usage

Maven Plugin Configuration

			<plugin>
				<artifactId>mule2puml-maven-plugin</artifactId>
				<configuration>
					<muleSourceDir>src/test/resources/mule-sample-api-v1</muleSourceDir>
					<muleFilesPathRegex>/src/main/app/.*\.xml</muleFilesPathRegex>
					<generateUberMuleXML>true</generateUberMuleXML>
					<outputUberMuleXMLPath>target/generated-test-sources/docs/mule.xml</outputUberMuleXMLPath>
					<pumlOutputDir>target/generated-test-sources/docs/puml</pumlOutputDir>
					<entryXPathFilters>
						<entryXPathFilter>/*[local-name()='mule']/*[local-name()='flow']/*[local-name()='listener']/parent::node()</entryXPathFilter>
						<entryXPathFilter>/*[local-name()='mule']/*[local-name()='flow']/*[local-name()='inbound-endpoint']/parent::node()</entryXPathFilter>
						<entryXPathFilter>/*[local-name()='mule']/*[local-name()='flow'][contains(@name, 'sample-api-v1-config')]</entryXPathFilter>
						<!--/c:mule/c:flow[@name='get:/{bancsSchemeNo}:sample-api-v1-config']/@name-->
					</entryXPathFilters>
				</configuration>
			</plugin>

Command line

mvn com.github.nabsha.plugin:mule2puml-maven-plugin:1.0-SNAPSHOT:mule2puml -DmuleSourceDir=$pwd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.