http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/blinky_sram_olimex/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/blinky_sram_olimex/index.html b/os/tutorials/blinky_sram_olimex/index.html index 717e232..9e8c328 100644 --- a/os/tutorials/blinky_sram_olimex/index.html +++ b/os/tutorials/blinky_sram_olimex/index.html @@ -244,8 +244,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -253,7 +256,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -261,7 +264,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -269,7 +272,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -293,15 +296,18 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + </li> @@ -309,18 +315,7 @@ <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - + <a href="../ibeacon/">BLE iBeacon</a> </li> @@ -328,7 +323,7 @@ <li > - <a href="../ibeacon/">BLE iBeacon</a> + <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -601,8 +596,8 @@ To locate the bootloader, the board searches in three places: User Flash Memory, </li> <li class="pull-right"> - <a href=../add_repos/> - Next: Add repo to project + <a href=../repo/add_repos/> + Next: Work with repositories <span class="fa fa-arrow-right"></span> </a>
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/create_repo/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/create_repo/index.html b/os/tutorials/create_repo/index.html deleted file mode 100644 index d0812aa..0000000 --- a/os/tutorials/create_repo/index.html +++ /dev/null @@ -1,601 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - - <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/create_repo/"> - <link rel="shortcut icon" href="../../../img/favicon.ico"> - - <title>Create a repo - Apache Mynewt</title> - - <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> - <link href="../../../css/font-awesome-4.0.3.css" rel="stylesheet"> - <link rel="stylesheet" href="../../../css/highlight.css"> - <link href="../../../css/base.css" rel="stylesheet"> - <link href="../../../css/custom.css" rel="stylesheet"> - <link href="../../../css/v2.css" rel="stylesheet"> - <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'> - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> - <link href="../../../extra.css" rel="stylesheet"> - - <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> - <!--[if lt IE 9]> - <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> - <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> - <![endif]--> - - - <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-72162311-1', 'auto'); - ga('send', 'pageview'); - </script> - - </head> - - - <body class="Create a repo"> - - - - - - - - - -<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> - <div class="container"> - <!-- Collapsed navigation --> - <div class="navbar-header"> - <!-- Expander button --> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - - </div> - - <!-- Expanded navigation --> - <div class="navbar-collapse collapse"> - <!-- Main navigation --> - <ul class="nav navbar-nav navbar-right"> - <li - class="" -> - <a href="/">Home</a> - </li> - <li - class="important" -> - <a href="/quick-start/">Quick Start</a> - </li> - <li - class="" -> - <a href="/about/">About</a> - </li> - <li - class="active" -> - <a href="/os/introduction/">Documentation</a> - </li> - <li - class="" -> - <a href="/download/">Download</a> - </li> - <li - class="" -> - <a href="/community/">Community</a> - </li> - <li - class="" -> - <a href="/events/">Events</a> - </li> - </ul> - - <!-- Search, Navigation and Repo links --> - <ul class="nav navbar-nav navbar-right"> - - </ul> - </div> - </div> -</nav> - - - - <div class="container"> - - <div class="row"> - <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary"> - <div class="top"> - <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt"> - <div role="search"> - <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get"> - <div class="form-group"> - <input type="text" name="q" class="form-control" placeholder="Search documentation" /> - </div> - </form> - </div> - </div> - <ul class="toc-nav"> - - - - - - - - - - - - - - - - - - <li ><a href="../../introduction/">Mynewt Documentation</a> - - - <ul> - - - - - - - - <li ><a href="../../get_started/get_started/">Basic Setup</a> - - - </li> - - - - - - <li > - <a href="../../get_started/vocabulary/">Concepts</a> - </li> - - - - - - - - <li ><a href="../tutorials/">Tutorials</a> - - - <ul> - - - - - - - - <li><a href=" - ../arduino_zero/ -">Project Blinky</a> - - - </li> - - - - - - <li > - <a href="../add_repos/">Add repo to project</a> - </li> - - - - - - <li class="active"> - <a href="./">Create a repo</a> - </li> - - - - - - <li > - <a href="../upgrade_repo/">Upgrade a repo</a> - </li> - - - - - - <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> - </li> - - - - - - <li > - <a href="../project-slinky/">Enable remote comms on sim device</a> - </li> - - - - - - <li > - <a href="../project-target-slinky/">Enable remote comms on STM32 board</a> - </li> - - - - - - <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> - </li> - - - - - - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> - </li> - - - - - - <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - - </li> - - - - - - <li > - <a href="../ibeacon/">BLE iBeacon</a> - </li> - - - - </ul> - - </li> - - - - - - - - <li ><a href="../../os_user_guide/">OS User Guide</a> - - - </li> - - - - - - - - <li><a href=" - ../../../network/ble/ble_intro/ -">BLE User Guide</a> - - - </li> - - - - - - - - <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a> - - - </li> - - - - - - - - <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a> - - - </li> - - - - </ul> - - </li> - - - - - - - - <li><a href=" - ../../../faq/how_to_edit_docs/ -">Appendix</a> - - - </li> - - - - </ul> -</div></div> - - <div class="show-sidebar-container"> - <button class="show-sidebar">Docs Menu</button> - </div> - - <div class="col-md-9" role="main"> - <div class="row doc-header"> - <div class="col-sm-12"> - <div role="navigation" aria-label="breadcrumbs navigation"> - <ul class="wy-breadcrumbs pull-right"> - <li><a href="/documentation/">Docs</a></li> - - - - <li>» <a href="../../introduction/">Mynewt Documentation</a></li> - - - - <li>» <a href="../tutorials/">Tutorials</a></li> - - - - <li>» Create a repo</li> - - - - </ul> -</div> - </div> - </div> - - <h2 id="create-a-repo-out-of-a-project">Create a Repo out of a Project</h2> -<p>In order to create a repository out of a project, all you need to do is create a <code>repository.yml</code> file, and check it into the master branch of your project.</p> -<p><strong>NOTE:</strong> Currently only github source control service is supported by our package management system, but support for plain git will be added soon.</p> -<p>The repository.yml defines all versions of the repository and the corresponding source control tags that these versions correspond to. As an example, if the repository.yml file has the following content, it means there is one version of the apache-mynewt-core operating system available, which is <code>0.0.0</code> (implying we haven't released yet!). Such a version number corresponds to the "develop" branch in this repository. <code>0-latest</code> would also resolved to this same <code>0.0.0</code> version. The next section explains the versioning system a bit more.</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ more repository.yml -repo.name: apache-mynewt-core -repo.versions: - "0.0.0": "develop" - "0-latest": "0.0.0" -</pre></div> - - -<p><br></p> -<h3 id="where-should-the-repositoryyml-file-be">Where should the repository.yml file be?</h3> -<p>The <code>repository.yml</code> file lives only in the master branch of the git -repository. <code>Newt</code> will always fetch this file from the master branch and then -use that to resolve the actual branch required depending on the version -specified in the project. <strong>Special care should be taken to ensure that this -file exists only in the master branch.</strong></p> -<p>Here is the <code>repository.yml</code> file from a certain snapshot of apache-Mynewt-core:</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.name: apache-mynewt-core -repo.versions: - "0.7.9": "Mynewt_0_8_0_b2_tag" - "0-latest": "0.7.9" - "0.8-latest": "0.7.9" -</pre></div> - - -<p><br></p> -<p>It contains the following:</p> -<ul> -<li><strong>repo.name</strong> The external name that is used to include the library in -your <code>project.yml</code> file. This is the name you in include in the <code>project.repositories</code> variable when adding this repository to your project.</li> -<li><strong>repo.versions</strong> A description of what versions to give the user depending -on the settings in their <code>project.yml</code> file. See below for a thorough description -on versioning. Its a flexible mapping between version numbers and git branches.</li> -</ul> -<p><br></p> -<h3 id="repo-version-specification">Repo Version Specification</h3> -<p>The version field argument for a repo has the following format:</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>.<revision_num> -</pre></div> - - -<p>or</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>-<stability string> -</pre></div> - - -<p>or </p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>-<stability string> -</pre></div> - - -<p><br></p> -<p>The stability string can be one of 3 pre-defined stability values.</p> -<ol> -<li>stable -- A stable release version of the repository</li> -<li>dev -- A development version from the repository</li> -<li>latest -- The latest from the repository</li> -</ol> -<p>In your <code>project.yml</code> file you can specify different combinations of -the version number and stability value. For example:</p> -<ul> -<li><code>0-latest</code> -- The latest version with major number 0</li> -<li><code>1.2-stable</code> -- The latest stable version with major and minor number 1.2</li> -<li><code>1.2-dev</code> -- The development version from 1.2</li> -<li><code>1.1.1</code> -- a specific version 1.1.1</li> -</ul> -<p>You <strong>cannot</strong> specify a stability string with a fully numbered version, e.g.</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">1.2.8-stable -</pre></div> - - -<p><br></p> -<h3 id="repo-version-resolution">Repo Version Resolution</h3> -<p>A <code>repository.yml</code> file contains information to match this version request -into a git branch to fetch for your project.</p> -<p>It's up to you as the repository maintainer to map these to actual github branches of the repository. For example, let's say in a fictitious repository the following are defined.</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.versions: - "0.8.0": "xxx_branch_0_8_0" - "1.0.0": "xxx_branch_1_0_0" - "1.0.2": "xxx_branch_1_0_2" - "1.1.1": "xxx_branch_1_1_0" - "1.1.2": "xxx_branch_1_1_2" - "1.2.0": "xxx_branch_1_2_0" - "1.2.1": "xxx_branch_1_2_1" - "1.2-dev": "1.2.1" - "1-dev": "1.2-dev" - "1.2-stable": "1.2.0" - "0-latest": "0.8.0" - "1-latest": "1-dev" - .... -</pre></div> - - -<p>When the <code>project.yml</code> file asks for <code>1.2-stable</code> it will be resolved to version -<code>1.2.0</code> which in turn will resolve to a specific branch <code>xxx_branch_1_2_0</code>. This is the branch that <code>newt</code> will fetch into the project with that <code>project.yml</code> file.</p> -<p><br></p> -<h3 id="dependencies-on-other-repos">Dependencies on other repos</h3> -<p>Repositories can also have dependencies on other repositories. These -dependencies should be listed out on a per-tag basis. So, for example, -if apache-mynewt-core were to depend on sterlys-little-repo, you might -have the following directives in the repository.yml:</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">develop.repositories: - sterlys-little-repo: - type: github - vers: 0.8-latest - user: sterlinghughes - repo: sterlys-little-repo -</pre></div> - - -<p><br></p> -<p>This would tell Newt that for anything that resolves to the develop -branch, this repository requires the sterlys-little-repo repository. </p> -<p>Dependencies are resolved circularly by the newt tool, and every dependent repository is placed as a sibling in the repos directory. Currently, if two repositories have the same name, they will conflict and bad things will happen.</p> -<p>When a repository is installed to the repos/ directory, the current -version of that repository is written to the "project.state" file. The -project state file contains the currently installed version of any given -repository. This way, the current set of repositories can be recreated -from the project.state file reliably, whereas the project.yml file can -have higher level directives (i.e. include 0.8-stable.)</p> -<h3 id="resolving-dependencies">Resolving dependencies</h3> -<p>At the moment, all dependencies must match, otherwise newt will provide -an error. As an example, if you have a set of dependencies such that:</p> -<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">apache-mynewt-core depends on sterlys-little-repo 0.6-stable -apache-mynewt-core depends on sterlys-big-repo 0.5.1 -sterlys-big-repo-0.5.1 depends on sterlys-little-repo 0.6.2 -</pre></div> - - -<p><br></p> -<p>where 0.6-stable is 0.6.3, the newt tool will try and resolve the dependency to -sterlys-little-repo. It will notice that there are two conflicting -versions of the same repository, and not perform installation.</p> -<p>In the future Newt will be smarter about loading in all dependencies, -and then looking to satisfy those dependencies to the best match of all -potential options.</p> - - <div class="row"> - - - - -<ul class="nav nav-pills" style="margin-bottom: 10px"> - <li> - - <a href=../add_repos/> - <span class="fa fa-arrow-left"></span> - Previous: Add repo to project - </a> - - </li> - <li class="pull-right"> - - <a href=../upgrade_repo/> - Next: Upgrade a repo - <span class="fa fa-arrow-right"></span> - </a> - - </li> -</ul> - </div> - <div class="row"> - <footer> - <div class="row"> - <div class="col-md-12"> - - <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p> - - </div> - </div> - <div class="copyright-logos"> - <div class="row"> - <div class="col-xs-6 text-right"> - <img src="/img/apache-feather.png" alt="Apache" title="Apache"> - </div> - <div class="col-xs-6 text-left"> - <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator"> - </div> - </div> - </div> - <div class="row"> - <div class="col-md-12"> - <small class="footnote"> - MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. - </small> - </div> - </div> -</footer> - </div> - </div> - </div> - - - </div> - - <script src="../../../js/jquery-1.10.2.min.js"></script> - <script src="../../../js/bootstrap-3.0.3.min.js"></script> - <script src="../../../js/highlight.pack.js"></script> - <script src="../../../js/base.js"></script> - <script src="../../../js/custom.js"></script> - - </body> -</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/event_queue/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/event_queue/index.html b/os/tutorials/event_queue/index.html index 482a6e2..0b78389 100644 --- a/os/tutorials/event_queue/index.html +++ b/os/tutorials/event_queue/index.html @@ -200,8 +200,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -209,7 +212,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -217,15 +220,15 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> - <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <li class="active"> + <a href="./">Add task to manage multiple events</a> </li> @@ -249,23 +252,7 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> - </li> - - - - - - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> - </li> - - - - - - <li class="active"> - <a href="./">Add task to manage multiple events</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> @@ -289,6 +276,14 @@ + + + <li > + <a href="../blehci_project/">BLE HCI interface</a> + </li> + + + </ul> </li> @@ -404,7 +399,7 @@ <p>You will use inputs from 3 sources to toggle 3 GPIO outputs on my STM32F3discovery board.</p> <p><br></p> <h4 id="create-project">Create project</h4> -<p>You start by creating a project and populating it with repositories incubator-mynewt-core and mynewt_stm32f3. See <a href="../STM32F303/">STM32F3 tutorial</a> if you need help with this. You can also read the tutorial on <a href="../add_repos/">Additional Repositories</a> for a more thorough understanding. </p> +<p>You start by creating a project and populating it with repositories incubator-mynewt-core and mynewt_stm32f3. See <a href="../STM32F303/">STM32F3 tutorial</a> if you need help with this. You can also read the tutorial on <a href="add_repos.md">Additional Repositories</a> for a more thorough understanding. </p> <p><br> </p> <h4 id="create-application">Create application</h4> <p>Here's what the pkg.yml looks for the application.</p> @@ -720,8 +715,8 @@ pkg.deps: </li> <li class="pull-right"> - <a href=../bleprph/bleprph-intro/> - Next: BLE peripheral project + <a href=../project-slinky/> + Next: Enable remote comms on sim device <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/ibeacon/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/ibeacon/index.html b/os/tutorials/ibeacon/index.html index 709a7a9..9d41441 100644 --- a/os/tutorials/ibeacon/index.html +++ b/os/tutorials/ibeacon/index.html @@ -200,8 +200,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -209,7 +212,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -217,7 +220,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -225,7 +228,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -249,23 +252,7 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> - </li> - - - - - - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> - </li> - - - - - - <li > - <a href="../event_queue/">Add task to manage multiple events</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> @@ -289,6 +276,14 @@ + + + <li > + <a href="../blehci_project/">BLE HCI interface</a> + </li> + + + </ul> </li> @@ -528,8 +523,8 @@ your iBeacon-aware devices.</p> </li> <li class="pull-right"> - <a href=../../os_user_guide/> - Next: OS User Guide + <a href=../blehci_project/> + Next: BLE HCI interface <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/nRF52/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/nRF52/index.html b/os/tutorials/nRF52/index.html index a7e25a8..768950d 100644 --- a/os/tutorials/nRF52/index.html +++ b/os/tutorials/nRF52/index.html @@ -244,8 +244,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -253,7 +256,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -261,7 +264,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -269,7 +272,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -293,15 +296,18 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + </li> @@ -309,18 +315,7 @@ <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - + <a href="../ibeacon/">BLE iBeacon</a> </li> @@ -328,7 +323,7 @@ <li > - <a href="../ibeacon/">BLE iBeacon</a> + <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -537,7 +532,7 @@ App successfully built: ~/dev/myproj/bin/blink_nordic/apps/blinky/blinky.elf <h3 id="sign-and-create-the-blinky-application-image">Sign and create the blinky application image</h3> <p>You must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image.</p> <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt create-image blink_nordic 1.0.0 -App image succesfully generated: ~/dev/myproj/bin/blink_nordic/apps/blinky/blinky.img +App image successfully generated: ~/dev/myproj/bin/blink_nordic/apps/blinky/blinky.img Build manifest: ~/dev/myproj/bin/blink_nordic/apps/blinky/manifest.json </pre></div> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/olimex/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/olimex/index.html b/os/tutorials/olimex/index.html index 3447d11..7c64075 100644 --- a/os/tutorials/olimex/index.html +++ b/os/tutorials/olimex/index.html @@ -244,8 +244,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -253,7 +256,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -261,7 +264,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -269,7 +272,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -293,15 +296,18 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + </li> @@ -309,18 +315,7 @@ <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - + <a href="../ibeacon/">BLE iBeacon</a> </li> @@ -328,7 +323,7 @@ <li > - <a href="../ibeacon/">BLE iBeacon</a> + <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -528,7 +523,7 @@ or just follow the commands below.</p> <h3 id="sign-and-create-the-blinky-application-image">Sign and create the blinky application image</h3> <p>You must sign and version your application image to download it using newt to the board. Use the newt create-image command to perform this action. You may assign an arbitrary version (e.g. 1.0.0) to the image.</p> <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt create-image blinky 1.0.0 -App image succesfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img +App image successfully generated: ~/dev/myproj/bin/blinky/apps/blinky/blinky.img Build manifest: ~/dev/myproj/bin/blinky/apps/blinky/manifest.json </pre></div> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/project-slinky/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/project-slinky/index.html b/os/tutorials/project-slinky/index.html index ae6234a..1b5334e 100644 --- a/os/tutorials/project-slinky/index.html +++ b/os/tutorials/project-slinky/index.html @@ -200,8 +200,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -209,7 +212,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -217,7 +220,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -225,7 +228,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -249,15 +252,18 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + </li> @@ -265,18 +271,7 @@ <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - + <a href="../ibeacon/">BLE iBeacon</a> </li> @@ -284,7 +279,7 @@ <li > - <a href="../ibeacon/">BLE iBeacon</a> + <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -512,9 +507,9 @@ logs, image status (not on sim), and configuration.</p> <ul class="nav nav-pills" style="margin-bottom: 10px"> <li> - <a href=../bletiny_project/> + <a href=../event_queue/> <span class="fa fa-arrow-left"></span> - Previous: Use BLE app to check stats via console + Previous: Add task to manage multiple events </a> </li> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/project-target-slinky/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/project-target-slinky/index.html b/os/tutorials/project-target-slinky/index.html index 1ea5c0c..93c9a2d 100644 --- a/os/tutorials/project-target-slinky/index.html +++ b/os/tutorials/project-target-slinky/index.html @@ -200,8 +200,11 @@ - <li > - <a href="../add_repos/">Add repo to project</a> + + + <li ><a href="../repo/add_repos/">Work with repositories</a> + + </li> @@ -209,7 +212,7 @@ <li > - <a href="../create_repo/">Create a repo</a> + <a href="../unit_test/">Write a Test Suite for a Package</a> </li> @@ -217,7 +220,7 @@ <li > - <a href="../upgrade_repo/">Upgrade a repo</a> + <a href="../air_quality_sensor/">Air-quality Sensor project</a> </li> @@ -225,7 +228,7 @@ <li > - <a href="../bletiny_project/">Use BLE app to check stats via console</a> + <a href="../event_queue/">Add task to manage multiple events</a> </li> @@ -249,15 +252,18 @@ <li > - <a href="../unit_test/">Write a Test Suite for a Package</a> + <a href="../bletiny_project/">BLE app to check stats via console</a> </li> - <li > - <a href="../air_quality_sensor/">Air-quality Sensor project</a> + + + <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> + + </li> @@ -265,18 +271,7 @@ <li > - <a href="../event_queue/">Add task to manage multiple events</a> - </li> - - - - - - - - <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a> - - + <a href="../ibeacon/">BLE iBeacon</a> </li> @@ -284,7 +279,7 @@ <li > - <a href="../ibeacon/">BLE iBeacon</a> + <a href="../blehci_project/">BLE HCI interface</a> </li> @@ -481,7 +476,7 @@ App successfully built: ~/slinky/bin/stm32_bootloader/apps/boot/boot.elf <p>For the main image, you need to create an image using newt create-image. Give this image some arbitrary version number "1.2.3".</p> <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt create-image stm32_slinky 1.2.3 -App image succesfully generated: /Users/paulfdietrich/dev/slinky/bin/stm32_slinky/apps/slinky/slinky.img +App image successfully generated: /Users/paulfdietrich/dev/slinky/bin/stm32_slinky/apps/slinky/slinky.img Build manifest: /Users/paulfdietrich/dev/slinky/bin/stm32_slinky/apps/slinky/manifest.json </pre></div> @@ -570,8 +565,8 @@ $ newt load stm32_slinky </li> <li class="pull-right"> - <a href=../unit_test/> - Next: Write a Test Suite for a Package + <a href=../bletiny_project/> + Next: BLE app to check stats via console <span class="fa fa-arrow-right"></span> </a> http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/repo/add_repos/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/repo/add_repos/index.html b/os/tutorials/repo/add_repos/index.html new file mode 100644 index 0000000..99a16de --- /dev/null +++ b/os/tutorials/repo/add_repos/index.html @@ -0,0 +1,726 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + + <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/repo/add_repos/"> + <link rel="shortcut icon" href="../../../../img/favicon.ico"> + + <title>toc - Apache Mynewt</title> + + <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> + <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet"> + <link rel="stylesheet" href="../../../../css/highlight.css"> + <link href="../../../../css/base.css" rel="stylesheet"> + <link href="../../../../css/custom.css" rel="stylesheet"> + <link href="../../../../css/v2.css" rel="stylesheet"> + <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> + <link href="../../../../extra.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + + + <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-72162311-1', 'auto'); + ga('send', 'pageview'); + </script> + + </head> + + + <body class="toc"> + + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container"> + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav navbar-right"> + <li + class="" +> + <a href="/">Home</a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="active" +> + <a href="/os/introduction/">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + + + + + + + + + + + + + + + + + + <li ><a href="../../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../../tutorials/">Tutorials</a> + + + <ul> + + + + + + + + <li><a href=" + ../../arduino_zero/ +">Project Blinky</a> + + + </li> + + + + + + + + <li class="active"><a href="./">Work with repositories</a> + + + <ul> + + + + + + <li > + <a href="../upgrade_repo/">Upgrade a repo</a> + </li> + + + + + + <li > + <a href="../create_repo/">Turn project into a repo</a> + </li> + + + + </ul> + + </li> + + + + + + <li > + <a href="../../unit_test/">Write a Test Suite for a Package</a> + </li> + + + + + + <li > + <a href="../../air_quality_sensor/">Air-quality Sensor project</a> + </li> + + + + + + <li > + <a href="../../event_queue/">Add task to manage multiple events</a> + </li> + + + + + + <li > + <a href="../../project-slinky/">Enable remote comms on sim device</a> + </li> + + + + + + <li > + <a href="../../project-target-slinky/">Enable remote comms on STM32 board</a> + </li> + + + + + + <li > + <a href="../../bletiny_project/">BLE app to check stats via console</a> + </li> + + + + + + + + <li ><a href="../../bleprph/bleprph-intro/">BLE peripheral project</a> + + + </li> + + + + + + <li > + <a href="../../ibeacon/">BLE iBeacon</a> + </li> + + + + + + <li > + <a href="../../blehci_project/">BLE HCI interface</a> + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../../os_user_guide/">OS User Guide</a> + + + </li> + + + + + + + + <li><a href=" + ../../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="show-sidebar-container"> + <button class="show-sidebar">Docs Menu</button> + </div> + + <div class="col-md-9" role="main"> + <div class="row doc-header"> + <div class="col-sm-12"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/documentation/">Docs</a></li> + + + + <li>» <a href="../../tutorials/">Tutorials</a></li> + + + + <li>» Work with repositories</li> + + + + + + </ul> +</div> + </div> + </div> + + <h2 id="adding-repositories-to-your-project">Adding Repositories to your Project</h2> +<h3 id="what-is-a-repository">What is a Repository</h3> +<p>A repository is a version-ed Mynewt project, which is a collection of Mynewt packages organized in a specific way for redistribution. </p> +<p>What differentiates a repository from a Mynewt project is the presence of a +<code>repository.yml</code> file describing the repository. This will be described +below. For a basic understanding of repositories you may read the <a href="../../newt/newt_intro.md">Newt Tool Manual</a> and <a href="../create_repo/">How to create repos</a>.</p> +<p><strong>Note:</strong> For the remainder of this document we'll use the term repo as shorthand for a Mynewt repository.</p> +<p>Repos are useful because they are an organized way for the community to share Mynewt packages and projects. In fact, the Mynewt-core is distributed as a repo.</p> +<p><br></p> +<h3 id="why-does-mynewt-need-additional-repos">Why does Mynewt need additional repos?</h3> +<p>Repos add functionality not included in the Mynewt core. New repos might be created for several reasons.</p> +<ul> +<li><strong>Expertise</strong>. Individuals or organizations may have expertise that they want +to share in the form of repos. For example a chip vendor may +create a repo to hold the Mynewt support for their chips.</li> +<li><strong>Non-Core component</strong>. Some components, although very useful to Mynewt users +are not core to all Mynewt users. These are likely candidates to be held in +different repos.</li> +<li><strong>Software licensing</strong>. Some software have licenses that make them incompatible +with the ASF (Apache Software Foundation) license policies. These may be +valuable components to some Mynewt users, but cannot be contained in the <code>apache-Mynewt-core</code>.</li> +</ul> +<p><br></p> +<h3 id="what-repos-are-in-my-project">What Repos are in my Project</h3> +<p>The list of repos used by your project are contained within the +<code>project.yml</code> file. An example can be seen by creating a new project:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ mkdir ~/dev +$ cd ~/dev +$ newt new myproj +$ cd myproj +</pre></div> + + +<p><br></p> +<p>View the <code>project.yml</code> section and you will see a line describing the repos:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">project.repositories: + - apache-Mynewt-core +</pre></div> + + +<p><br> </p> +<p>By default, this newly created project uses a single repo called +<code>apache-Mynewt-core</code>. </p> +<p>If you wish to add additional repos, you would add +additional lines to the <code>project.repositories</code> variable like this.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">project.repositories: + - apache-Mynewt-core +<span style="background-color: #ffffcc"> - another_repo_named_x +</span></pre></div> + + +<p><br></p> +<h3 id="repo-descriptors">Repo Descriptors</h3> +<p>In addition to the repo name, the <code>project.yml</code> file must also contain +a repo descriptor for each repository you include that gives <code>newt</code> +information on obtaining the repo.</p> +<p>In the same <code>myproj</code> above you will see the following repo descriptor.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repository.apache-Mynewt-core: + type: github + vers: 0-latest + user: apache + repo: incubator-mynewt-core +</pre></div> + + +<p>A repo descriptor starts with <code>repository.<name>.</code>. In this example, the +descriptor specifies the information for the <code>apache-Mynewt-core</code>.</p> +<p><br></p> +<p>The fields within the descriptor have the following definitions:</p> +<ul> +<li> +<p><strong>type</strong> -- The type of code storage the repo uses. The current version +of <code>newt</code> only supports github. Future versions may support generic git or other +code storage mechanisms.</p> +</li> +<li> +<p><strong>vers</strong> -- The version of the repo to use for your project. A source +code repository contains many versions of the source. This field is used to +specify the one to use for this project. See the section on versions below +for a detailed description of the format of this field.</p> +</li> +<li> +<p><strong>user</strong> -- The username for the repo. On github, this is the name +after <code>github.com</code> in the repo path. Consider the repository +<code>https://github.com/apache/incubator-mynewt-core</code>. It has username <code>apache</code>. </p> +</li> +<li> +<p><strong>repo</strong> -- The name of the repo. On github, this is the name after +the username described above. Consider the repository +<code>https://github.com/apache/incubator-mynewt-core</code>. It has username +<code>incubator-mynewt-core</code>. This is a path to the source control +and should not be confused with the name of the repo that you used in the +<code>repository.<name></code> declaration above. That name is contained elsewhere +within the repo. See Below.</p> +</li> +</ul> +<p><br></p> +<h3 id="adding-existing-repos-to-my-project">Adding Existing Repos to my Project</h3> +<p>To add a new repo to your project, you have to complete two steps.</p> +<ul> +<li> +<p>Edit the <code>project.yml</code> file and add a new repo descriptor. The previous +section includes information on the field required in your repo descriptor.</p> +</li> +<li> +<p>Edit the <code>project/yml</code> file and add a new line to the <code>project.repositories</code> +variable with the name of the repo you are adding. </p> +</li> +</ul> +<p>An example of a <code>project.yml</code> file with two repositories is shown below:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">project.name: "my_project" + +project.repositories: + - apache-Mynewt-core + - Mynewt_arduino_zero + +# Use github's distribution mechanism for core ASF libraries. +# This provides mirroring automatically for us. +# +repository.apache-Mynewt-core: + type: github + vers: 0-latest + user: apache + repo: incubator-mynewt-core + +# a special repo to hold hardware specific stuff for arduino zero +repository.Mynewt_arduino_zero: + type: github + vers: 0-latest + user: runtimeinc + repo: Mynewt_arduino_zero +</pre></div> + + +<p><br></p> +<h3 id="what-version-of-the-repo-to-use">What Version of the Repo to use</h3> +<p>Mynewt repos are version-ed artifacts. They are stored in source control +systems like github. The repo descriptor in your <code>project.yml</code> file must +specify the version of the repo you will accept into your project.</p> +<p>For now, we are at the beginnings of Mynewt. For testing and evaluation +please use <code>0-latest</code> in the <code>vers</code> field in your repo descriptor.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"> vers:0-latest +</pre></div> + + +<p>See <a href="../create_repo">Create a Repo</a> for a description of the versioning system and all the possible ways to specify a version to use.</p> +<p><br></p> +<h3 id="identifying-a-repo">Identifying a Repo</h3> +<p>A repo contains Mynewt packages organized in a specific way and stored in one of the supported code storage methods described above. In other words, it is a Mynewt project with an additional file <code>repository.yml</code> which describes the repo for use by <code>newt</code> (and humans browsing them). It contains a mapping of version numbers to the actual github branches containing the source code.</p> +<p>Note that the <code>repository.yml</code> file lives only in the master branch of the git +repository. <code>Newt</code> will always fetch this file from the master branch and then +use that to determine the actual branch required depending on the version +specified in your <code>project.yml</code> file. Special care should be taken to ensure that this file exists only in the master branch.</p> +<p>Here is the <code>repository.yml</code> file from the apache-Mynewt-core:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.name: apache-mynewt-core +repo.versions: + "0.7.9": "Mynewt_0_8_0_b2_tag" + "0-latest": "0.7.9" + "0.8-latest": "0.7.9" +</pre></div> + + +<p><br></p> +<p>It contains the following:</p> +<ul> +<li><strong>repo.name</strong> The external name that is used to include the library in +your <code>project.yml</code> file. This is the name you in include in the <code>project.repositories</code> variable when adding this repository to your project.</li> +<li><strong>repo.versions</strong> A description of what versions to give the user depending +on the settings in their <code>project.yml</code> file. </li> +</ul> +<p><br></p> +<h3 id="repo-version">Repo Version</h3> +<p>The repo version number resolves to an actual git branch depending on the mapping specified in <code>repository.yml</code> for that repo. The version field argument in your <code>project.yml</code> file supports multiple formats for flexibility:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>.<revision_num> +</pre></div> + + +<p>or</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>-<stability string> +</pre></div> + + +<p>or </p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>-<stability string> +</pre></div> + + +<p><br></p> +<p>The stability string can be one of 3 pre-defined stability values.</p> +<ol> +<li>stable -- A stable release version of the repository</li> +<li>dev -- A development version from the repository</li> +<li>latest -- The latest from the repository</li> +</ol> +<p>In your <code>project.yml</code> file you can specify different combinations of +the version number and stability value. For example:</p> +<ul> +<li><code>0-latest</code> -- The latest version with major number 0</li> +<li><code>1.2-stable</code> -- The latest stable version with major and minor number 1.2</li> +<li><code>1.2-dev</code> -- The development version from 1.2</li> +<li><code>1.1.1</code> -- a specific version 1.1.1</li> +</ul> +<p>You cannot specify a stability string with a fully numbered version, e.g.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">1.2.8-stable +</pre></div> + + +<p><br></p> +<h3 id="repo-versions-available">Repo Versions Available</h3> +<p>A <code>repository.yml</code> file contains information to match a version request +into a git branch to fetch for your project.</p> +<p>It's up to the repository maintainer to map these to branches of the +repository. For example, let's say in a fictitious repository the following are +defined.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.versions: + "0.8.0": "xxx_branch_0_8_0" + "1.0.0": "xxx_branch_1_0_0" + "1.0.2": "xxx_branch_1_0_2" + "1.1.1": "xxx_branch_1_1_0" + "1.1.2": "xxx_branch_1_1_2" + "1.2.0": "xxx_branch_1_2_0" + "1.2.1": "xxx_branch_1_2_1" + "1.2-dev": "1.2.1" + "1-dev": "1.2-dev" + "1.2-stable": "1.2.0" + "0-latest": "0.8.0" + "1-latest": "1-dev" + .... +</pre></div> + + +<p>When the <code>project.yml</code> file asks for <code>1.2-stable</code> it is resolved to version +<code>1.2.0</code> (perhaps <code>1.2.1</code> is not stable yet), which in turn resolves to a specific +branch <code>xxx_branch_1_2_0</code>. This is the branch that <code>newt</code> fetches into +your project. </p> +<p><strong>Note:</strong> Make sure a repo version exists in the <code>repository.yml</code> file of a repo you wish to add. Otherwise Newt will not be able to resolve the version and will fail to fetch the repo into your project.</p> +<p><br></p> +<h3 id="how-to-find-out-what-repos-are-available-for-mynewt-components">How to find out what Repos are available for Mynewt components</h3> +<p>Currently, there is no <code>newt</code> command to locate/search Mynewt package +repositories. However, since the <code>newt</code> tool supports only github, +searching github by keyword is a satisfactory option until a search +tool is created.</p> +<p>When searching github, recall that a Mynewt repository must +have a <code>repository.yml</code> file in its root directory. If you don't see +that file, it's not a Mynewt repository and can't be included in your +project via the newt tool. </p> +<p>Once you find a repository, the github URL and <code>repository.yml</code> file +should give you all the information to add it to your <code>project.yml</code> file.</p> +<p><br></p> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../../blinky_sram_olimex/> + <span class="fa fa-arrow-left"></span> + Previous: Run Blinky from SRAM, no bootloader + </a> + + </li> + <li class="pull-right"> + + <a href=../upgrade_repo/> + Next: Upgrade a repo + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <div class="row"> + <footer> + <div class="row"> + <div class="col-md-12"> + + <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p> + + </div> + </div> + <div class="copyright-logos"> + <div class="row"> + <div class="col-xs-6 text-right"> + <img src="/img/apache-feather.png" alt="Apache" title="Apache"> + </div> + <div class="col-xs-6 text-left"> + <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <small class="footnote"> + MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </small> + </div> + </div> +</footer> + </div> + </div> + </div> + + + </div> + + <script src="../../../../js/jquery-1.10.2.min.js"></script> + <script src="../../../../js/bootstrap-3.0.3.min.js"></script> + <script src="../../../../js/highlight.pack.js"></script> + <script src="../../../../js/base.js"></script> + <script src="../../../../js/custom.js"></script> + + </body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/22b7d022/os/tutorials/repo/create_repo/index.html ---------------------------------------------------------------------- diff --git a/os/tutorials/repo/create_repo/index.html b/os/tutorials/repo/create_repo/index.html new file mode 100644 index 0000000..1886ef9 --- /dev/null +++ b/os/tutorials/repo/create_repo/index.html @@ -0,0 +1,618 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + + <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/repo/create_repo/"> + <link rel="shortcut icon" href="../../../../img/favicon.ico"> + + <title>Turn project into a repo - Apache Mynewt</title> + + <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet"> + <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet"> + <link rel="stylesheet" href="../../../../css/highlight.css"> + <link href="../../../../css/base.css" rel="stylesheet"> + <link href="../../../../css/custom.css" rel="stylesheet"> + <link href="../../../../css/v2.css" rel="stylesheet"> + <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> + <link href="../../../../extra.css" rel="stylesheet"> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> + + + <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-72162311-1', 'auto'); + ga('send', 'pageview'); + </script> + + </head> + + + <body class="Turn project into a repo"> + + + + + + + + + +<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container"> + <!-- Collapsed navigation --> + <div class="navbar-header"> + <!-- Expander button --> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + + </div> + + <!-- Expanded navigation --> + <div class="navbar-collapse collapse"> + <!-- Main navigation --> + <ul class="nav navbar-nav navbar-right"> + <li + class="" +> + <a href="/">Home</a> + </li> + <li + class="important" +> + <a href="/quick-start/">Quick Start</a> + </li> + <li + class="" +> + <a href="/about/">About</a> + </li> + <li + class="active" +> + <a href="/os/introduction/">Documentation</a> + </li> + <li + class="" +> + <a href="/download/">Download</a> + </li> + <li + class="" +> + <a href="/community/">Community</a> + </li> + <li + class="" +> + <a href="/events/">Events</a> + </li> + </ul> + + <!-- Search, Navigation and Repo links --> + <ul class="nav navbar-nav navbar-right"> + + </ul> + </div> + </div> +</nav> + + + + <div class="container"> + + <div class="row"> + <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary"> + <div class="top"> + <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt"> + <div role="search"> + <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get"> + <div class="form-group"> + <input type="text" name="q" class="form-control" placeholder="Search documentation" /> + </div> + </form> + </div> + </div> + <ul class="toc-nav"> + + + + + + + + + + + + + + + + + + <li ><a href="../../../introduction/">Mynewt Documentation</a> + + + <ul> + + + + + + + + <li ><a href="../../../get_started/get_started/">Basic Setup</a> + + + </li> + + + + + + <li > + <a href="../../../get_started/vocabulary/">Concepts</a> + </li> + + + + + + + + <li ><a href="../../tutorials/">Tutorials</a> + + + <ul> + + + + + + + + <li><a href=" + ../../arduino_zero/ +">Project Blinky</a> + + + </li> + + + + + + + + <li ><a href="../add_repos/">Work with repositories</a> + + + <ul> + + + + + + <li > + <a href="../upgrade_repo/">Upgrade a repo</a> + </li> + + + + + + <li class="active"> + <a href="./">Turn project into a repo</a> + </li> + + + + </ul> + + </li> + + + + + + <li > + <a href="../../unit_test/">Write a Test Suite for a Package</a> + </li> + + + + + + <li > + <a href="../../air_quality_sensor/">Air-quality Sensor project</a> + </li> + + + + + + <li > + <a href="../../event_queue/">Add task to manage multiple events</a> + </li> + + + + + + <li > + <a href="../../project-slinky/">Enable remote comms on sim device</a> + </li> + + + + + + <li > + <a href="../../project-target-slinky/">Enable remote comms on STM32 board</a> + </li> + + + + + + <li > + <a href="../../bletiny_project/">BLE app to check stats via console</a> + </li> + + + + + + + + <li ><a href="../../bleprph/bleprph-intro/">BLE peripheral project</a> + + + </li> + + + + + + <li > + <a href="../../ibeacon/">BLE iBeacon</a> + </li> + + + + + + <li > + <a href="../../blehci_project/">BLE HCI interface</a> + </li> + + + + </ul> + + </li> + + + + + + + + <li ><a href="../../../os_user_guide/">OS User Guide</a> + + + </li> + + + + + + + + <li><a href=" + ../../../../network/ble/ble_intro/ +">BLE User Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a> + + + </li> + + + + + + + + <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a> + + + </li> + + + + </ul> + + </li> + + + + + + + + <li><a href=" + ../../../../faq/how_to_edit_docs/ +">Appendix</a> + + + </li> + + + + </ul> +</div></div> + + <div class="show-sidebar-container"> + <button class="show-sidebar">Docs Menu</button> + </div> + + <div class="col-md-9" role="main"> + <div class="row doc-header"> + <div class="col-sm-12"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs pull-right"> + <li><a href="/documentation/">Docs</a></li> + + + + <li>» <a href="../../tutorials/">Tutorials</a></li> + + + + <li>» <a href="../add_repos/">Work with repositories</a></li> + + + + <li>» Turn project into a repo</li> + + + + </ul> +</div> + </div> + </div> + + <h2 id="create-a-repo-out-of-a-project">Create a Repo out of a Project</h2> +<p>In order to create a repository out of a project, all you need to do is create a <code>repository.yml</code> file, and check it into the master branch of your project.</p> +<p><strong>NOTE:</strong> Currently only github source control service is supported by our package management system, but support for plain git will be added soon.</p> +<p>The repository.yml defines all versions of the repository and the corresponding source control tags that these versions correspond to. As an example, if the repository.yml file has the following content, it means there is one version of the apache-mynewt-core operating system available, which is <code>0.0.0</code> (implying we haven't released yet!). Such a version number corresponds to the "develop" branch in this repository. <code>0-latest</code> would also resolved to this same <code>0.0.0</code> version. The next section explains the versioning system a bit more.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ more repository.yml +repo.name: apache-mynewt-core +repo.versions: + "0.0.0": "develop" + "0-latest": "0.0.0" +</pre></div> + + +<p><br></p> +<h3 id="where-should-the-repositoryyml-file-be">Where should the repository.yml file be?</h3> +<p>The <code>repository.yml</code> file lives only in the master branch of the git +repository. <code>Newt</code> will always fetch this file from the master branch and then +use that to resolve the actual branch required depending on the version +specified in the project. <strong>Special care should be taken to ensure that this +file exists only in the master branch.</strong></p> +<p>Here is the <code>repository.yml</code> file from a certain snapshot of apache-Mynewt-core:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.name: apache-mynewt-core +repo.versions: + "0.7.9": "Mynewt_0_8_0_b2_tag" + "0-latest": "0.7.9" + "0.8-latest": "0.7.9" +</pre></div> + + +<p><br></p> +<p>It contains the following:</p> +<ul> +<li><strong>repo.name</strong> The external name that is used to include the library in +your <code>project.yml</code> file. This is the name you in include in the <code>project.repositories</code> variable when adding this repository to your project.</li> +<li><strong>repo.versions</strong> A description of what versions to give the user depending +on the settings in their <code>project.yml</code> file. See below for a thorough description +on versioning. Its a flexible mapping between version numbers and git branches.</li> +</ul> +<p><br></p> +<h3 id="repo-version-specification">Repo Version Specification</h3> +<p>The version field argument for a repo has the following format:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>.<revision_num> +</pre></div> + + +<p>or</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>.<minor_num>-<stability string> +</pre></div> + + +<p>or </p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><major_num>-<stability string> +</pre></div> + + +<p><br></p> +<p>The stability string can be one of 3 pre-defined stability values.</p> +<ol> +<li>stable -- A stable release version of the repository</li> +<li>dev -- A development version from the repository</li> +<li>latest -- The latest from the repository</li> +</ol> +<p>In your <code>project.yml</code> file you can specify different combinations of +the version number and stability value. For example:</p> +<ul> +<li><code>0-latest</code> -- The latest version with major number 0</li> +<li><code>1.2-stable</code> -- The latest stable version with major and minor number 1.2</li> +<li><code>1.2-dev</code> -- The development version from 1.2</li> +<li><code>1.1.1</code> -- a specific version 1.1.1</li> +</ul> +<p>You <strong>cannot</strong> specify a stability string with a fully numbered version, e.g.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">1.2.8-stable +</pre></div> + + +<p><br></p> +<h3 id="repo-version-resolution">Repo Version Resolution</h3> +<p>A <code>repository.yml</code> file contains information to match this version request +into a git branch to fetch for your project.</p> +<p>It's up to you as the repository maintainer to map these to actual github branches of the repository. For example, let's say in a fictitious repository the following are defined.</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">repo.versions: + "0.8.0": "xxx_branch_0_8_0" + "1.0.0": "xxx_branch_1_0_0" + "1.0.2": "xxx_branch_1_0_2" + "1.1.1": "xxx_branch_1_1_0" + "1.1.2": "xxx_branch_1_1_2" + "1.2.0": "xxx_branch_1_2_0" + "1.2.1": "xxx_branch_1_2_1" + "1.2-dev": "1.2.1" + "1-dev": "1.2-dev" + "1.2-stable": "1.2.0" + "0-latest": "0.8.0" + "1-latest": "1-dev" + .... +</pre></div> + + +<p>When the <code>project.yml</code> file asks for <code>1.2-stable</code> it will be resolved to version +<code>1.2.0</code> which in turn will resolve to a specific branch <code>xxx_branch_1_2_0</code>. This is the branch that <code>newt</code> will fetch into the project with that <code>project.yml</code> file.</p> +<p><br></p> +<h3 id="dependencies-on-other-repos">Dependencies on other repos</h3> +<p>Repositories can also have dependencies on other repositories. These +dependencies should be listed out on a per-tag basis. So, for example, +if apache-mynewt-core were to depend on sterlys-little-repo, you might +have the following directives in the repository.yml:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">develop.repositories: + sterlys-little-repo: + type: github + vers: 0.8-latest + user: sterlinghughes + repo: sterlys-little-repo +</pre></div> + + +<p><br></p> +<p>This would tell Newt that for anything that resolves to the develop +branch, this repository requires the sterlys-little-repo repository. </p> +<p>Dependencies are resolved circularly by the newt tool, and every dependent repository is placed as a sibling in the repos directory. Currently, if two repositories have the same name, they will conflict and bad things will happen.</p> +<p>When a repository is installed to the repos/ directory, the current +version of that repository is written to the "project.state" file. The +project state file contains the currently installed version of any given +repository. This way, the current set of repositories can be recreated +from the project.state file reliably, whereas the project.yml file can +have higher level directives (i.e. include 0.8-stable.)</p> +<h3 id="resolving-dependencies">Resolving dependencies</h3> +<p>At the moment, all dependencies must match, otherwise newt will provide +an error. As an example, if you have a set of dependencies such that:</p> +<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">apache-mynewt-core depends on sterlys-little-repo 0.6-stable +apache-mynewt-core depends on sterlys-big-repo 0.5.1 +sterlys-big-repo-0.5.1 depends on sterlys-little-repo 0.6.2 +</pre></div> + + +<p><br></p> +<p>where 0.6-stable is 0.6.3, the newt tool will try and resolve the dependency to +sterlys-little-repo. It will notice that there are two conflicting +versions of the same repository, and not perform installation.</p> +<p>In the future Newt will be smarter about loading in all dependencies, +and then looking to satisfy those dependencies to the best match of all +potential options.</p> + + <div class="row"> + + + + +<ul class="nav nav-pills" style="margin-bottom: 10px"> + <li> + + <a href=../upgrade_repo/> + <span class="fa fa-arrow-left"></span> + Previous: Upgrade a repo + </a> + + </li> + <li class="pull-right"> + + <a href=../../unit_test/> + Next: Write a Test Suite for a Package + <span class="fa fa-arrow-right"></span> + </a> + + </li> +</ul> + </div> + <div class="row"> + <footer> + <div class="row"> + <div class="col-md-12"> + + <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p> + + </div> + </div> + <div class="copyright-logos"> + <div class="row"> + <div class="col-xs-6 text-right"> + <img src="/img/apache-feather.png" alt="Apache" title="Apache"> + </div> + <div class="col-xs-6 text-left"> + <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator"> + </div> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <small class="footnote"> + MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </small> + </div> + </div> +</footer> + </div> + </div> + </div> + + + </div> + + <script src="../../../../js/jquery-1.10.2.min.js"></script> + <script src="../../../../js/bootstrap-3.0.3.min.js"></script> + <script src="../../../../js/highlight.pack.js"></script> + <script src="../../../../js/base.js"></script> + <script src="../../../../js/custom.js"></script> + + </body> +</html> \ No newline at end of file
