zoukankan      html  css  js  c++  java
  • build automation software 自动构建工具

    种类冗杂...............................

    List of build automation software

    https://en.wikipedia.org/wiki/List_of_build_automation_software

    Make-based

    • GNU make, a widely used make implementation with a large set of extensions
    • make, a classic Unix build tool
    • mk, developed originally for Version 10 Unix and Plan 9, and ported to Unix as part of plan9port
    • MPW Make, developed for the classic Mac OS and similar to but not compatible with Unix make; the modern macOS (OS X) comes with both GNU make and BSD make; available as part of Macintosh Programmer's Workshop as a free, unsupported download from Apple
    • nmake
    • PVCS-make, basically follows the concept of make but with a noticeable set of unique syntax features[1]

    Make-incompatible

    • Apache Ant, popular for Java platform development and uses an XML file format
    • Apache Buildr, open-source build system, Rake-based, gives full power of scripting in Ruby with integral support for most abilities wanted in a build system
    • Apache Maven, a Java platform tool for dependency management and automated software build
    • ASDF LISP buildsystem for building LISP projects
    • A-A-P, a Python-based build tool
    • Bazel, Google's own build tool, now publicly available in Beta.
    • BitBake, a Python-based tool with the special focus of distributions and packages for embedded Linux cross compilation
    • Boot, a Java build and dependency management tool written in Clojure
    • Buck, a build system developed and used by Facebook
    • Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts
    • Cabal, common architecture for building applications and libraries in the programming language Haskell
    • Cake, is a cross-platform build automation system with a C# DSL for tasks such as compiling code, copying files and folders, running unit tests, compressing files and building NuGet packages
    • FinalBuilder, for Windows software developers. FinalBuilder provides a graphical IDE to both create and run build projects in a single application. Final builder also includes the ability the execute unit test, deploy web projects or install and test applications.
    • Flowtracer
    • Gradle, an open-source build and automation system with an Apache Groovy-based domain specific language (DSL), combining features of Apache Ant and Apache Maven with additional features like a reliable incremental build
    • Grunt, a build tool for front-end web development
    • Gulp, another build tool for front-end
    • IncrediBuild
    • Leiningen, a tool providing commonly performed tasks in Clojure projects, including build automation
    • MSBuild, the Microsoft build engine
    • NAnt, a tool similar to Ant for the .NET Framework
    • Ninja, a small build system focused on speed by using build scripts generated by higher-level build systems
    • Perforce Jam, a generally enhanced, ground-up tool which is similar to Make
    • Psake, domain-specific language and build-automation tool written in PowerShell
    • Qt Build System
    • Rake, a Ruby-based build tool
    • sbt (Scala Simple Build Tool), a build tool built on a Scala-based DSL
    • SCons, Python-based, with integrated functionality similar to autoconf/automake
    • Stack, a tool to build Haskell projects, manage their dependencies (compilers and libraries), and for testing and benchmarking.
    • Tweaker, allowing task definitions to be written in any languages (or intermixed languages) while providing a consistent interface for them all
    • Visual Build, a graphical user interface software for software builds
    • Waf, a Python-based tool for configuring, compiling and installing applications. It is a replacement for other tools such as AutotoolsSconsCMake or Ant

    Build script generation

    These generator tools do not build directly, but rather generate files to be used by a native build tool (as the ones listed in the previous two chapters).

    Continuous integration

    • AnthillPro, build automation with pipeline support for deployment automation and testing. Cross-platform, cross-language
    • Apache Continuum - discontinued
    • Bamboo, continuous integration software
    • Buildbot, a Python-based software development continuous integration tool which automates the compile/test cycle
    • BuildIT, a free graphical build or task tool for Windows with an emphasis on simplicity and ease of use
    • CABIE Continuous Automated Build and Integration Environment, open source, written in Perl
    • CruiseControl, for Java and .NET
    • Go continuous delivery, open source, cross-platform
    • GitLab, continuous integration and git server
    • Hudson, an extensible continuous integration engine, forked from Jenkins
    • Jenkins, an extensible continuous integration engine, forked from Hudson
    • TeamCity
    • Team Foundation Server, an extensible continuous integration engine from Microsoft
    • Travis CI, a hosted continuous integration service
    • Visual Studio Team Services, provides Azure hosted build capabilities

    Configuration management

    Meta-build

    A meta-build tool is capable of building many different projects using a subset of existing buildtools. Since these usually provide a list of packages to build, they are also often called package managers.

    • Pkgsrc, package manager of NetBSD and other operating systems.
    • Portage, package manager of the Gentoo Linux distribution
    • Nix, functional package manager for the NixOS Linux distribution focusing on reproducible builds
    • Guix, functional package manager for the GuixSD Linux distribution, based on Nix.
    • Collective Knowledge, cross-platform package manager to rebuild software environment for research workflows

    Others

    • checkinstall, checkinstall is a program that monitors an installation procedure, and creates a standard package for your distribution.
    • Open Build Service, a hosted service to help build packages for various Linux distributions
  • 相关阅读:
    python基础语法
    java关键字之final
    汉字占几个字节?
    Java学习记录(补充二:面对对象基础复习,习题)
    Java学习记录(补充二)
    Java学习记录(补充一(以习题为主:判断,循环语句))
    Java学习记录
    JS学习记录(jQuery补充一)
    JS学习记录(jQuery)
    JS学习记录(数组补充一)
  • 原文地址:https://www.cnblogs.com/Searchor/p/8862706.html
Copyright © 2011-2022 走看看