Hacking on AS7

1. Create a github account

http://github.com

 

2. Fork jboss-as into your account

http://github.com/jbossas/jboss-as

 

3. Clone your newly forked copy onto your local workspace

$ git clone git@github.com:[your user]/jboss-as.git
Initialized empty Git repository in /devel/jboss-as/.git/
remote: Counting objects: 2444, done.
remote: Compressing objects: 100% (705/705), done.
remote: Total 2444 (delta 938), reused 2444 (delta 938)
Receiving objects: 100% (2444/2444), 1.71 MiB | 205 KiB/s, done.
Resolving deltas: 100% (938/938), done.
 
$ cd jboss-as

 

4. Add a remote ref to upstream, for pulling future updates

git remote add upstream git://githib.com/jbossas/jboss-as.git 

 

5. Use maven (make sure you use maven 3)

$ mvn install
.....
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] JBoss Application Server: BOM ..................... SUCCESS [1.834s]
[INFO] JBoss Application Server: Parent Aggregator ....... SUCCESS [0.022s]
[INFO] JBoss Application Server: Domain Core ............. SUCCESS [3.051s]
[INFO] JBoss Application Server: Server Manager .......... SUCCESS [0.204s]
[INFO] JBoss Application Server: Server .................. SUCCESS [0.283s]
[INFO] JBoss Application Server: Domain Controller ....... SUCCESS [0.084s]
[INFO] JBoss Application Server: Process Manager ......... SUCCESS [0.314s]
[INFO] JBoss Application Server: Remoting ................ SUCCESS [0.390s]
[INFO] JBoss Application Server: Build ................... SUCCESS [5.696s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

 

6. Pulling later updates from upstream

$ git pull upstream master
From git://github.com/jbossas/jboss-as
 * branch            master     -> FETCH_HEAD
Updating 3382570..1fa25df
Fast-forward
 {parent => bom}/pom.xml                            |   70 ++++----------
 build/pom.xml                                      |   13 +--
 domain/pom.xml                                     |   10 ++
 .../src/main/resources/examples/host-example.xml   |    2 +-
 .../resources/examples/jboss-domain-example.xml    |   28 +++---
 .../main/resources/schema/jboss-domain-common.xsd  |   12 +--
 .../main/resources/schema/jboss-domain-host.xsd    |    2 +-
 domain/src/main/resources/schema/jboss-domain.xsd  |   17 ++--
 pom.xml                                            |  100 ++++++++++++++++++--
 process-manager/pom.xml                            |    3 +-
 10 files changed, 156 insertions(+), 101 deletions(-)
 rename {parent => bom}/pom.xml (85%)


7. Pushing pulled updates or local commits to your private github repo (origin)

$ git push
Counting objects: 192, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (44/44), done.
Writing objects: 100% (100/100), 10.67 KiB, done.
Total 100 (delta 47), reused 100 (delta 47)
To git@github.com:[your user]/jboss-as.git
   3382570..1fa25df  master -> master

 

8. Discuss your planned changes on the AS7 Development forum (if you want feedback)

http://community.jboss.org/en/jbossas/dev/jboss_as7_development

 

9. Make sure there is a JIRA somewhere for the enhancement/fix

http://jira.jboss.org

 

10. Make the changes and commit one or more times (Don't forget to push)

git commit -m 'JBAS-XXXX Frunubucate the Fromungulator'
git commit -m 'JBAS-YYYY Tripple Performance of Fromungulation'
git push

 

11. Get your changes merged into upstream

  1. Email a pull request to jbossas-pull-requests@lists.jboss.org with a link to your repo, a description of the changes, and who reviewed (if any)
  2. If you have other work going on, consider using a branch to isolate the pull changes from the other work (git branch mychange)
  3. After review a maintainer will merge your patch, and reply