New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

archimate-diff

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

archimate-diff

  • 0.1.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Archimate

Build Status

I also have included some Ruby code that plays with the .archimate file format produces by Archi to produce useful output.

Installation

Add this line to your application's Gemfile:

gem 'archimate'

And then execute:

$ bundle

Or install it yourself as:

$ gem install archimate

Usage

archimate

The example scripts are (some are planned):

commanddescription
archimate help [COMMAND]Describe available commands or one specific command
archimate convert ARCHIFILEConvert the incoming file to the desired type
archimate dedupe ARCHIFILEde-duplicate elements in Archi file
archimate map ARCHIFILEEXPERIMENTAL: Produce a map of diagram links to a diagram
archimate merge ARCHIFILE1 ARCHIFILE2*EXPERIMENTAL:*Merge two archimate files
archimate project ARCHIFILE PROJECTFILE*EXPERIMENTAL:*Synchronize an Archi file and an MSProject XML file
archimate svg ARCHIFILEProduce semantically meaningful SVG files from an Archi file
archimate lint ARCHIFILEProduce a report of warnings and issues in the Archi file

archidiff & archimerge

Archidiff is a set of tools to help with versioning an .archimate file from Archi in a version control system (like git). Eventually I want to provide diff and (3-way) merge tools that understand how Archi files are structured and avoid problems that happen when multiple people collaborate on a model.

To enable using these from the command line git, add these lines to your ~/.gitconfig replacing {PATH_TO_ARCHIDIFF} with the path to the archidiff binaries.

[difftool "archidiff"]
    cmd = {PATH_TO_ARCHIDIFF}/archidiff $LOCAL $REMOTE

[difftool "archidiff-summary"]
    cmd = {PATH_TO_ARCHIDIFF}/archidiff-summary $LOCAL $REMOTE

[mergetool "archimerge"]
	cmd = {PATH_TO_ARCHIDIFF}/archimerge $PWD/$BASE $PWD/$REMOTE $PWD/$LOCAL $PWD/$MERGED
	trustExitCode = false

Then to use the tool for diffing you can do this:

git difftool --tool archidiff 833cbb7 HEAD  -- path_to/my.archimate

or to see a summary of what changed between versions:

git difftool --tool archidiff-summary 833cbb7 HEAD  -- path_to/my.archimate

Finally, if you have a merge conflict, you can use archimerge to help make the merge sane:

git mergetool --tool archimerge -- path_to/my.archimate

fmtxml

Can be used as a textconv filter in .gitconfig to pre-format files for better diff use (for visual scanning). You'd set this up in your $HOME/.gitconfig file like this.

[diff "archimate"]
    textconv = fmtxml
    cachetextconv = true

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mmorga/archi-tools-rb.

FAQs

Package last updated on 18 Oct 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc