Difference between revisions of "Shake(build tool)"

From Free Software Directory
Jump to: navigation, search
(added shake-build-system)
 
 
Line 6: Line 6:
 
To use Shake the user writes a Haskell program that imports "Development.Shake", defines some build rules, and calls the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).
 
To use Shake the user writes a Haskell program that imports "Development.Shake", defines some build rules, and calls the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).
 
|Homepage URL=http://www.shakebuild.com
 
|Homepage URL=http://www.shakebuild.com
|VCS checkout command=git
+
|VCS checkout command=git clone https://github.com/ndmitchell/shake
 
|Computer languages=Haskell
 
|Computer languages=Haskell
 
|Related projects=Make, Scons, Ant, ninja
 
|Related projects=Make, Scons, Ant, ninja
 
|Version identifier=0.15
 
|Version identifier=0.15
 
|Version status=stable
 
|Version status=stable
|Last review by=Ryan Desfosses
+
|Last review by=IanK
|Last review date=2015/04/08
+
|Last review date=2016/11/01
 
|Submitted by=Ryan Desfosses
 
|Submitted by=Ryan Desfosses
 
|Submitted date=2015/04/08
 
|Submitted date=2015/04/08
Line 19: Line 19:
 
}}
 
}}
 
{{Project license
 
{{Project license
|License=BSD
+
|License=BSD 3Clause
 
|License copyright=Copyright Neil Mitchell 2011-2015.
 
|License copyright=Copyright Neil Mitchell 2011-2015.
All rights reserved.
 
  
Redistribution and use in source and binary forms, with or without
 
modification, are permitted provided that the following conditions are
 
met:
 
  
    * Redistributions of source code must retain the above copyright
+
|License verified by=IanK
      notice, this list of conditions and the following disclaimer.
+
|License verified date=2016/11/01
 
 
    * Redistributions in binary form must reproduce the above
 
      copyright notice, this list of conditions and the following
 
      disclaimer in the documentation and/or other materials provided
 
      with the distribution.
 
 
 
    * Neither the name of Neil Mitchell nor the names of other
 
      contributors may be used to endorse or promote products derived
 
      from this software without specific prior written permission.
 
 
 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 
 
 
Some of the JavaScript files in html/ have different copyright and licenses.
 
Please consult the corresponding source file in js-src/
 
|License verified by=Ryan Desfosses
 
|License verified date=2015/04/08
 
 
}}
 
}}
 
{{Software category
 
{{Software category

Latest revision as of 13:36, 1 November 2016


[edit]

shake-build-system

http://www.shakebuild.com
Build system library, like Make, but more accurate dependencies.

Shake is a Haskell library for writing build systems - designed as a replacement for make. See "Development.Shake" for an introduction, including an example. Further examples are included in the Cabal tarball, under the Examples directory. The homepage contains links to a user manual, an academic paper and further information: <http://www.shakebuild.com/>

To use Shake the user writes a Haskell program that imports "Development.Shake", defines some build rules, and calls the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix operators, a simple Shake build system is not too dissimilar from a simple Makefile. However, as build systems get more complex, Shake is able to take advantage of the excellent abstraction facilities offered by Haskell and easily support much larger projects. The Shake library provides all the standard features available in other build systems, including automatic parallelism and minimal rebuilds. Shake also provides more accurate dependency tracking, including seamless support for generated files, and dependencies on system information (e.g. compiler version).





Licensing

License

Verified by

Verified on

Notes

Verified by

IanK

Verified on

1 November 2016




Leaders and contributors

Resources and communication

Software prerequisites




Entry













Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.