mirror of
https://github.com/ethauvin/kobalt-doc.git
synced 2025-04-25 12:07:10 -07:00
154 lines
5.2 KiB
HTML
154 lines
5.2 KiB
HTML
<html>
|
|
<head>
|
|
<title>
|
|
|
|
Kobalt, by Cedric Beust
|
|
|
|
</title>
|
|
|
|
<script type="text/javascript" src="../sh/scripts/shCore.js"></script>
|
|
<script type="text/javascript" src="../sh/scripts/shBrushJScript.js"></script>
|
|
<script type="text/javascript" src="../sh/scripts/shBrushJava.js"></script>
|
|
<script type="text/javascript" src="../sh/scripts/shBrushPlain.js"></script>
|
|
|
|
<script>
|
|
SyntaxHighlighter.defaults['gutter'] = false;
|
|
SyntaxHighlighter.defaults['toolbar'] = false;
|
|
SyntaxHighlighter.all();
|
|
</script>
|
|
|
|
<!--[if lt IE 9]><script src="../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
|
|
<!--
|
|
<script src="../bootstrap/assets/js/ie-emulation-modes-warning.js"></script>
|
|
-->
|
|
|
|
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
|
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
|
<![endif]-->
|
|
|
|
<!-- Favicons -->
|
|
<!--
|
|
<link rel="icon" href="/favicon.ico">
|
|
-->
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-238215-6', 'auto');
|
|
ga('send', 'pageview');
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
<div class="container">
|
|
|
|
<!-- Static navbar -->
|
|
<nav id="kobalt-navbar" class="navbar navbar-default">
|
|
</nav>
|
|
|
|
<!-- Main component for a primary marketing message or call to action -->
|
|
<div class="jumbotron">
|
|
<h1>What is Kobalt?</h1>
|
|
</div>
|
|
|
|
<!-- Main content -->
|
|
<div class="col-md-9">
|
|
|
|
<h2 class="section" id="overview">Overview</h2>
|
|
Kobalt is a build system system featuring build files written in Kotlin. It's focused on offering an intuitive DSL and plug-in architecture, fast builds and build file auto completion from your favorite IDE.
|
|
</p>
|
|
|
|
<p>
|
|
For example, here is <a href="http://jcommander.org">JCommander's</a> entire build file:
|
|
</p>
|
|
|
|
<pre class="brush:java">
|
|
import com.beust.kobalt.*
|
|
import com.beust.kobalt.plugin.java.*
|
|
import com.beust.kobalt.plugin.packaging.*
|
|
import com.beust.kobalt.plugin.publish.*
|
|
|
|
val jcommander = javaProject {
|
|
name = "jcommander"
|
|
group = "com.beust"
|
|
artifactId = name
|
|
version = "1.52"
|
|
|
|
dependenciesTest {
|
|
compile("org.testng:testng:6.9.5")
|
|
}
|
|
|
|
assemble {
|
|
mavenJars {
|
|
}
|
|
}
|
|
|
|
jcenter {
|
|
publish = false
|
|
}
|
|
}
|
|
|
|
</pre>
|
|
|
|
<h2 class="section" id="design-goals">Design goals</h2>
|
|
|
|
<ul>
|
|
<li>Completely written in Kotlin: core, plug-ins and build files.
|
|
<li>Auto completion from the IDE.
|
|
<li>Reusing all the good ideas from Gradle, such as the DSL and the wrapper.
|
|
<li>Fast builds.
|
|
<li>Support for all scopes (including <code>provided</code>).
|
|
<li>Streamlining the build file, applying "convention over configuration" as much as possible.
|
|
<li>A turnkey solution with all the common plug-ins pre-installed. With Kobalt, you can create a package and upload it to JCenter within ten minutes. <a href="../plug-in/index.html">See for yourself!</a>
|
|
<li>An agnostic build tool. Kobalt can be used to build Kotlin and Java projects today but it's capable to build anything: any language (JVM or not) or platform (Android, Spring, ...).
|
|
</ul>
|
|
|
|
<h2 id="path">The path to Kobalt 1.0</h2>
|
|
|
|
<p>
|
|
Kobalt is currently in Beta but I'm already using it to build most of my projects. Here are links to a few build files you can inspect to get a feel for what Kobalt enables:
|
|
</p>
|
|
|
|
<ul>
|
|
<li><a href="https://github.com/cbeust/jcommander/blob/master/Build.kt">JCommander</a>.</li>
|
|
<li><a href="https://github.com/cbeust/testng/blob/master/kobalt/src/Build.kt">TestNG</a> (this build file shows an example of adding a custom task in the build itself).</li>
|
|
<li>... and of course, <a href="https://github.com/cbeust/kobalt/blob/master/kobalt/src/Build.kt">Kobalt itself</a> (this build file demonstrates multi projects and project dependencies).</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Where to next? Are you interested in writing some cool Kotlin code and contribute to Kobalt? Or maybe just download and run Kobalt on your own projects just to get a feel for it? Then proceed to <a href="../documentation/index.html">Kobalt's main documentation!</a>
|
|
</p>
|
|
|
|
<p>
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<!-- Table of contents -->
|
|
<div class="col-md-3" id="table-of-contents">
|
|
</div>
|
|
|
|
<!-- Bootstrap core JavaScript
|
|
================================================== -->
|
|
<!-- Placed at the end of the document so the pages load faster -->
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
|
<script src="../bootstrap/dist/js/bootstrap.min.js"></script>
|
|
<script src="../js/kobalt.js"></script>
|
|
<script>generateKobalt(0);</script>
|
|
|
|
<!--
|
|
<script src="../../assets/js/docs.min.js"></script>
|
|
-->
|
|
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
|
<!--
|
|
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
|
|
-->
|
|
|
|
</body>
|