[JBoss Tools Development] - JBoss Tools Target Platform Provisioning (or, how to resolve missing dependencies when compiling JBoss Tools)
by Nick Boldt
Nick Boldt [http://community.jboss.org/people/nickboldt] modified the document:
"JBoss Tools Target Platform Provisioning (or, how to resolve missing dependencies when compiling JBoss Tools)"
To view the document, visit: http://community.jboss.org/docs/DOC-15755
--------------------------------------------------------------
*+This document is a work in progress and subject to change.+*
In order to build JBoss Tools in your workspace (or on your local machine, if not in Eclipse), you need to have its dependencies available. There are a number of ways to accomplish this, depending on your needs and how much manual effort you'd like to expend.
*1. Build Parent Pom + Target Platform With Tycho + Maven 3*
Build the parent pom [1] + target platform [2], then build against that with maven3 (commandline) or m2eclipse (and don't use PDE anymore when building in Eclipse)
cd /tmp; \
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/build/ http://anonsvn.jboss.org/repos/jbosstools/trunk/build; \
cd /tmp/build/parent; \
mvn3 clean install
Then...
cd /tmp; \
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/tests; http://anonsvn.jboss.org/repos/jbosstools/trunk/tests; \
cd /tmp/tests; \
mvn3 clean install
(etc.)
This is how the Hudson builds run - compile the parent (which compiles the target platform), then build whatever component(s) you then want.
If you have the entire JBoss Tools tree on disk, you can also do multi-component builds even simpler using the bootstrap profiles in build/pom.xml like this:
cd /tmp; \
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/ http://anonsvn.jboss.org/repos/jbosstools/trunk; \
cd /tmp/trunk/build; mvn3 clean install -Pseam-bootstrap
For other ways to build, see http://community.jboss.org/docs/DOC-15513 http://community.jboss.org/wiki/HowtoBuildJBossToolswithMaven3
*2. Load Target Platform in Eclipse*
Attempt to get the target platform file [2] to load in Eclipse, then click 'set as target platform' in the top right corner of the editor when it's open in the Target Platform editor. This should resolve everything in the target, and install it into your Eclipse. When it works. The editor is kinda flaky.
When it completes (and it may take a significant amount of time during which your Eclipse may be unstable / unusable), you should have everything you need to develop JBoss Tools.
*3. Manual Install from Update Sites (p2 Repos)*
Read through either [1] or [2] and install - by hand - what you need from the various update sites against which we install. The sites are listed in two places [1], [2]. The target platform file lists the features/plugins you need to include when installing; the parent pom only lists the update sites. YMMV.
*4. Manually Download and Unpack Runnable Zips*
Pull down the SDKs/runtime zips [3] and dump them into your eclipse's dropins/ folder. This is the way the old "uberbuilder" works, and is deprecated, but should still work.
[1] http://anonsvn.jboss.org/repos/jbosstools/trunk/build/parent/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/build/parent/pom.xml
[2] http://anonsvn.jboss.org/repos/jbosstools/trunk/build/target-platform/e36... http://anonsvn.jboss.org/repos/jbosstools/trunk/build/target-platform/e36...
[3] http://download.jboss.org/jbosstools/requirements/helios/README.txt http://download.jboss.org/jbosstools/requirements/helios/README.txt, http://download.jboss.org/jbosstools/requirements/helios/ http://download.jboss.org/jbosstools/requirements/helios/ (GWT is missing, but the collection should otherwise be complete)
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15755]
Create a new document in JBoss Tools Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
13 years, 7 months
[JBoss Tools Development] - How to Build JBoss Tools with Maven3
by Nick Boldt
Nick Boldt [http://community.jboss.org/people/nickboldt] modified the document:
"How to Build JBoss Tools with Maven3"
To view the document, visit: http://community.jboss.org/docs/DOC-15513
--------------------------------------------------------------
Current trunk version of JBoss Tools can be built with maven 3 and make it faster and easier for everyone.
+*If you're trying to compile JBoss Tools within Eclipse for plugin development, https://community.jboss.org/wiki/JBossToolsTargetPlatformProvisioningorho... read this to get all the dependencies installed.*+
h2. Prerequisites
1. Java 1.6 SDK
2. Maven 3.beta1
3. About 6 GB of free disk space if you want to run all integration tests for (JBoss AS, Seam and Web Services Tools)
4. subversion client 1.6.X (should work with lower version as well)
h2. Environment Setup
h3. Maven and Java
Make sure your maven 3 is available by default and Java 1.6 is used.
mvn -version
should print out something like
Apache Maven 3.0-beta-2 (r983206; 2010-08-07 07:00:51-0400)
Java version: 1.6.0_18
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.32.14-127.fc12.i686" arch: "i386" Family: "unix"
h3. Sources
Checkout sources from anonymous SVN like
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk jbosstools-trunk
This will take some time dependent on your bandwidth
h2. Build Strategies
Instructions below assume that commands are executed in jbosstools-src folder, in which all sources were previously checked out, as noted above.
There are several strategies to chose from: building everything, building individual component, building a set of components, building individual plugins or features. Depending on where you run Maven, you will aggregate/cascade down into more or less child builds.
But before you can do anything more complicated, you must first build the Target Platform and Parent Pom using this step:
mvn clean install -f build/parent/pom.xml
h3. Build/Test Everything
>From the root of the checked out projects (eg., jbosstools-src folder), you can build everything in one step, including running all tests, like this:
mvn clean install
Or, if you want to just compile the modules (plugins, features, tests, update sites) without *running* tests, add the system property *-Dmaven.test.skip=true*.
mvn clean install -Dmaven.test.skip=true
h3.
h3. Build/Test A Particular Component and its Dependencies
For convenience there are bootstrap profiles projects defined for each component. This provides a simple way to build & test components along with all their dependencies.
mvn clean install -f build/pom.xml -P${component.name}-bootstrap
where ${component.name} is component you want to build/test. Check in build/pom.xml for the available components you can build this way.
Once bootstrapped, you can then rebuild just the component you care about using this:
mvn clean install -f build/pom.xml -P${component.name}
If you prefer to do things iteratively (one component at a time) you can check the order to build in http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml or http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml
h3. Build/Test Single Component or Module
If you have already bootstrapped a build by compiling all its dependencies (as in the previous section), you can now (re)build a whole component, or individual plugins/tests/features, using this:
mvn clean install -f build/pom.xml -P${component.name}
where ${component.name} is component's root folder name. For instance to build jmx component:
mvn clean install -f build/pom.xml -Pjmx
Or to build but skip *running* tests:
mvn clean install -f build/pom.xml -Pjmx -Dmaven.test.skip=true
You can also build individual plugins or collections of plugins by simply running maven in that artifact's folder:
cd ~/jbosstools-src/common/plugins; mvn clean install
cd ~/jbosstools-src/common/tests/org.jboss.tools.common.model.ui.test; mvn clean install
----
h3. Running and Debugging Tests
To debug tests, you can read the console output produced by Maven, or you can https://www.jboss.org//tools/docs/testing#remote enable remote debugging using Eclipse.
To control how Maven will behave and how much console output will be produced, here are some useful flags:
-fae :: fail at end
-fn :: fail never
-q :: quieter output
-e :: if error occurs, dump stack into console
-X :: debug output (should log to a file using
`mvn clean install -X | tee log.txt`
because output will be huge)
----
h3. Adding a Plugin To An Existing Component
Now that you can build your component, you can easily add a new plugin to that component. Here's how.
0. Make sure your new plugin compiles in your workspace. Ensure your MANIFEST.MF contains all references/includes/requirements you need. Be sure to set the correct Bundle-RequireExecutionEnvironment (eg., JDK5 or JDK6).
1. When you are satisfied, you can commit your new plugin project to SVN.
cd ~/trunk/as/plugins; \
svn add org.jboss.ide.eclipse.as.rse.core; \
svn ci -m "JBIDE-123456 Initial commit of new as.rse.core plugin" org.jboss.ide.eclipse.as.rse.core
2. Next, add a pom.xml file to the root of your new project.
You can use m2eclipse to help w/ this if you have it installed; otherwise copy from another existing plugin project and edit appropriately. The version of the pom should match the version in the manifest.mf. Note that 3.2.0.qualifier (in MANIFEST.MF) is equivalent to 3.2.0-SNAPSHOT in the pom.xml.
3. Build your plugin:
cd ~/trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core; \
mvn3 clean install
4. If your component's new plugin builds successfully, you can commit the pom.xml file, and add a reference to the new plugin (module) in the container pom:
vi ~/trunk/as/plugins/pom.xml
5. To ensure that your plugin is available on the update site, be sure that it is contained in at least one feature's feature.xml.
vi ~/trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml
6. Finally, ensure that the feature appears in all three update sites:
vi ~/trunk/as/site/site.xml # (the AS update site)
vi ~/trunk/site/site.xml # (the JBoss Tools update site) and
vi ~/trunk/build/aggregate/site/site.xml # (the JBoss Tools aggregate update site, incl. pi4soa, Teiid, ...)
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15513]
Create a new document in JBoss Tools Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
13 years, 7 months
[JBoss Tools Development] - How to Build JBoss Tools with Maven3
by Nick Boldt
Nick Boldt [http://community.jboss.org/people/nickboldt] modified the document:
"How to Build JBoss Tools with Maven3"
To view the document, visit: http://community.jboss.org/docs/DOC-15513
--------------------------------------------------------------
Current trunk version of JBoss Tools can be built with maven 3 and make it faster and easier for everyone.
+*If you're trying to compile JBoss Tools within Eclipse for plugin development, https://community.jboss.org/wiki/JBossToolsTargetPlatformProvisioningorho... read this to get all the dependencies installed.*+
h2. Prerequisites
1. Java 1.6 SDK
2. Maven 3.beta1
3. About 6 GB of free disk space if you want to run all integration tests for (JBoss AS, Seam and Web Services Tools)
4. subversion client 1.6.X (should work with lower version as well)
h2. Environment Setup
h3. Maven and Java
Make sure your maven 3 is available by default and Java 1.6 is used.
mvn -version
should print out something like
Apache Maven 3.0-beta-2 (r983206; 2010-08-07 07:00:51-0400)
Java version: 1.6.0_18
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.32.14-127.fc12.i686" arch: "i386" Family: "unix"
h3. Sources
Checkout sources from anonymous SVN like
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk jbosstools-trunk
This will take some time dependent on your bandwidth
h2. Build Strategies
Instructions below assume that commands are executed in jbosstools-src folder, in which all sources were previously checked out, as noted above.
There are several strategies to chose from: building everything, building individual component, building a set of components, building individual plugins or features. Depending on where you run Maven, you will aggregate/cascade down into more or less child builds.
But before you can do anything more complicated, you must first build the Target Platform and Parent Pom using this step:
mvn clean install -f build/parent/pom.xml
h3. Build/Test Everything
>From the root of the checked out projects (eg., jbosstools-src folder), you can build everything in one step, including running all tests, like this:
mvn clean install
Or, if you want to just compile the modules (plugins, features, tests, update sites) without *running* tests, add the system property *-Dmaven.test.skip=true*.
mvn clean install -Dmaven.test.skip=true
h3. Build/Test A Particular Component and its Dependencies
For convenience there are bootstrap profiles projects defined for each component. This provides a simple way to build & test components along with all their dependencies.
mvn clean install -f build/pom.xml -P${component.name}-bootstrap
where ${component.name} is component you want to build/test. Check in build/pom.xml for the available components you can build this way.
Once bootstrapped, you can then rebuild just the component you care about using this:
mvn clean install -f build/pom.xml -P${component.name}
If you prefer to do things iteratively (one component at a time) you can check the order to build in http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml or http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml
h3. Build/Test Single Component or Module
If you have already bootstrapped a build by compiling all its dependencies (as in the previous section), you can now (re)build a whole component, or individual plugins/tests/features, using this:
mvn clean install -f build/pom.xml -P${component.name}
where ${component.name} is component's root folder name. For instance to build jmx component use command below
mvn clean install -f build/pom.xml -Pjmx
Or to build but skip *running* tests:
mvn clean install -f build/pom.xml -Pjmx -Dmaven.test.skip=true
You can also build individual plugins or collections of plugins by simply running maven in that artifact's folder:
cd ~/jbosstools-src/common/plugins; mvn clean install
cd ~/jbosstools-src/common/tests/org.jboss.tools.common.model.ui.test; mvn clean install
----
h3. Adding a Plugin To An Existing Component
Now that you can build your component, you can easily add a new plugin to that component. Here's how.
0. Make sure your new plugin compiles in your workspace. Ensure your MANIFEST.MF contains all references/includes/requirements you need. Be sure to set the correct Bundle-RequireExecutionEnvironment (eg., JDK5 or JDK6).
1. When you are satisfied, you can commit your new plugin project to SVN.
cd ~/trunk/as/plugins; \
svn add org.jboss.ide.eclipse.as.rse.core; \
svn ci -m "JBIDE-123456 Initial commit of new as.rse.core plugin" org.jboss.ide.eclipse.as.rse.core
2. Next, add a pom.xml file to the root of your new project.
You can use m2eclipse to help w/ this if you have it installed; otherwise copy from another existing plugin project and edit appropriately. The version of the pom should match the version in the manifest.mf. Note that 3.2.0.qualifier (in MANIFEST.MF) is equivalent to 3.2.0-SNAPSHOT in the pom.xml.
3. Build your plugin:
cd ~/trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core; \
mvn3 clean install
4. If your component's new plugin builds successfully, you can commit the pom.xml file, and add a reference to the new plugin (module) in the container pom:
vi ~/trunk/as/plugins/pom.xml
5. To ensure that your plugin is available on the update site, be sure that it is contained in at least one feature's feature.xml.
vi ~/trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml
6. Finally, ensure that the feature appears in all three update sites:
vi ~/trunk/as/site/site.xml # (the AS update site)
vi ~/trunk/site/site.xml # (the JBoss Tools update site) and
vi ~/trunk/build/aggregate/site/site.xml # (the JBoss Tools aggregate update site, incl. pi4soa, Teiid, ...)
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15513]
Create a new document in JBoss Tools Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
13 years, 7 months
[JBoss Tools Development] - How to Build JBoss Tools with Maven3
by Nick Boldt
Nick Boldt [http://community.jboss.org/people/nickboldt] modified the document:
"How to Build JBoss Tools with Maven3"
To view the document, visit: http://community.jboss.org/docs/DOC-15513
--------------------------------------------------------------
Current trunk version of JBoss Tools can be built with maven 3 and make it faster and easier for everyone.
+*If you're trying to compile JBoss Tools within Eclipse for plugin development, https://community.jboss.org/wiki/JBossToolsTargetPlatformProvisioningorho... read this to get all the dependencies installed.*+
h2. Prerequisites
1. Java 1.6 SDK
2. Maven 3.beta1
3. About 6 GB of free disk space if you want to run all integration tests for (JBoss AS, Seam and Web Services Tools)
4. subversion client 1.6.X (should work with lower version as well)
h2. Environment Setup
h3. Maven and Java
Make sure your maven 3 is available by default and Java 1.6 is used.
mvn -version
should print out something like
Apache Maven 3.0-beta-2 (r983206; 2010-08-07 07:00:51-0400)
Java version: 1.6.0_18
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.32.14-127.fc12.i686" arch: "i386" Family: "unix"
h3. Sources
Checkout sources from anonymous SVN like
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk jbosstools-trunk
This will take some time dependent on your bandwidth
h2. Build Strategies
All commands below is assuming that commands are executed in jbosstools-src folder after sources checked out as it suggested above.
There are several strategies to chose from building everything to build particular component or part of it like all plug-ins, all tests, all features, particular plugin/feature.
Target platform and parent pom should be built first like
mvn clean install -f build/parent/pom.xml
If you want to just compile the modules, tests can be skipped by adding system property *-Dmaven.test.skip=true* and you should be able to faster verify compile issues.
h3. Build/Test Everything
Current version cannot be build without local changes because of problem with with drools component, so to go with this scenario you need to remove drools references from pom.xml and site/site.xml. After that to build/test everything use:
mvn clean install
h3. Build/Test Particular Component with Dependencies
For convenience there are aggregator projects defined for each component. It provides a simple way to build/test components with dependencies.
mvn clean install -f build/pom.xml -P${component.name}-bootstrap
where ${component.name} is component you want to build/test. Check in build/pom.xml for the available components you can build this way.
If you prefer to do things iteratively (one component at a time) you can check the order to build in http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/pom.xml or http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml http://anonsvn.jboss.org/repos/jbosstools/trunk/build/pom.xml
h3. Build/Test Single Component
Be aware that to get this work all dependencies for this component must be installed in maven repo. It can be done by build everything first or by build component and its dependencies using aggregated project as it explained above. You can skip tests for this build and then enable them back when you run single component build.
To build single component use pom.xml in component's folder like it is shown below.
mvn clean install -f build/pom.xml -P${component.name}-bootstrap/pom.xml
where ${component.name} is component's root folder name. For instance to build jmx component use command below
mvn clean install -f build/pom.xml -Pjmx-bootstrap/pom.xml
or, if you prefer, you can build a series of components in order (with tests skipped using *-Dmaven.test.skip=true*):
for d in tests jmx archives as; do \
pushd $d; mvn clean install -Dmaven.test.skip=true; popd; \
done
----
h3. Adding a Plugin To An Existing Component
Now that you can build your component, you can easily add a new plugin to that component. Here's how.
0. Make sure your new plugin compiles in your workspace. Ensure your MANIFEST.MF contains all references/includes/requirements you need. Be sure to set the correct Bundle-RequireExecutionEnvironment (eg., JDK5 or JDK6).
1. When you are satisfied, you can commit your new plugin project to SVN.
cd ~/trunk/as/plugins; \
svn add org.jboss.ide.eclipse.as.rse.core; \
svn ci -m "JBIDE-123456 Initial commit of new as.rse.core plugin" org.jboss.ide.eclipse.as.rse.core
2. Next, add a pom.xml file to the root of your new project.
You can use m2eclipse to help w/ this if you have it installed; otherwise copy from another existing plugin project and edit appropriately. The version of the pom should match the version in the manifest.mf. Note that 3.2.0.qualifier (in MANIFEST.MF) is equivalent to 3.2.0-SNAPSHOT in the pom.xml.
3. Build your plugin:
cd ~/trunk/as/plugins/org.jboss.ide.eclipse.as.rse.core; \
mvn3 clean install
4. If your component's new plugin builds successfully, you can commit the pom.xml file, and add a reference to the new plugin (module) in the container pom:
vi ~/trunk/as/plugins/pom.xml
5. To ensure that your plugin is available on the update site, be sure that it is contained in at least one feature's feature.xml.
vi ~/trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml
6. Finally, ensure that the feature appears in all three update sites:
vi ~/trunk/as/site/site.xml # (the AS update site)
vi ~/trunk/site/site.xml # (the JBoss Tools update site) and
vi ~/trunk/build/aggregate/site/site.xml # (the JBoss Tools aggregate update site, incl. pi4soa, Teiid, ...)
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15513]
Create a new document in JBoss Tools Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
13 years, 7 months
[JBoss AS7 Development] - Hacking on AS7
by Jason Greene
Jason Greene [http://community.jboss.org/people/jason.greene%40jboss.com] modified the document:
"Hacking on AS7"
To view the document, visit: http://community.jboss.org/docs/DOC-15596
--------------------------------------------------------------
h4. 1. Create a github account
http://github.com http://github.com
h4. 2. Fork jboss-as into your account
http://github.com/jbossas/jboss-as http://github.com/jbossas/jboss-as
h4. 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
h4. 4. Add a remote ref to upstream, for pulling future updates
git remote add upstream git://github.com/jbossas/jboss-as.git
h4. 5. Use maven (or build.sh) (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] ------------------------------------------------------------------------
h4. 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%)
h4. 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
h4. 8. Discuss your planned changes (if you want feedback)
* On the forums - http://community.jboss.org/en/jbossas/dev/jboss_as7_development http://community.jboss.org/en/jbossas/dev/jboss_as7_development
* On IRC - irc://irc.freenode.org/jboss-as7 or https://webchat.freenode.net/?channels=jboss-as7 (http://webchat.freenode.net/?channels=jboss-as7)
h4. 9. Make sure there is a JIRA somewhere for the enhancement/fix
http://jira.jboss.org http://jira.jboss.org
h4. 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
h4. 11. Get your changes merged into upstream
1. Make sure your repo is in sync with other unrelated changes in upstream before requesting your changes be merged into upstream 1. git pull upstream master
2. Email a pull request to mailto:jbossas-pull-requests@lists.jboss.org jbossas-pull-requests(a)lists.jboss.org (if I haven't subscribed the list, do it https://lists.jboss.org/mailman/listinfo/jbossas-pull-requests here) with a link to your repo, a description of the changes, and who reviewed (if any)
3. If you have other work going on, consider using a branch to isolate the pull changes from the other work (git branch mychange)
4. After review a maintainer will merge your patch, and reply
h4. Appendix A. Adding a new external dependency
1. Edit pom.xml and add a property of the form "version.groupId.artifactId" which contains the Maven version of the dependency. Add your dependency to the <dependencyManagement> section, and use the property for the version. If your new dependency has any transitive dependencies, be sure to <exclude> them (or if possible, update the project so that all its dependencies are of *provided* scope).
2. Add your dependency to any AS modules that require it, but only with group/artifact.
3. Edit build/pom.xml and add your dependency with only group/artifact.
4. Create a directory in build/src/modules corresponding to the *module's* name (which will differ from the Maven group/artifact name; look at other modules to get a feel for the naming scheme), with a version of "main", like this: "build/src/modules/org/jboss/foo/main".
5. Create a module.xml file inside the "main" directory. Use a module.xml from another similar module as a template.
6. Edit build/build.xml and add a <module-def> element. The name listed in the <module-def> element corresponds to the *module* name. The group/artifact listed in the nested maven-resource element(s) refer to the *Maven* group/artifact name.
7. *Important:* Make sure you did not introduce any transitive dependencies by using "mvn dependency:tree". If you did, be sure to add <exclusion>s for each of them to your dependency as described above.
Please be sure to preserve the alphabetical ordering of all POMs and the build.xml file.
h4. Appendix B. Adding a new AS submodule
1. Create the directory corresponding to the submodule and add it to the root pom.xml file. The convention is to leave off the "jboss-as-" portion, so "jboss-as-remoting" becomes "remoting".
2. Create a POM for your submodule (use another submodule as a template). Make sure all dependencies you specify do *not* include a version. The group ID should be "org.jboss.as", and the artifact ID should begin with "jboss-as-" and there should be a proper <name> for the new module.
3. Add the new submodule to the top section of the <dependencyManagement> of bom/pom.xml. The version should be set to "${project.version}". This section is sorted alphabetically by artifact name so please preserve that ordering.
4. Add your submodule dependency to any AS modules that require it, but only with group/artifact.
5. Edit build/pom.xml and add the new submodule with only group/artifact.
6. Create a directory in build/src/modules corresponding to the submodule, with a version of "main", like this: "build/src/modules/org/jboss/as/new-subsystem/main".
7. Create a module.xml file inside the "main" directory. Use a module.xml from another subsystem as a template.
8. Edit build/build.xml and add a <module-def> element for the subsystem. Use the module name and Maven coordinates from steps 6 and 2 respectively. Use another submodule as a template.
Please be sure to preserve the alphabetical ordering of all POMs and the build.xml file.
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15596]
Create a new document in JBoss AS7 Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&co...]
13 years, 7 months
[JBoss AS Development Deployment Framework] - JBOSS Deployment Errors
by Cass Harris
Cass Harris [http://community.jboss.org/people/d0mufasa] created the discussion
"JBOSS Deployment Errors"
To view the discussion, visit: http://community.jboss.org/message/561646#561646
--------------------------------------------------------------
Hello all,
Attempting to deploy a simple Web application but get the error below.
Can this be fixed?
TIA
2010-09-13 12:22:36,382 DEBUG [org.jboss.system.ServiceCreator] (main) Removing mbean from server: jboss.web.deployment:war=/KDC1
2010-09-13 12:22:36,382 DEBUG [org.jboss.system.ServiceController] (main) destroying service: jboss.web.deployment:war=/KDC1
2010-09-13 12:22:36,382 DEBUG [org.jboss.system.ServiceController] (main) Ignoring destroy request for service: jboss.web.deployment:war=/KDC1 at state FAILED
2010-09-13 12:22:36,382 DEBUG [org.jboss.system.ServiceController] (main) removing service: jboss.web.deployment:war=/KDC1
2010-09-13 12:22:36,382 DEBUG [org.jboss.system.deployers.ServiceDeployer] (main) Error during deploy: jboss.web.deployment:war=/KDC1
org.jboss.deployers.spi.DeploymentException: URL file:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/tmp/5c4o125-dc6ic9-ge1lpfyt-1-ge1lqhak-9n/KDC1.war/ deployment failed
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:333)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:144)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy36.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:547)
at java.lang.Thread.run(Unknown Source)
2010-09-13 12:22:36,382 DEBUG [org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext] (main) Removed component jboss.web.deployment:war=/KDC1 from vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/
2010-09-13 12:22:36,382 DEBUG [org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext] (main) Removed component jboss.jacc:id="vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/",service=jacc from vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/
2010-09-13 12:22:36,398 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Real: name=vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/ state=PreReal mode=Manual requiredState=Real
org.jboss.deployers.spi.DeploymentException: URL file:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/tmp/5c4o125-dc6ic9-ge1lpfyt-1-ge1lqhak-9n/KDC1.war/ deployment failed
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:333)
at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:144)
at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)
at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
at org.jboss.web.deployers.WebModule.start(WebModule.java:97)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
at $Proxy36.start(Unknown Source)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
at org.jboss.system.ServiceController.start(ServiceController.java:460)
at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:698)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:304)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:205)
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:405)
at org.jboss.Main.boot(Main.java:209)
at org.jboss.Main$1.run(Main.java:547)
at java.lang.Thread.run(Unknown Source)
2010-09-13 12:22:36,461 DEBUG [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (main) mailto:ClassLoaderDomain@f687a3{vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/ ClassLoaderDomain@f687a3{vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/} unregisterClassLoader mailto:BaseClassLoader@142f772{vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/ BaseClassLoader@142f772{vfszip:/C:/DEVELOP/SOFTWARE/JBOSS_5_0_1_GA/INSTALL/openlogic-jboss-5.0.1.GA-all-bin-1/jboss-5.0.1.GA/server/default/deploy/KDC1.war/}
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/561646#561646]
Start a new discussion in JBoss AS Development Deployment Framework at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 7 months
[JBoss ESB Development] - Is this the way to make a SOAP client, extract params and response ?
by Igor JStarter
Igor JStarter [http://community.jboss.org/people/izgur] created the discussion
"Is this the way to make a SOAP client, extract params and response ?"
To view the discussion, visit: http://community.jboss.org/message/562139#562139
--------------------------------------------------------------
I'm just trying to understand how to write a SOAP client. If you can: PLEASE REPLY
Up to know, i think thats the way:
1. jboss-esb.xml with actions:request-mapper, response-mapper and a soap-wise-client-action
<actions mep="OneWay">
<action name="request-mapper" class="org.jboss.soa.esb.test_SOAPClient.testMyRequestAction">
</action>
<action name="soap-wise-client-action" class="org.jboss.soa.esb.actions.soap.wise.SOAPClient">
<property name="wsdl" value="http://172.18.112.81:8080/tst?WSDL" />
<property name="SOAPAction" value="retrieveCdrs"/>
<property name="EndPointName" value="CdrManagerWSImplPort"/>
<property name="SmooksRequestMapper" value="smooks-request-config.xml"/>
<property name="SmooksResponseMapper" value="smooks-response-config.xml"/>
</action>
<action name="response-mapper" class="org.jboss.soa.esb.test_SOAPClient.testResponseAction">
</action>
</actions>
2. define SmooksRequestMapper and SmooksResponseMapper XMLs
<resource-config selector="org.jboss.soa.esb.SOAPClient.ExternalObject">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">complexObject</param>
<param name="beanClass">org.jboss.soa.esb.testSOAPClient.generated.ComplexObject</param>
<param name="bindings">
<binding property="stringField" selector="internal text" />
<binding property="stringField" selector="internal text" />
<binding property="stringField" selector="internal text" />
<binding property="stringField" selector="internal text" />
<binding property="stringField" selector="internal text" />
<binding property="integerField" type="Integer" selector="internal number" />
</param>
</resource-config>
3. define InternalObject.class and ExternalObject.class
public class InternalObject implements Serializable { /** * */ private static final long serialVersionUID = -8341272228911883415L; private String text; private Integer number; public String getText() {return text;} public void setText(String text) {this.text = text;} public Integer getNumber() {return number;} public void setNumber(Integer number) {this.number = number;} }
InternalObject should have the same parameters as the ws request.
ExternalObject should have the same parameters as the ws response.
SmooksRequestMapper and SmooksResponseMapper XMLs must have bindings like the request/response parameters ...
What's up with the ComplexObject?
4. Write a test client with the void sendMessage
ServiceInvoker deliveryAdapter = new ServiceInvoker( "TESTServiceCategory", "TEST_SOAPClient"); // Create and populate the request message... Message requestMessage = MessageFactory.getInstance().getMessage( MessageType.JBOSS_XML); ExternalObject external = new ExternalObject(); InternalObject internal = new InternalObject(); internal.setNumber(new Integer(1)); internal.setText(message); external.setInternal(internal); String dateString = "2007-03-07T04:27:00"; Date date = (new SimpleDateFormat(DEFAULT_DATE_FORMAT)) .parse(dateString); external.setDate(date); requestMessage.getBody().add(external); // Deliver the request message synchronously - timeout after 20 // seconds... deliveryAdapter.deliverAsync(requestMessage);
I
s this everythink what i need to do to call an external ws ?
Can somebody explain
Thanks in advance!
BR, Igor!
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/562139#562139]
Start a new discussion in JBoss ESB Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
13 years, 7 months