Giter Site home page Giter Site logo

dragon-breath's Introduction

Dragon Breath

Dragon Breath is a lightweight package manager primarily for use with Salesforce. It uses git repositories (imported as submodules). It is a bit like rubygems except without any central management.

The basic way things work is:

(1) You define a list of packages you want to import (2) Dragon Breath installs them as git submodules and imports all the files into a single central directory, adding any missing metadata (3) Dragon Breath exports all these to your project directory

This is most excellent for when you commonly use similar stylesheets, test utilities, etc. across multiple projects. With Dragon Breath you only need to keep these in a single (or multiple) git repos and you can nearly effortlessly follow the DRY principle with full version control.

At the moment other commonly used libraries, including Apex-Commons, are available as distinct git repositories. This allows you to easily use string methods, HTTPUtils, list methods, etc. that are not available in standard Apex without importing the entire library.

Basic usage is as follows:

bash add.sh git_repo_address project_folder

This adds a project to your app as a git submodule.

Example:

bash add.sh git@github.com:apex-commons/StringUtils.git ApexCommonsStringUtils

This adds the submodule to your git repository in the folder submodules/ApexCommonsStringUtils. It also adds an entry to the SUBMODPATHS file.

If you later decie you don’t want to use the module, simply edit it away in the SUBMODPATHS file.

The next step is to update:

bash update.sh

This updates each submodule to the master, copies the files so they are ready for deployment, and (via a ruby script) generates any missing meta xml files. This allows you to keep chunky xml files outside of your repositories if you want.

To export you must update entries in the PROJECTPATHS file.

Add the project path to your PROJECTPATH file:

/SalesforceProjects/Pipeline

Now you are ready to export:

bash export.sh

That’s all. All of the files will now be in your project path and ready for deployment via the Force.com IDE, Ant, MavensMate, or whatever deployment tool you use.

To recap, four basic steps:

  1. Add project paths (add.sh)
  2. Run update script (update.sh)
  3. Add paths for export (edit PROJECTPATHS)
  4. Export (export.sh)

Best practice and examples reside here.

dragon-breath's People

Contributors

fractastical avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

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.