Parcourir la source

Merge pull request #18 from csmith/master

Add some more bits and bobs to the README
pull/20/head
Greg Holmes il y a 9 ans
Parent
révision
db6866104e
1 fichiers modifiés avec 64 ajouts et 2 suppressions
  1. 64
    2
      README.md

+ 64
- 2
README.md Voir le fichier

@@ -27,6 +27,8 @@ scripts for bundling everything together.
27 27
 Getting Started
28 28
 --------------------------------------------------------------------------------
29 29
 
30
+### Project set up
31
+
30 32
 First off, clone this repository and init the submodules:
31 33
 
32 34
     git clone https://github.com/DMDirc/Meta.git
@@ -42,6 +44,55 @@ tests in the project:
42 44
 [Currently the gradle scripts do not generate a functioning client... we're
43 45
  working on that still!]
44 46
 
47
+### Using an IDE
48
+
49
+We strongly recommend using [IntelliJ IDEA](http://www.jetbrains.com/idea/).
50
+There are project files available in this repository which will load all of the
51
+subprojects properly, and configure IDEA with our preferred code style,
52
+license headers, etc. Simply open the `dmdirc.iml` file with IDEA to get going.
53
+
54
+Contributing
55
+--------------------------------------------------------------------------------
56
+
57
+### Client, Parser and Plugin repositories
58
+
59
+At present, we use Gerrit to perform code reviews for most of our repositories.
60
+This is tied fairly heavily into our continuous integration infra-structure.
61
+To push a change to Gerrit you'll need an account created by an admin - the
62
+easiest way to do that is to pop in to
63
+[#DMDirc on Quakenet](irc://quakenet.org/DMDirc) and we'll help you out. Once
64
+you have an account, the easiest way to push is to install the
65
+[git-review](https://github.com/openstack-infra/git-review) tool. You then
66
+simply change to a directory and use git-review:
67
+
68
+    cd client
69
+    git review
70
+    > remote: Resolving deltas: 100% (6/6)
71
+    > remote: Processing changes: new: 1, refs: 1, done
72
+    > remote:
73
+    > remote: New Changes:
74
+    > remote:   http://gerrit.dmdirc.com/12345
75
+    > remote:
76
+    > To ssh://user@dmdirc.com:29418/client
77
+    > * [new branch]      HEAD -> refs/publish/master
78
+
79
+Gerrit is configured to require 'Change-Id' lines to ease the process of pushing
80
+updated patchsets. The root gradle project contains a task to automatically
81
+install a commit message hook for each of the submodules; just execute:
82
+
83
+    ./gradlew installCommitIdHook
84
+
85
+### Meta and Util repositories
86
+
87
+For this repository and the util repository we welcome pull requests on GitHub.
88
+The tests for the module will run on Travis CI, and the pull request will be
89
+updated with the result.
90
+
91
+Please bear in mind that these are just unit tests for the individual modules —
92
+they don't test how your change will affect DMDirc itself. It's good practice
93
+to run all of the tests in the project and compile and run an actual client to
94
+make sure everything actually still works!
95
+
45 96
 Miscellaneous
46 97
 --------------------------------------------------------------------------------
47 98
 
@@ -52,8 +103,19 @@ When running clover tasks, the build script will try and download our license
52 103
 from a private webserver. If your IP isn't whitelisted you will need to supply
53 104
 a username/password.
54 105
 
55
-To enable clover, set the enableClover property to a true-ish value:
106
+To enable clover, set the enableClover property to true value:
56 107
 
57
-    ./gradlew -PenableClover=1 cloverAggregateReports
108
+    ./gradlew -PenableClover=true cloverAggregateReports
58 109
 
59 110
 This will place a HTML report in `build/reports/clover/html`.
111
+
112
+### Dependencies
113
+
114
+All cross-repository dependencies are specified as artifacts, rather than
115
+project dependencies. That means if (say) the client is compiled on its own,
116
+it will pull snapshot versions of the parser and util modules from our maven
117
+repository.
118
+
119
+The meta repository includes a gradle build script that finds these dependencies
120
+and replaces them with project links instead. This ensures that while developing
121
+the client your changes are reflected across modules properly.

Chargement…
Annuler
Enregistrer