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