1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt-doc.git synced 2025-04-25 03:57:11 -07:00

Merge pull request #7 from pabl0rg/master

try to make site more intuitive
This commit is contained in:
Cedric Beust 2016-01-06 09:55:44 -08:00
commit 4c053a8fcc
7 changed files with 708 additions and 685 deletions

View file

@ -1,107 +1,95 @@
<html>
<head>
<title>
<head>
<title>
Kobalt, by Cedric Beust
</title>
<!-- Bootstrap core CSS -->
<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>
<!-- Optional Bootstrap Theme -->
<link href="data:text/css;charset=utf-8," data-href="../bootstrap/dist/css/bootstrap-theme.min.css" rel="stylesheet" id="bs-theme-stylesheet">
<!--[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">
-->
</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>Contributing to Kobalt</h1>
</div>
<!-- Main content -->
<div class="col-md-9">
<h2 class="section" id="launch_configuration">License, Source code & Issues</h2>
<p>
Kobalt is <a href="https://github.com/cbeust/kobalt/blob/master/LICENSE.txt">licensed under Apache 2.0</a>
</p>
<p>
You can contribute code and report issues at the <a href="https://github.com/cbeust/kobalt">Kobalt Github Repo</a>
</p>
Kobalt, by Cedric Beust
<h2 class="section" id="discuss">Discuss Kobalt</h2>
<ul>
<li>Live discussions are happening on Kotlin's Slack Channel, managed by JetBrains. You can get an automated invitation <a href="http://kotlinslackin.herokuapp.com/">here</a> and then, just join the <code>#kobalt</code> channel.
</li>
<li><a href="https://groups.google.com/forum/#!forum/kobalt-users">Join <code>kobalt-users</code>, the mailing-list for Kobalt users.</a></li>
<li><a href="https://groups.google.com/forum/#!forum/kobalt-dev">Join <code>kobalt-dev</code>, the mailing-list for Kobalt developers</a>. This mailing-list is for people interested in writing code for Kobalt, either the core, or writing plug-ins, or just to follow various technical discussions about Kobalt's internals.</li>
</ul>
</title>
<!-- Bootstrap core CSS -->
<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>
<!-- Optional Bootstrap Theme -->
<link href="data:text/css;charset=utf-8," data-href="../bootstrap/dist/css/bootstrap-theme.min.css" rel="stylesheet" id="bs-theme-stylesheet">
<!--[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">
-->
</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>Contributing to Kobalt</h1>
<p>Interested in contributing to Kobalt? This page explains how to configure your development environment.</p>
</div>
<!-- Main content -->
<div class="col-md-9">
<h2 class="section" id="launch_configuration">Launch configuration</h2>
<p>
Kobalt's main class is <code>com.beust.kobalt.MainKt</code>. Here is a typical launch configuration:
</p>
<p align="center">
<img width="99%" class="img-rounded" src="../pics/launch-configuration.png"/>
</p>
<p>
A few observations:
<ul>
<li>You can ask Kobalt to build external projects by specifying a non-empty "Working Directory".</li>
<li>The default log level is 1. 2 is useful for debugging and 3 will be extremely verbose.</li>
<li>Another command line parameter worth of notice is <code>--dev</code>, which will add the class
<h2 class="section" id="launch_configuration">Launch configuration</h2>
<p>Here is how to configure your development environment.</p>
<p>
Kobalt's main class is <code>com.beust.kobalt.MainKt</code>. Here is a typical launch configuration:
</p>
<p align="center">
<img width="99%" class="img-rounded" src="../pics/launch-configuration.png"/>
</p>
<p>
A few observations:
<ul>
<li>You can ask Kobalt to build external projects by specifying a non-empty "Working Directory".</li>
<li>The default log level is 1. 2 is useful for debugging and 3 will be extremely verbose.</li>
<li>Another command line parameter worth of notice is <code>--dev</code>, which will add the class
name and thread information to each log line.</li>
<li>Checking the "Single instance" box is useful to avoid duplicating these launch configurations.</li>
</ul>
</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(6);</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>
<li>Checking the "Single instance" box is useful to avoid duplicating these launch configurations.</li>
</ul>
</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(6);</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>

View file

@ -2,6 +2,10 @@
* Kobalt CSS
*/
.features {
font-size: 1.5em;
}
code {
background-color: #ffffff;
}

View file

@ -57,9 +57,7 @@
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Kobalt</h1>
<p>A universal build system for the exigent developer.</p>
<img src="../pics/auto-completion.png" class="img-rounded"/>
<h1>Documentation</h1>
<!--
<p>
@ -71,47 +69,6 @@
<div class="col-md-9">
<h2 class="section" id="downloading">Downloading and installing Kobalt</h2>
<p>
<a href="https://github.com/cbeust/kobalt/releases/latest">Download the zip file</a> then unzip it in a location we'll call <code>KOBALT_HOME</code>:
</p>
<pre class="brush:plain">
cd $KOBALT_HOME
unzip kobalt-xxx.zip
</pre>
<p>
Change to your project directory and call the <code>kobaltw</code> command with <code>--init</code>:
</p>
<pre class="brush:plain">
cd ~/java/project
$KOBALT_HOME/kobaltw --init
</pre>
<p>
This command will do two things:
</p>
<ol>
<li>Create a default <code>kobalt/src/Build.kt</code> file based on what was found there.
<li>Install the Kobalt Wrapper in your current directory (script `kobaltw`) and in the <code>kobalt/</code> directory. From now on, you can just use <code>./kobaltw</code> to build and you can ignore <code>$KOBALT_HOME</code>.
</ol>
<p>
You can now attempt to build your project with Kobalt:
</p>
<pre class="brush:plain">
./kobaltw assemble
</pre>
If your project follows a regular build structure (e.g. <a href="https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html">Maven's hierarchy</a>), this should compile your file and create a .jar file. If not, you will have to make a few edits to your <code>Build.kt</code>.
As of this writing, Kobalt supports Java and Kotlin projects.
<h2 class="section" id="structure">Structure of a build file</h2>
<h3 class="section" indent="1" id="general-concepts">General concepts</h3>
@ -591,29 +548,6 @@ dependencies {
"com.squareup.okhttp:okhttp:2.5.0",
</pre>
<h2 class="section" id="sources">Sources and license</h2>
<p>
Kobalt is <a href="https://github.com/cbeust/kobalt/blob/master/LICENSE.txt">licensed under Apache 2.0</a> and is <a href="http://github.com/cbeust/kobalt">currently hosted on github.</a>
</p>
<h2 class="section" id="discuss">Discuss Kobalt</h2>
<p>
If you are interested in discussing Kobalt related topics with other fellow users or developers, you have several options:
</p>
<ul>
<li>Live discussions are happening on Kotlin's Slack Channel, managed by JetBrains. You can get an automated invitation <a href="http://kotlinslackin.herokuapp.com/">here</a> and then, just join the <code>#kobalt</code> channel.
</li>
<li><a href="https://groups.google.com/forum/#!forum/kobalt-users">Join <code>kobalt-users</code>, the mailing-list for Kobalt users.</a></li>
<li><a href="https://groups.google.com/forum/#!forum/kobalt-dev">Join <code>kobalt-dev</code>, the mailing-list for Kobalt developers</a>. This mailing-list is for people interested in writing code for Kobalt, either the core, or writing plug-ins, or just to follow various technical discussions about Kobalt's internals.</li>
</ul>
<p>
</p>
</div>
@ -628,7 +562,7 @@ If you are interested in discussing Kobalt related topics with other fellow user
<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(1);</script>
<script>generateKobalt();</script>
<!--
<script src="../bootstrap/dist/js/docs.min.js"></script>

154
getting-started/index.html Normal file
View file

@ -0,0 +1,154 @@
<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>
<div class="col-md-9">
<h2 class="section" id="downloading">1. Download Kobalt</h2>
<p>
<a href="https://github.com/cbeust/kobalt/releases/latest">Download the zip file</a> then unzip it in a location we'll call <code>KOBALT_HOME</code>:
</p>
<pre class="brush:plain">
cd $KOBALT_HOME
unzip kobalt-xxx.zip
</pre>
<h2 class="section" id="initialize">2. Initialize your project for Kobalt</h2>
<p>
Change to your project directory and call the <code>kobaltw</code> command with <code>--init</code>:
</p>
<pre class="brush:plain">
cd ~/java/project
$KOBALT_HOME/kobaltw --init
</pre>
<p>
This command will do two things:
</p>
<ol>
<li>Create a default <code>kobalt/src/Build.kt</code> file based on what was found there.
<li>Install the Kobalt Wrapper in your current directory (script `kobaltw`) and in the <code>kobalt/</code> directory. From now on, you can just use <code>./kobaltw</code> to build and you can ignore <code>$KOBALT_HOME</code>.
</ol>
<p>
You can now attempt to build your project with Kobalt:
</p>
<pre class="brush:plain">
./kobaltw assemble
</pre>
If your project follows a regular build structure (e.g. <a href="https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html">Maven's hierarchy</a>), this should compile your file and create a .jar file. If not, you will have to make a few edits to your <code>Build.kt</code>.
As of this writing, Kobalt supports Java and Kotlin projects.
<h2 class="section" id="edit">3. Edit kobalt/src/Build.kt</h2>
Here for example is the Build.kt for wasabi http framework
<pre class="brush:java">
import com.beust.kobalt.*
import com.beust.kobalt.plugin.packaging.assemble
import com.beust.kobalt.plugin.kotlin.*
val kotlin_version = "1.0.0-beta-4583"
val p = kotlinProject {
name = "wasabi"
group = "com.example"
artifactId = name
version = "0.1"
//tells Kobalt to also search here for dependencies
val repos = repos("http://oss.sonatype.org/content/repositories/snapshots")
dependencies {
compile("org.jetbrains.kotlin:kotlin-stdlib:" + kotlin_version)
compile("org.jetbrains.kotlin:kotlin-reflect:" + kotlin_version)
compile("com.fasterxml.jackson.core:jackson-core:2.6.4")
compile("com.fasterxml.jackson.core:jackson-databind:2.6.4")
compile("com.fasterxml.jackson.core:jackson-annotations:2.6.4")
compile("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.6.3")
compile("com.fasterxml.woodstox:woodstox-core:5.0.1")
compile("io.netty:netty-all:4.0.31.Final")
compile("commons-codec:commons-codec:1.6")
compile("commons-logging:commons-logging:1.1.1")
compile("com.netflix.rxjava:rxjava-core:0.20.0-RC4")
compile("org.slf4j:slf4j-api:1.7.5")
compile("org.slf4j:slf4j-simple:1.7.5")
compile("joda-time:joda-time:2.3")
}
//these are only downloaded when running the test task
dependenciesTest {
compile("junit:junit:4.9")
compile("org.mockito:mockito-all:1.9.5")
compile("org.apache.httpcomponents:httpcore:4.3.3")
compile("org.apache.httpcomponents:httpclient:4.5.1")
}
//tells kobalt to produce a jar
assemble {
jar {
}
}
}
</pre>
<h2 class="section" id="idea-plugin">4. In Intellij IDEA, Sync Build File</h2>
<p>
If you're using Intellij IDEA, make sure you've <a href="../idea-plug-in/index.html">installed the Kobalt plugin</a> and then go to Kobalt -> Sync Build File. This will download dependencies in a way that IDEA understand so you no loger get errors.
</p>
</div>
<!-- Table of contents -->
<div class="col-md-3" id="table-of-contents">
</div>
</div> <!-- /container -->
<!-- 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(1);</script>
<!--
<script src="../bootstrap/dist/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>

View file

@ -55,14 +55,20 @@
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>What is Kobalt?</h1>
<h1>Kobalt: friendly, fast build system</h1>
</div>
<!-- Main content -->
<div class="col-md-9">
<img src="../pics/auto-completion.png" class="img-rounded"/>
<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.
<h2 class="section" id="overview">Features</h2>
<ul class="features">
<li>Clean, easy-to-use syntax for build files</li>
<li>Build file auto-completion from your favorite IDE</li>
<li>Intuitive plug-in architecture</li>
<li>Fast builds</li>
</ul>
</p>
<p>
@ -110,7 +116,7 @@ val jcommander = javaProject {
<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>
<h2 class="section" id="path">Status</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:
@ -123,10 +129,6 @@ Kobalt is currently in Beta but I'm already using it to build most of my project
<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>
@ -142,7 +144,7 @@ Kobalt is currently in Beta but I'm already using it to build most of my project
<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>generateKobalt();</script>
<!--
<script src="../../assets/js/docs.min.js"></script>

View file

@ -9,6 +9,14 @@ var content = [
url: "../home/index.html",
title: "Home"
},
{
url: "../getting-started/index.html",
title: "Getting Started"
},
{
url: "../idea-plug-in/index.html",
title: "IDEA plug-in"
},
{
url: "../documentation/index.html",
title: "Documentation"
@ -21,17 +29,9 @@ var content = [
url: "../plug-in-development/index.html",
title: "Writing a Kobalt plug-in"
},
{
url: "../idea-plug-in/index.html",
title: "IDEA plug-in"
},
{
url: "../ten-minutes/index.html",
title: "Ten minutes"
},
{
url: "../contributing/index.html",
title: "Contributing"
title: "Contribute"
}
];
@ -50,14 +50,15 @@ var after = '</ul>'
+ '</nav>'
;
function generateNavBar(index) {
function generateNavBar() {
var result = before;
for (var i = 0; i < content.length; i++) {
var cls = "";
if (index == i) {
var c = content[i];
var cleanUrl = c.url.replace("../", "")
if (window.location.href.indexOf(cleanUrl) > -1) {
cls = 'class="active"';
}
var c = content[i];
result += '<li ' + cls + '><a href="' + c.url + '">' + c.title + '</a></li>';
}
result += after;

File diff suppressed because it is too large Load diff