Blame view

HACKING.md 2.58 KB
70a3c042   Aurélio A. Heckert   correct HACKING.m...
1
2
Noosfero instructions for developers
====================================
013f1576   Antonio Terceiro   Reorganizing docu...
3

70a3c042   Aurélio A. Heckert   correct HACKING.m...
4
5
A work about your the development platform
------------------------------------------
013f1576   Antonio Terceiro   Reorganizing docu...
6

70a3c042   Aurélio A. Heckert   correct HACKING.m...
7
These instructions are tested and known to work on Debian stable, which is the system that the Noosfero core developers use to work on Noosfero.
013f1576   Antonio Terceiro   Reorganizing docu...
8

8844a712   Antonio Terceiro   New HACKING file
9
If you want to use another OS, read "Instructions for other systems" below.
f40bbe42   Antonio Terceiro   Clarifying instru...
10

70a3c042   Aurélio A. Heckert   correct HACKING.m...
11
12
Instructions for Debian stable
------------------------------
9d29648d   Antonio Terceiro   Updating installa...
13

8844a712   Antonio Terceiro   New HACKING file
14
Download the source code:
9d29648d   Antonio Terceiro   Updating installa...
15

370d0e1f   Rodrigo Souto   Merge remote-trac...
16
    $ git clone https://gitlab.com/noosfero/noosfero.git
70a3c042   Aurélio A. Heckert   correct HACKING.m...
17
    $ cd noosfero
9d29648d   Antonio Terceiro   Updating installa...
18

8844a712   Antonio Terceiro   New HACKING file
19
Run the quick start script:
013f1576   Antonio Terceiro   Reorganizing docu...
20

70a3c042   Aurélio A. Heckert   correct HACKING.m...
21
    $ ./script/quick-start
013f1576   Antonio Terceiro   Reorganizing docu...
22

8844a712   Antonio Terceiro   New HACKING file
23
Now you can execute the development server with:
013f1576   Antonio Terceiro   Reorganizing docu...
24

70a3c042   Aurélio A. Heckert   correct HACKING.m...
25
    $ ./script/development
013f1576   Antonio Terceiro   Reorganizing docu...
26

8844a712   Antonio Terceiro   New HACKING file
27
You will be able to access Noosfero at http://localhost:3000/
013f1576   Antonio Terceiro   Reorganizing docu...
28

70a3c042   Aurélio A. Heckert   correct HACKING.m...
29
If you want to use a different port than 3000, pass `-p <PORT>` to `./script/development`
013f1576   Antonio Terceiro   Reorganizing docu...
30

70a3c042   Aurélio A. Heckert   correct HACKING.m...
31
32
Instructions for other systems
------------------------------
013f1576   Antonio Terceiro   Reorganizing docu...
33

644db6c1   Rodrigo Souto   doc: add rvm/gem ...
34
On other OS, you have many options:
013f1576   Antonio Terceiro   Reorganizing docu...
35

70a3c042   Aurélio A. Heckert   correct HACKING.m...
36
### 1) using a chroot or a VM with Debian stable (easier)
013f1576   Antonio Terceiro   Reorganizing docu...
37

70a3c042   Aurélio A. Heckert   correct HACKING.m...
38
Use a chroot (http://wiki.debian.org/Schroot) or a Virtual Machine (e.g. with VirtualBox) with a Debian stable system and follow the instructions above for Debian stable.
683f4ace   Antonio Terceiro   Document delayed_...
39

70a3c042   Aurélio A. Heckert   correct HACKING.m...
40
### 2) Installing dependencies on other OS (harder)
683f4ace   Antonio Terceiro   Document delayed_...
41

70a3c042   Aurélio A. Heckert   correct HACKING.m...
42
If you want to setup a development environment in another OS, you can create a file under `./script/install-dependencies/`, called `<OS>-<CODENAME>.sh`, which installed the dependencies for your system. With this script in place, `./script/quick-start` will call it at the point of installing the required packages for Noosfero development.
683f4ace   Antonio Terceiro   Document delayed_...
43

70a3c042   Aurélio A. Heckert   correct HACKING.m...
44
You can check `./script/install-dependencies/debian-squeeze.sh` to have an idea of what kind of stuff that script has to do.
9fa9d74f   Joenio Costa   Documenting how e...
45

70a3c042   Aurélio A. Heckert   correct HACKING.m...
46
If you write such script for your own OS, *please* share it with us at the development mailing list so that we can include it in the official repository. This way other people using the same OS will have to put less effort to develop Noosfero.
79be23e0   Antonio Terceiro   HACKING: point to...
47

644db6c1   Rodrigo Souto   doc: add rvm/gem ...
48
49
50
51
52
53
54
55
### 3) Installing dependencies via Rubygems and RVM

To setup the development environment through Rubygems you just need to install some basic deps and then install the gems defined on the Gemfile. Further instructions can be found on: http://noosfero.org/bin/view/Development/DepsWithRVMAndGems

### 4) Using a docker image

Use a docker image to run an out-of-the-box development environment. Further information can be found on: https://hub.docker.com/r/noosfero/dev-rails4/

70a3c042   Aurélio A. Heckert   correct HACKING.m...
56
57
Submitting your changes back
----------------------------
79be23e0   Antonio Terceiro   HACKING: point to...
58
59
60
61
62
63
64

For now please read:

- Coding conventions
  http://noosfero.org/Development/CodingConventions
- Patch guidelines
  http://noosfero.org/Development/PatchGuidelines