|
@@ -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,49 @@ 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
|
+### Meta and Util repositories
|
|
80
|
+
|
|
81
|
+For this repository and the util repository we welcome pull requests on GitHub.
|
|
82
|
+The tests for the module will run on Travis CI, and the pull request will be
|
|
83
|
+updated with the result.
|
|
84
|
+
|
|
85
|
+Please bear in mind that these are just unit tests for the individual modules —
|
|
86
|
+they don't test how your change will affect DMDirc itself. It's good practice
|
|
87
|
+to run all of the tests in the project and compile and run an actual client to
|
|
88
|
+make sure everything actually still works!
|
|
89
|
+
|
45
|
90
|
Miscellaneous
|
46
|
91
|
--------------------------------------------------------------------------------
|
47
|
92
|
|
|
@@ -57,3 +102,14 @@ To enable clover, set the enableClover property to a true-ish value:
|
57
|
102
|
./gradlew -PenableClover=1 cloverAggregateReports
|
58
|
103
|
|
59
|
104
|
This will place a HTML report in `build/reports/clover/html`.
|
|
105
|
+
|
|
106
|
+### Dependencies
|
|
107
|
+
|
|
108
|
+All cross-repository dependencies are specified as artifacts, rather than
|
|
109
|
+project dependencies. That means if (say) the client is compiled on its own,
|
|
110
|
+it will pull snapshot versions of the parser and util modules from our maven
|
|
111
|
+repository.
|
|
112
|
+
|
|
113
|
+The meta repository includes a gradle build script that finds these dependencies
|
|
114
|
+and replaces them with project links instead. This ensures that while developing
|
|
115
|
+the client your changes are reflected across modules properly.
|