Contact Us 1-800-596-4880

Preparing a gitignore File

Mule Runtime Engine versions 3.5, 3.6, and 3.7 reached End of Life on or before January 25, 2020. For more information, contact your Customer Success Manager to determine how you can migrate to the latest Mule version.
This page describes a feature that is currently available using Mule Studio (December 2013). Download and launch the latest version of Mule Studio to take advantage of this feature.

As a part of a team of developers, you may be using an SCM (Source Code Management) tool such as git to keep track of changes in an application. Studio supports the use of git by presenting an option to prepare a standard gitignore file for a new Mule Project.

Assumptions

This document assumes familiarity with git as a software version control system, and that you are using Anypoint Studio to build a new application that you intend to manage using git.

Configuring a gitignore File

A project’s gitignore file contains a list of files and folders that git should ignore when tracking a project. Because all Studio projects contain a set of files that git should not include in its version control, you can create a gitignore file when creating a new Mule Project in Studio.

  1. Create a new Mule Project (File > New > Mule Project).

  2. In the first pane of the New Mule Project wizard(see image below), check Create a gitignore file for the project with default ignores for Studio project

    gitignore
  3. Click Finish to save and open your new project.

    Studio stores the gitignore file as a hidden file in the project’s root directory. To view the contents of the file, change the settings of your operating system to display hidden files.

gitignore File Contents

A gitignore file generally includes several files and folders that are commonly part of Java and Eclipse projects. A gitignore file prepared in Studio contains a few more Studio-specific elements (see table below).

Full .gitignore File Contents
# Java defaults (https://github.com/github/gitignore/blob/main/Java.gitignore) #
# --- #
*.class

# Package Files #
*.jar
*.war
*.ear

# --- #
# Eclipse-specific (https://github.com/github/gitignore/blob/main/Global/Eclipse.gitignore) #
# --- #
*.pydevproject
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
# You may want to remove the sharp symbols here if you are using Maven
#.project
#.classpath

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath

# --------------- #
# Studio-specific #
# --------------- #
.studio/
flows/
target/
**/*.mflow
Studio-specific Ignored File or Folder Reason
.studio/

A hidden folder, it contains information that is irrelevant for synchronizing such as cached metadata files that git does not need to track.

flows/

Including this folder in gitignore ensures that git does not track visual changes in the canvas which have do not affect the working of the flow.

**/*.mflow

Generally stored in the studio folder, Studio automatically includes mflow files in gitignore. However, in case mflow files are stored elsewhere in the project, Studio specifically includes all mflow files in gitignore.

target/

Including this folder in gitignore ensures that git does not track the elements Studio uses to construct the target folder upon build.