Leiningen (software)
   HOME





Leiningen (software)
Leiningen is a build automation and dependency management tool for the simple configuration of software projects written in the Clojure programming language. Leiningen was created by Phil Hagelberg. Phil started the project with the aim of simplifying the complexities of Apache Maven, while offering a way of describing the most common build requirements of Clojure projects in idiomatic Clojure. These aims are succinctly captured in the project's tag line, "Automate Clojure projects without setting your hair on fire". Leiningen's features can be extended via a plugin system, and it is supplied with a command line interface that can initiate a number of actions, which include: * The generation of a simple Clojure project skeleton * Ahead-of-time ( AOT) compilation * Dependency resolution (with automatic library downloading) * Start an interactive REPL that has the classpath correctly set to load project dependencies * Packaging of project code and dependencies into an "uberjar" .j ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Clojure
Clojure (, like ''closure'') is a dynamic programming language, dynamic and functional programming, functional dialect (computing), dialect of the programming language Lisp (programming language), Lisp on the Java (software platform), Java platform. Like most other Lisps, Clojure's Syntax (programming languages), syntax is built on S-expressions that are first Parsing, parsed into data structures by a Lisp reader before being Compiler, compiled. Clojure's reader supports literal syntax for hash table, maps, sets, and Array (data structure), vectors along with lists, and these are compiled to the mentioned structures directly. Clojure treats Homoiconicity, code as data and has a Lisp macro system. Clojure is a Lisp-1 and is not intended to be code-compatible with other dialects of Lisp, since it uses its own set of data structures incompatible with other Lisps. Clojure advocates immutable object, immutability and persistent data structure, immutable data structures and encourages ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the Interpreter (computing), interpreters or run-time packages are common or standard components of all supported platforms. For example, a cross-platform application software, application may run on Linux, macOS and Microsoft Windows. Cross-platform software may run on many platforms, or as few as two. Some frameworks for cross-platform development are Codename One, ArkUI-X, Kivy (framework), Kivy, Qt (software), Qt, GTK, Flutter (software), Flutter, NativeScript, Xamarin, Apache Cordova, Ionic (mobile app framework ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Software Development Tools
A programming tool or software development tool is a computer program that is used to develop another computer program, usually by helping the developer manage computer files. For example, a programmer may use a tool called a source code editor to edit source code files, and then a compiler to convert the source code into machine code files. They may also use build tools that automatically package executable program and data files into shareable packages or install kits. A set of tools that are run one after another, with each tool feeding its output to the next one, is called a toolchain. An integrated development environment (IDE) integrates the function of several tools into a single program. Usually, an IDE provides a source code editor as well as other built-in or plug-in tools that help with compiling, debugging, and testing. Whether a program is considered a development tool can be subjective. Some programs, such as the GNU compiler collection, are used exclusively f ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Eclipse Public License
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to litigations related to patents.In section 7, this sentence is in CPL 1.0, but not EPL 1.0: "If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed." The Eclipse Public License is designed to be a business-friendly free software license, and features weaker copyleft provisions than licenses such as the GNU General Public License (GPL). The receiver of EPL-licensed programs can use, modify, copy and distribute the work and modified versions, in some cases being obligated to release ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Build Automation
Build automation is the practice of building software systems in a relatively unattended fashion. The build is configured to run with minimized or no software developer interaction and without using a developer's personal computer. Build automation encompasses the act of configuring the build system as well the resulting system itself. Build automation encompasses both sequencing build operations via non-interactive interface tools and running builds on a shared server. Tools Build automation tools allow for sequencing the tasks of building software via a non-interactive interface. Existing tools such as Make can be used via custom configuration file or using the command-line. Custom tools such as shell scripts can also be used, although they become increasingly cumbersome as the codebase grows more complex. Some tools, such as shell scripts, are task-oriented declarative programming. They encode sequences of commands to perform with usually minimal conditional logic. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Apache Maven
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by The Apache Software Foundation, where it was formerly part of the Jakarta Project. Maven addresses two aspects of building software: how software is built and its dependencies. Unlike earlier tools like Apache Ant, it uses conventions for the build procedure. Only exceptions need to be specified. An XML file describes the software project being built, its dependencies on other external modules and components, the build order, directories, and required plug-ins. It comes with pre-defined targets for performing certain well-defined tasks such as compilation of code and its packaging. Maven dynamically downloads Java libraries and Maven plug-ins from one or more repositories such as the Maven 2 Central Repository, and stores them in a local cache. This local cache of downloaded arti ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




AOT Compiler
In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount of work needed to be performed at run time. It is most commonly associated with the act of compiling a higher-level programming language such as C or C++, or an intermediate representation such as Java bytecode or Common Intermediate Language (CIL) code, into native machine code so that the resulting binary file can execute natively, just like a standard native compiler. When being used in this context, it is often seen as an opposite of just-in-time (JIT) compiling. Speaking more generally, the target languages of an AOT compilation are not necessarily specific to native machine code but are defined rather arbitrarily. Some academic papers use this word to mean the act of compiling the Java bytecode to C or the timing when optimizati ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


O'Reilly Media
O'Reilly Media, Inc. (formerly O'Reilly & Associates) is an American learning company established by Tim O'Reilly that provides technical and professional skills development courses via an online learning platform. O'Reilly also publishes books about programming and other technical content. Its distinctive brand features a woodcut of an animal on many of its book covers. The company was known as a popular tech conference organizer for more than 20 years before closing the live conferences arm of its business. Company Early days The company began in 1978 as a private consulting firm doing technical writing, based in the Cambridge, Massachusetts area. In 1984, it began to retain publishing rights on manuals created for Unix vendors. A few 70-page "Nutshell Handbooks" were well-received, but the focus remained on the consulting business until 1988. After a conference displaying O'Reilly's preliminary Xlib manuals attracted significant attention, the company began increas ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Boot (software)
Boot is a build automation and dependency management tool written primarily in the Clojure programming language. Boot was originally written by Micha Niskin and Alan Dipert as part of the Hoplon web framework. As of May 2015, Boot is developed and released independently of Hoplon. Boot is implemented as an executable entry point and a set of Clojure libraries that can be used to develop build processes programmatically. The spirit of Boot's design is captured by its tag line, "Builds are programs. Let's start treating them that way." Build tasks supported natively by Boot include compiling Java (programming language), Java, creating .jar files, and creating Java servlet, servlets. As a Clojure program, Boot can be extended on a per-project basis using the Clojure language. Boot's primary means of extension are ''tasks'', or functions that take and return Filesets. A Fileset is a managed, immutable representation of the filesystem and Classpath (Java), classpath that can be s ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Leiningen Versus The Ants
"Leiningen Versus the Ants" by Carl Stephenson is a classic short story published in the December 1938 edition of ''Esquire''. It is a translation, probably by Stephenson himself, of "Leiningens Kampf mit den Ameisen" which was originally published in German in 1937. Plot summary Leiningen, the owner of a plantation in the Brazilian rainforest, is warned by the district commissioner that a swarm of ferocious and organised soldier ants is approaching and that he must flee. Unlike his neighbours, Leiningen is not about to give up years of hard work and planning to "an act of God", as he believes in the superiority of the human brain and has already made preparations. He convinces his workers to stay and fight with him. When the ants reach his estate, Leiningen seals it by filling a moat that surrounds it on four sides, the fourth being a river. The ants attempt to cross over by covering the waters with tree leaves, but he thwarts them repeatedly by emptying then flooding the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Build Automation
Build automation is the practice of building software systems in a relatively unattended fashion. The build is configured to run with minimized or no software developer interaction and without using a developer's personal computer. Build automation encompasses the act of configuring the build system as well the resulting system itself. Build automation encompasses both sequencing build operations via non-interactive interface tools and running builds on a shared server. Tools Build automation tools allow for sequencing the tasks of building software via a non-interactive interface. Existing tools such as Make can be used via custom configuration file or using the command-line. Custom tools such as shell scripts can also be used, although they become increasingly cumbersome as the codebase grows more complex. Some tools, such as shell scripts, are task-oriented declarative programming. They encode sequences of commands to perform with usually minimal conditional logic. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]