blob: d70f4d7af6e444e5039fd503e3b8b4dbd3081c21 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>PLC4X &#x2013; </title>
<script src="../js/jquery.slim.min.js" type="text/javascript"></script>
<!--script src="../js/popper.min.js" type="javascript"></script-->
<script src="../js/bootstrap.bundle.min.js" type="text/javascript"></script>
<!-- The tooling for adding images and links to Apache events -->
<script src="https://www.apachecon.com/event-images/snippet.js" type="text/javascript"></script>
<!-- FontAwesome -->
<link rel="stylesheet" href="../css/all.min.css" type="text/css"/>
<!-- Bootstrap -->
<link rel="stylesheet" href="../css/bootstrap.min.css" type="text/css"/>
<!-- Some Maven Site defaults -->
<link rel="stylesheet" href="../css/maven-base.css" type="text/css"/>
<link rel="stylesheet" href="../css/maven-theme.css" type="text/css"/>
<!-- The PLC4X version of a bootstrap theme -->
<link rel="stylesheet" href="../css/themes/plc4x.css" type="text/css" id="pagestyle"/>
<!-- A custom style for printing content -->
<link rel="stylesheet" href="../css/print.css" type="text/css" media="print"/>
<meta http-equiv="Content-Language" content="en"/>
</head>
<body class="composite">
<nav class="navbar navbar-light navbar-expand-md bg-faded justify-content-center border-bottom">
<!--a href="/" class="navbar-brand d-flex w-50 mr-auto">Navbar 3</a-->
<a href="https://plc4x.apache.org/" id="bannerLeft"><img src="../images/apache_plc4x_logo_small.png" alt="Apache PLC4X"/></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsingNavbar3">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse w-100" id="collapsingNavbar3">
<ul class="navbar-nav w-100 justify-content-center">
<li class="nav-item">
<a class="nav-link" href="../index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../users/index.html">Users</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="../developers/index.html">Developers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="../apache/index.html">Apache</a>
</li>
</ul>
<ul class="nav navbar-nav ml-auto justify-content-end">
<li class="nav-item row valign-middle">
<a class="acevent" data-format="wide" data-mode="light" data-event="random" style="width:240px;height:60px;"></a>
</li>
</ul>
</div>
</nav>
<div class="container-fluid">
<div class="row h-100">
<nav class="col-sm-push col-md-2 pt-3 sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item">
<a href="../developers/infrastructure/issues.html" class="nav-link">Bug & Issue Tracker</a>
</li>
<li class="nav-item">
<strong class="nav-link">Section Home</strong>
</li>
<li class="nav-item">
<a href="../developers/preparing/index.html" class="nav-link">Preparing your Computer</a>
<ul class="flex-column pl-4 nav">
<li class="nav-item">
<a href="../developers/preparing/linux.html" class="nav-link">Linux</a>
</li>
<li class="nav-item">
<a href="../developers/preparing/macos.html" class="nav-link">Mac OS</a>
</li>
<li class="nav-item">
<a href="../developers/preparing/windows.html" class="nav-link">Windows</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="../developers/building.html" class="nav-link">Building</a>
</li>
<li class="nav-item">
<a href="../developers/contributing.html" class="nav-link">Contributing</a>
</li>
<li class="nav-item">
<a href="../developers/tutorials/index.html" class="nav-link">Tutorials</a>
<ul class="flex-column pl-4 nav">
<li class="nav-item">
<a href="../developers/tutorials/writing-driver.html" class="nav-link">Writing Drivers</a>
</li>
<li class="nav-item">
<a href="../developers/tutorials/testing-serializers-and-parsers.html" class="nav-link">Testing Drivers</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="../developers/code-gen/index.html" class="nav-link">Code Generation</a>
<ul class="flex-column pl-4 nav">
<li class="nav-item">
<a href="../developers/code-gen/protocol/mspec.html" class="nav-link">Protocol: MSpec Format</a>
</li>
<li class="nav-item">
<a href="../developers/code-gen/language/freemarker.html" class="nav-link">Language: Apache Freemarker</a>
</li>
<li class="nav-item">
<a href="../developers/code-gen/protocol/df1.html" class="nav-link">Example: DF1 MSpec</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/index.html" class="nav-link">Infrastructure</a>
<ul class="flex-column pl-4 nav">
<li class="nav-item">
<a href="../developers/infrastructure/ci.html" class="nav-link">Continuous Integration</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/issues.html" class="nav-link">Bug & Issue Tracker</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/sonar.html" class="nav-link">Code Analysis</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/wiki.html" class="nav-link">Wiki</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/vm.html" class="nav-link">Build VM</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/website.html" class="nav-link">Website</a>
</li>
<li class="nav-item">
<a href="../developers/infrastructure/vpn.html" class="nav-link">IoT VPN</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="../developers/release/index.html" class="nav-link">Releasing</a>
<ul class="flex-column pl-4 nav">
<li class="nav-item">
<a href="../developers/release/release.html" class="nav-link">Releasing</a>
</li>
<li class="nav-item">
<a href="../developers/release/validation.html" class="nav-link">Validating</a>
</li>
<li class="nav-item">
<a href="../developers/release/build-tools.html" class="nav-link">Releasing Build-Tools</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="../developers/tools.html" class="nav-link">Tools</a>
</li>
<li class="nav-item">
<a href="../developers/team.html" class="nav-link">Team</a>
</li>
<li class="nav-item">
<a href="../developers/decisions.html" class="nav-link">Decision Making</a>
</li>
<li class="nav-item">
<a href="../developers/maturity.html" class="nav-link">Maturity</a>
</li>
</ul>
</div>
</nav>
<main role="main" class="ml-sm-auto px-4 col-sm-pull col-md-9 col-lg-10 h-100">
<div class="sect1">
<h2 id="developer_section">Developer Section</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This part of the Apache PLC4X dedicated to provide information to people wanting to build PLC4X and hopefully also start contributing to this awesome project.</p>
</div>
<div class="sect2">
<h3 id="getting_started">Getting Started</h3>
<div class="paragraph">
<p>We have tried to make the PLC4X build experience as smooth as possible and have tried to reduce the number of required third party tools to an absolute minimum.</p>
</div>
<div class="paragraph">
<p>The full PLC4X build however builds not only <code>Java</code> libraries, but also <code>C++</code>, <code>Python</code> and <code>C#</code> libraries as well as builds <code>Docker</code> images on <code>Linux</code>, <code>Mac</code> and <code>Windows</code>.</p>
</div>
<div class="paragraph">
<p>As a start, you will basically need a <code>Java VM</code> of at least <code>Java 11</code>.</p>
</div>
<div class="paragraph">
<p>Using the <code>Maven-Wrapper</code> you don&#8217;t even need a <code>Maven</code> installation. The build will automatically fetch the right version for you.</p>
</div>
<div class="paragraph">
<p>As part of the build we have an initial build step that will do a <code>prerequisite check</code>. Depending on the activated modules, it will check if all preconditions are met and tell you what&#8217;s missing.</p>
</div>
<div class="paragraph">
<p>For details please have a look at the <a href="preparing/index.html">Preparing your Computer</a> page.</p>
</div>
</div>
<div class="sect2">
<h3 id="building_plc4x">Building PLC4X</h3>
<div class="paragraph">
<p>We have a dedicated page on <a href="building.html">Building PLC4X</a>.</p>
</div>
<div class="paragraph">
<p>Please read this page on information about how to build Apache PLC4X.</p>
</div>
</div>
<div class="sect2">
<h3 id="contributing">Contributing</h3>
<div class="paragraph">
<p>If you want to work on Apache PLC4X in order to <code>fix things</code>, <code>add things</code> and start <code>contributing</code> in general, please have a look at our <a href="contributing.html">Contributing</a> page. It should contain all the information you need.</p>
</div>
</div>
<div class="sect2">
<h3 id="getting_help">Getting Help</h3>
<div class="paragraph">
<p>The primary source for getting help definitely is our project mailing list <a href="mailto:dev@plc4x.apache.org">dev@plc4x.apache.org</a>.</p>
</div>
<div class="paragraph">
<p>You can search previous content in our <a href="https://lists.apache.org/list.html?dev@plc4x.apache.org">Mail Archive</a></p>
</div>
<div class="paragraph">
<p>In order to post to the list you first need to subscribe. This can be done by sending an empty Email to <a href="mailto:dev-subscribe@plc4x.apache.org">dev-subscribe@plc4x.apache.org</a>.</p>
</div>
</div>
</div>
</div>
</main>
<footer class="pt-4 my-md-5 pt-md-5 w-100 border-top">
<div class="row justify-content-md-center" style="font-size: 13px">
<div class="col col-6 text-center">
Copyright &#169; 2017&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.<br/>
Apache PLC4X, PLC4X, Apache, the Apache feather logo, and the Apache PLC4X project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
<br/><div style="text-align:center;">Home screen image taken from <a
href="https://flic.kr/p/chEftd">Flickr</a>, "Tesla Robot Dance" by Steve Jurvetson, licensed
under <a href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0 Generic</a>, image cropped
and blur effect added.</div>
</div>
</div>
</footer>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../js/jquery.slim.min.js"></script>
<script src="../js/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script type="text/javascript">
$('.carousel .carousel-item').each(function(){
var next = $(this).next();
if (!next.length) {
next = $(this).siblings(':first');
}
next.children(':first-child').clone().appendTo($(this));
for (let i = 0; i < 3; i++) {
next=next.next();
if (!next.length) {
next = $(this).siblings(':first');
}
next.children(':first-child').clone().appendTo($(this));
}
});
</script>
</body>
</html>