Skip to content
Sönke Ludwig edited this page Dec 18, 2017 · 1 revision

Tree based package format

About Tree format: https://github.com/nin-jin/tree.d

Comparison to JSON:

  • More concise syntax with less puctuation and less quotation marks
  • Lower nesting levels
  • Supports comments
  • Support for unquoted and unescaped string values
  • No root object/table, saving a single level of nesting
  • Reduces nesting by using multiple tags with the same name (e.g. no "dependencies" table necessary)

Comparison to SDL:

  • Easy fast syntax
  • Syntax highlighting in few editors (Idea, VSCode, Atom, SynWrite)
  • More implementations (D,TS/JS)

Example dub.tree:

name \myproject
type \executable

description \A little web service of mine.
homepage \http://myproject.com
license \GPL v2

author \Peter Parker
author \Nin Jin

dependency
	name \vibe-d
	version \0.7.11
	rule \minor

dependency
	name \component1
	type \library
	source \source/component1

- disabled dependency by commenting
- dependency
	name \component2
	type \library
	source \source/component2

version \VibeDefaultMain

platform dmd
	flags \-vtls
	version \UseAmd64Impl

platform posix
	lib \ssl
	lib \crypto

configuration desktop-app
	type \executable
	platforms \windows
	version \DesktopApp
	lib \d3d9

Clone this wiki locally