This document attempts to pull together everything we know about the SwitchYard Tooling Development process and the Build process that goes with it.
Tooling Development Process
Basically the development process for the SwitchYard Tooling is the same as is followed by the Runtime team. You can see that here: https://developer.jboss.org/wiki/DevelopmentOnSwitchYard
We differ in two areas:
Setting up your workspace
2. Fork jboss-switchyard/tools (jboss-switchyard/tools · GitHub)
3. Clone your newly forced copy into your local workspace
$ git clone git@github.com:[your user]/tools.git
4. Add a remote remote ref to upstream for pulling future updates
$ cd ../tools git remote add upstream git://github.com/jboss-switchyard/tools.git
Contributing a change
Same except that we don't use FindBugs with tooling builds.
Tooling Build Process
We have a Hudson/Jenkins build - SwitchYard-Tools [Jenkins] which has a link at the end to SwitchYard-Tools-publish, which can also be called separately.
To do a build, log into Jenkins and go to the SwitchYard-Tools job.
- Click "Build with Parameters"
- Specify a BUILD_ALIAS (CI is the default, but can be something like CR1, M2, etc.)
- Specify the BUILD_TYPE (Continuous Integration is the default, but use Development Milestone for CR/M builds and Stable for Final builds)
- Kick off the build
To kick off a standalone publish of a successful build, go to the SwitchYard-Tools-publish job.
- Click "Build with Parameters"
- Specify the BUILD_TYPE (integration is the default, but can change to development or stable just like with builds)
- Update the TARGET_FOLDER (to something useful like 2.0.0.Beta1 or 2.0.0.CR1 or 2.0.0.Final)
- Kick off the build
Updating Release Versions
When updating to another version in the tooling - for instance when moving from 2.0.0.Beta1 to 2.0.0.Final - you can follow these steps:
1) org.switchyard.tools.ui.wizards.NewSwitchYardProjectWizard - update DEFAULT_RUNTIME_VERSION to the new version
2) follow the steps here - https://developer.jboss.org/wiki/SwitchYardEclipseToolingVersioningProcess
3) org.switchyard.tools.ui.tests/test-data/validation directory - update these files
- add_dependency_pom.xml (update switchyard.version)
- create_service_pom.xml (update switchyard.version)
Adding a Temporary Maven Repository to Test Runtime Builds
When the runtime team is about to release a new version of the SwitchYard runtime, they will often provide a staging repository against which to test the tooling. To test against this temporary repository:
1. Update Maven settings.xml file
a) Add new repository in the repositories list for a profile you have enabled.
... <repositories> ... <repository> <id>temporary-repo</id> <name>Temporary Repo</name> <url>[temporary repo URL in Nexus]</url> </repository> ... </repositories>
b) Add the same repository to the pluginRepositories list.
... <pluginRepositories> ... <pluginRepository> <id>temporary-repo</id> <name>Temporary Repo</name> <url>[temporary repo URL in Nexus]</url> </pluginRepository> ... </pluginRepositories>
2) Add the same entries to the settings.xml files in tools/eclipse/tests/org.switchyard.tools.m2e.tests and tools/eclipse/tests/org.switchyard.tools.ui.tests
Comments