Merge lp:~mvo/snapcraft/docs-1 into lp:~snappy-dev/snapcraft/core

Proposed by Michael Vogt
Status: Rejected
Rejected by: Michael Terry
Proposed branch: lp:~mvo/snapcraft/docs-1
Merge into: lp:~snappy-dev/snapcraft/core
Diff against target: 99 lines (+81/-0)
3 files modified
README.md (+7/-0)
docs/intro.md (+71/-0)
docs/tutorial.md (+3/-0)
To merge this branch: bzr merge lp:~mvo/snapcraft/docs-1
Reviewer Review Type Date Requested Status
Michael Terry (community) Disapprove
Leo Arias (community) Needs Fixing
Review via email: mp+265770@code.launchpad.net

Description of the change

Start working on the docs:

  - rename README.md to HACKING.md as its about snapcraft hacking
  - add new README.md that points to the docs under doc/
  - add docs/intro.md that explains some of the key concepts
  - add stub docs/tutorial.md

To post a comment you must log in.
lp:~mvo/snapcraft/docs-1 updated
107. By Michael Vogt

expand why we need parts at all

Revision history for this message
Leo Arias (elopio) wrote :

Some small typos, but this is great and clear. Thank you!

review: Needs Fixing
Revision history for this message
Michael Terry (mterry) wrote :

A few comments too. Thanks for this work, mvo!

Revision history for this message
Daniel Holbach (dholbach) wrote :

Great work. After Mike's review there was only one more comment to leave. :-)

Revision history for this message
Michael Terry (mterry) wrote :

mvo is on vacation for two weeks, I'll take this branch over in a new MP.

Revision history for this message
Michael Terry (mterry) wrote :
review: Disapprove

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== renamed file 'README.md' => 'HACKING.md'
2=== added file 'README.md'
3--- README.md 1970-01-01 00:00:00 +0000
4+++ README.md 2015-07-24 07:39:58 +0000
5@@ -0,0 +1,7 @@
6+# Snapcraft
7+
8+Snapcraft allows easy crafting of snap packages for the Ubuntu Core
9+transactional system.
10+
11+See docs/intro.md for details about the concepts behind
12+snapcraft. There is also a tutorial in docs/tutorial.md.
13\ No newline at end of file
14
15=== added file 'docs/intro.md'
16--- docs/intro.md 1970-01-01 00:00:00 +0000
17+++ docs/intro.md 2015-07-24 07:39:58 +0000
18@@ -0,0 +1,71 @@
19+# Into
20+
21+Snapcraft allows easy crafting of snap packages for the Ubuntu Core
22+transactional system. It is designed to make it easy to incorporate
23+components from different sources like github, launchpad or npm.
24+
25+# Key concepts
26+
27+A .snap package for the Ubuntu Core system contains all its
28+dependencies. This has a couple of advantages over traditional deb or
29+rpm based dependency handling, the most important one is that a
30+developer can always be assured that there no regressions triggered by
31+changes of the system.
32+
33+Snapcraft makes bundling these dependencies easy by allowing to
34+specify them as "parts" in the snapcraft.yaml file.
35+
36+## Parts
37+
38+A central aspect of a snapcraft recipe is a "part". A part is a piece
39+of software or data that the snap package requires to work or to
40+build other parts. Each part is managed by a snapcraft plugin and parts
41+are independent of each other.
42+
43+## Plugins
44+
45+Snapcraft plugins are written in python and have a yaml
46+description. This allows to easily extend snapcraft with custom
47+plugins. A lot of default plugins are included, for example for
48+projects written in go, java, python or autotools. It is also possible
49+to simply download content as part of the snapcraft recipe.
50+
51+## Lifecycle
52+
53+Each part goes through the following steps:
54+
55+### Pull
56+
57+The first is that each part is pulled. This step will download
58+content, e.g. checkout a git repository or download a binary component
59+like the java sdk. Snapcraft will create a parts/ directory with
60+sub-directories like parts/part-name/src for each part that contains
61+the downloaded content.
62+
63+#### Build
64+
65+The next step is that each part is build in its parts/part-name/build
66+directory and installs itself into parts/part-name/install.
67+
68+### Stage
69+
70+After the build of each part the parts are combined into a single
71+directory tree that is called the "staging area". It can be found
72+under the ./stage directory.
73+
74+### Snap
75+
76+The snap step move the data into a ./snap directory. It contains only
77+the content that will be put into the final snap package.
78+
79+### Assemble
80+
81+The final step builds a snap package out of the snap directory.
82+
83+More details on the flow can be found in the docs/flow.md document.
84+
85+# Next
86+
87+After introducing the key concept of snapcraft it is probably a good
88+time to look at the tutorial in docs/tutorial.md to see how it works
89+for an example project.
90\ No newline at end of file
91
92=== added file 'docs/tutorial.md'
93--- docs/tutorial.md 1970-01-01 00:00:00 +0000
94+++ docs/tutorial.md 2015-07-24 07:39:58 +0000
95@@ -0,0 +1,3 @@
96+# Snapcraft tutorial
97+
98+This tutorial walks through making a snap for a XXX application.
99\ No newline at end of file

Subscribers

People subscribed via source and target branches