Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

reworked the documentation

  • Loading branch information...
commit ec9856d23dad84c84d60950e8f19be59c68fb0fc 1 parent 2a540b4
@lhein lhein authored
Showing with 161 additions and 173 deletions.
  1. +85 −0 Build.md
  2. +59 −9 Contributing.md
  3. +17 −164 ReadMe.md
View
85 Build.md
@@ -0,0 +1,85 @@
+# Build Guide
+This document describes how to get and build the sources. It also covers how to setup the Eclipse workspace to run _JBoss Fuse Tooling_ from inside a vanilla Eclipse.
+
+## Get the code
+The easiest way to get started with the code is to [create your own fork](http://help.github.com/forking/) at github, and then clone your fork:
+
+ $ git clone git@github.com:<you>/fuseide.git
+ $ cd fuseide
+ $ git remote add upstream git://github.com/fusesource/fuseide.git
+
+At any time, you can pull changes from the upstream and merge them onto your master:
+
+ $ git checkout master # switches to the 'master' branch
+ $ git pull upstream master # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch
+ $ git push origin # pushes all the updates to your fork, which should be in-sync with 'upstream'
+
+The general idea is to keep your 'master' branch in-sync with the 'upstream/master'.
+
+## Building JBoss Fuse Tooling
+To build _JBoss Fuse Tooling_ requires specific versions of Java (1.6+) and +Maven (3.0+).
+
+This command will run the build:
+
+ $ mvn clean package
+
+If you just want to check if things compiles/builds you can run:
+
+ $ mvn clean package -Dmaven.test.skip=true
+
+## Eclipse Setup
+At _master_ branch we always try to use the latest Eclipse version. Please refer to the target platform plugin to see which versions of Eclipse are supported. The _master_ branch was using *Eclipse Luna* when this document was created.
+
+Now its time to open your Eclipse if you haven't done so.
+
+Here's how to setup Eclipse...
+
+- create a new workspace for working on _JBoss Fuse Tooling_
+- import the project into Eclipse from directory "fuseide" (_Import... -> General -> Existing Project_)
+- open the target platform module called "org.fusesource.ide.targetplatform"
+- open *jbtis_4.1_dev.target* for Kepler _OR_ open *jbtis_4.2_dev.target* for Luna
+- wait until all is resolved (see progress in the bottom right) and then click the "Set as Target Platform" link in the top right
+
+Now your Eclipse has set the target platform you need for running _JBoss Fuse Tooling_. A rebuild of all imported projects is done directly after setting the target platform. Make sure there are no more errors displayed in any of the projects.
+
+### Access Restriction errors
+To get rid of the access restriction warnings open menu
+
+ Eclipse -> Preferences -> Java -> Compiler / Errors/Warnings -> Deprecated and restricted API
+
+then turn Forbidden reference (access rules) to "Warning" (it was "Error").
+
+## Running JBoss Fuse Tooling
+Before trying to run the Fuse Tooling you should have built the project, imported it successfully into Eclipse and also set the correct target platform (_see the steps above_).
+
+To run open the Run Configurations dialog and select one of the following *Eclipse Applications*:
+
+ JBTIS Kepler Linux.launch # Eclipse Kepler based
+ JBTIS Luna Linux.launch # Eclipse Luna based
+
+It may be possible that you have to adapt the launch configuration to fit your environment. If your OS doesn't have a launch configuration yet just create one by copying one of the Linux configurations and then inside the _Plugins_ tab make sure to hit the _Add required_ button. That should fix most of the problems.
+
+
+## Where stuff gets downloaded in Tycho builds
+Tycho downloads all needed plugins into the folder
+
+ <user.home>/.m2/repository/p2
+
+If you kill a Tycho build you can sometimes end up with corrupted downloads leading to failed builds.
+The usual exception you will see then is something like this...
+
+ java.util.zip.ZipException: error in opening zip file
+ at java.util.zip.ZipFile.open(Native Method)
+ at java.util.zip.ZipFile.<init>(ZipFile.java:114)
+ at org.codehaus.tycho.osgitools.DefaultBundleReader.doLoadManifest(DefaultBundleReader.java:85)
+ at org.codehaus.tycho.osgitools.DefaultBundleReader.loadManifest(DefaultBundleReader.java:47)
+ at org.codehaus.tycho.osgitools.EquinoxResolver.loadManifest(EquinoxResolver.java:199)
+ at org.codehaus.tycho.osgitools.EquinoxResolver.addBundle(EquinoxResolver.java:175)
+ at org.codehaus.tycho.osgitools.EquinoxResolver.newState(EquinoxResolver.java:157)
+ at org.codehaus.tycho.osgitools.EquinoxResolver.newResolvedState(EquinoxResolver.java:52)
+
+The quick fix is to trash your folder:
+
+ ~/.m2/repository/p2
+
+Be careful deleting that folder as with the next build it will download lots of plugins from the internet again.
View
68 Contributing.md
@@ -1,10 +1,7 @@
# Contribution Guide
-
Please make sure you read and understand this document before starting development on Fuse Tooling as it helps us to merge your pull requests faster and keeps the commit history clean.
-
## Get the code
-
The easiest way to get started with the code is to [create your own fork](http://help.github.com/forking/) at github, and then clone your fork:
$ git clone git@github.com:<you>/fuseide.git
@@ -19,9 +16,7 @@ At any time, you can pull changes from the upstream and merge them onto your mas
The general idea is to keep your 'master' branch in-sync with the 'upstream/master'.
-
## Building JBoss Fuse Tooling
-
To build _JBoss Fuse Tooling_ requires specific versions of Java (1.6+) and +Maven (3.0+). See this [link](https://github.com/fusesource/fuseide/blob/master/ReadMe.md) for more information on how to setup, run and configure build.
This command will run the build:
@@ -34,12 +29,10 @@ If you just want to check if things compiles/builds you can run:
But *do not* push changes without having the new and existing unit tests pass!
-
## Contribute fixes and features
-
_JBoss Fuse Tooling_ is open source, and we welcome anybody who wants to participate and contribute!
-If you want to fix a bug or make any changes, please log an issue in the [JBoss Fuse Tooling JIRA](https://issues.jboss.org/browse/FUSETOOLS) describing the bug or new feature and give it a fitting component type. Then we highly recommend making the changes on a topic branch named with the JIRA issue number. For example, this command creates a branch for the FUSETOOLS-1234 issue:
+If you want to fix a bug or make any changes, please log an issue in the [JBoss Fuse Tooling JIRA](https://issues.jboss.org/browse/FUSETOOLS) describing the bug or new feature and give it a fitting component type. Then we highly recommend making the changes on a topic branch named with the JIRA issue number. For example, this command creates a branch for the _FUSETOOLS-1234_ issue:
$ git checkout -b fusetools-1234
@@ -48,7 +41,7 @@ After you're happy with your changes and a full build (with unit tests) runs suc
$ git checkout master # switches to the 'master' branch
$ git pull upstream master # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch
$ git checkout fusetools-1234 # switches to your topic branch
- $ git rebase master # reapplies your changes on top of the latest in master
+ $ git rebase upstream master # reapplies your changes on top of the latest in master
(i.e., the latest from master will be the new base for your changes)
If the pull grabbed a lot of changes, you should rerun your build with tests enabled to make sure your changes are still good.
@@ -58,3 +51,60 @@ You can then push your topic branch and its changes into your public fork reposi
$ git push origin fusetools-1234 # pushes your topic branch into your public fork of JBoss Fuse Tooling
And then [generate a pull-request](http://help.github.com/pull-requests/) where we can review the proposed changes, comment on them, discuss them with you, and if everything is good merge the changes right into the official repository.
+
+## Testing the Update Site
+If you introduced new dependencies or changed versions it is always a good idea to check if the update site still contains everything needed to install successfully. To test the update site contents here's what to do:
+
+ - download and install a plain vanilla Eclipse Kepler, Luna or whatever version used currently
+ - run this vanilla Eclipse
+ - in Eclipse choose _Install new software_, then _Add_ to add a new update site
+ - choose _Local_ in the following dialog and set the location to file://<your path to fuseide>/site/target/repository
+ - close the dialog with _OK_ and then select the new added update site from the drop down box
+ - then in the tree below check all the _JBoss Fuse Tooling_ entries
+ - hit _Next_ to install the software
+ - if all is fine it should install without errors, otherwise it will point you to the problem when you examine the details
+
+## Code generation
+_IMPORTANT:_
+
+ This step is only required if the Apache Camel model, the documentation or used archetypes and xml catalogs changed!
+ Usually thats the case if the underlying Apache Camel version changed.
+
+### How to generate model classes
+From the _fuseide_ directory type:
+
+ cd tools/ide-codegen
+ mvn compile exec:java
+
+The generator then runs and updates the sources. Don't forget to commit and push the regenerated source files.
+
+### How to generate archetypes and latest XSDs
+From the _fuseide_ directory type:
+
+ cd tools/ide-buildtools
+ mvn compile exec:java
+
+Be sure to have the file
+
+ <userhome>/.repo.fusesource.com.properties
+
+which should contain the credentials for the FuseSource Nexus EA repository like
+
+ username=<your login>
+ password=<your password>
+
+Without this file the build will not work!
+
+
+## Changing versions before / after a release
+There is a bash script called [_changeVersion.sh_](https://github.com/fusesource/fuseide/blob/master/changeVersion.sh "Version Change Script") in the root folder of the project. You can use that for changing the bundle and maven versions in an easy way.
+
+*Invocation:*
+
+ ./changeVersion.sh <oldVersion> <newVersion>
+
+
+_Example:_
+
+ ./changeVersion.sh 7.3.0-SNAPSHOT 7.3.0
+
View
181 ReadMe.md
@@ -1,173 +1,26 @@
-JBoss Fuse Tooling for Eclipse
-================
+# JBoss Fuse Tooling for Eclipse
+Please visit our [project site](http://tools.jboss.org/features/apachecamel.html JBoss Fuse Tooling Website) to learn more about _JBoss Fuse Tooling_.
-This repository holds the tooling for Eclipse which was formerly known as Fuse IDE. It lets you work with Camel Routes, Fabric and other Fuse Runtimes.
-For further information see the following site: http://fusesource.com/products/fuse-ide/
+## Summary
+JBoss Fuse Tooling contains a set of plugins / features for Eclipse which allows you to create [Apache Camel](http://camel.apache.org Apache Camel Website) routes in a graphical editor, launch them locally and deploy them to runtimes like [Apache Karaf](http://karaf.apache.org Apache Karaf Website), [Apache ServiceMix](http://servicemix.apache.org Apache ServiceMix Website), [Fabric8](http://fabric8.io Fabric8 Website) and [JBoss Fuse](http://www.jboss.org/products/fuse/overview/ JBoss Fuse Website).
-Community
-================
+## Community
+JBoss Fuse Tooling is open source and we like to encourage everybody to try it and get involved into the future development of the project. For more information see the *Contributing* section below.
-IRC
-----------------
-Join channel "#fusetools" at FreeNode
+### Issues
+If you want to report bugs or request new features please raise a ticket our [JIRA](http://fusesource.com/issues/browse/FUSETOOLS JBoss Fuse Tooling Jira). If you want to start contributing to the project its a good place to look for possible work.
-Issues
-----------------
-http://fusesource.com/issues/browse/FUSETOOLS
+### Forums
+Get in touch with developers and users of JBoss Fuse Tooling in our [forums](https://community.jboss.org/en/jbossfuse JBoss Fuse Community Forums). Thats the place to ask questions or help other users.
-Forums
-----------------
-https://community.jboss.org/en/jbossfuse
+### IRC
+If you want to get in touch with the developers and other users you can join our IRC channel *#fusetools* on FreeNode IRC Server.
-Mailing lists
-----------------
-coming soon
+### Mailing lists
+_coming soon_
+## Building
+If you want to know how to build the project and setup an Eclipse workspace for development please read the [build guide](https://github.com/fusesource/fuseide/blob/master/Build.md "Build Guide").
-
-Build Notes
-================
-
-Your first clone
-----------------
-Once you have cloned this repo via
-
- git clone git@github.com:fusesource/fuseide.git
-
-you can now try building it...
-
- cd fuseide
- mvn clean install -Dmaven.test.skip=true
-
-Tycho downloads all the eclipse/p2 stuff to: ~/.m2/repository/p2/
-
-Then to open in Eclipse. Before you start make sure you are on Kepler or later Eclipse.
-
-Here's how to setup eclipse...
-
-* create a new workspace for working on Fuse Tooling
-* import the project into Eclipse from directory "fuseide" (Import... -> General -> Existing Project)
-* open the module Target Platform: org.fusesource.ide.targetplatform/
-* open jbtis_4.1_dev.target for Kepler
-* OR
-* open jbtis_4.2_dev.target for Luna
-* wait until all is resolved and then click the "Set as Target Platform" link in the top right
-
-
-To remove Access Restriction errors
------------------------------------
-To get rid of the final Access restriction warnings
-
- Eclipse -> Preferences -> Java -> Compiler / Errors/Warnings -> Deprecated and restricted API
-
-then turn Forbidden reference (access rules) to "Warning" from "Error"
-
-
-Running Fuse Tooling
-----------------
-
-Before trying to run the Fuse Tooling you should have built the project (see above) and also imported it sucessfully into Eclipse (see above).
-In Eclipse, select all your resources and refresh (F5).
-
-To run open the Run Configurations dialog and select one of the following "Eclipse Applications":
-
- Kepler: JBTIS Kepler Linux.launch
- Luna: JBTIS Luna Linux.launch
-
-It may be possible that you have to adapt the launch configuration to fit your environment using the Run toolbar submenu item. If your OS doesn't have a launch configuration already just create one by copying one of the Linux configurations and then inside the plugins tab make sure to hit the "Add required" button. That should fix most of the issues.
-
-
-Testing the Update Site
-----------------
-
-To test the update site contents has everything you need here's what to do:
-
-* download and install a plain vanilla Eclipse Kepler or Luna
-* run this vanilla Eclipse
-* in Eclipse choose "Install new software", then "Add" to add a new update site
-* choose "Local" in the following dialog and set the location to file://<your path to fuseide>/site/target/repository
-* Close the dialog with OK and then select the new added update site from the drop down box
-* Then in the tree below check all the "JBoss Fuse Tooling" entries
-* hit Next to install the software
-* if all is fine it should install without errors, otherwise it will point you to the problem when you examine the details
-
-
-Where stuff gets downloaded in Tycho builds
-----------------
-
-If you kill a Tycho build you can sometimes get corrupted downloads leading to failed builds next time you try.
-
-Usually with a Zip exception like this...
-
- java.util.zip.ZipException: error in opening zip file
- at java.util.zip.ZipFile.open(Native Method)
- at java.util.zip.ZipFile.<init>(ZipFile.java:114)
- at org.codehaus.tycho.osgitools.DefaultBundleReader.doLoadManifest(DefaultBundleReader.java:85)
- at org.codehaus.tycho.osgitools.DefaultBundleReader.loadManifest(DefaultBundleReader.java:47)
- at org.codehaus.tycho.osgitools.EquinoxResolver.loadManifest(EquinoxResolver.java:199)
- at org.codehaus.tycho.osgitools.EquinoxResolver.addBundle(EquinoxResolver.java:175)
- at org.codehaus.tycho.osgitools.EquinoxResolver.newState(EquinoxResolver.java:157)
- at org.codehaus.tycho.osgitools.EquinoxResolver.newResolvedState(EquinoxResolver.java:52)
-
-The quick fix is to trash your folder:
-
- ~/.m2/repository/p2
-
-Be careful deleting that folder as with the next build it will download lots of bundles from the internet.
-
-
-Code Generation (NO NEED FOR THIS STEP UNLESS CAMEL VERSION USED BY FUSE TOOLING CHANGED)
-----------------
-
-NOTE this step is only required to be done if the Camel model changes or the documentation changes!
-The generated files are checked into git - so if you have a git clone you can miss this out!
-
-This step is only required if you upgrade the version of Camel, change the code generation scripts or update the model metadata.
-
-From the fuseide directory type:
-
- cd tools/ide-codegen
- mvn compile exec:java
-
-The generator then runs and updates the sources. Don't forget to push the regenerated source files.
-
-
-Regenerating the archetypes and downloading the latest XSDs
-----------------
-
-To download the latest archetypes and XSDs, from the fuseide directory type:
-
- cd tools/ide-buildtools
- mvn compile exec:java
-
-Be sure to have the file
-
- <userhome>/.repo.fusesource.com.properties
-
-which should contain the credentials for the FuseSource Nexus EA repository like
- username=<your login>
- password=<your password>
-
-Without this file the build will not work!
-
-
-Changing versions before / after a release
-----------------
-
-There is a bash script called "changeVersion.sh" in the root folder of the project you can use for changing the bundle and maven versions in an easy way.
-
-Invocation:
-
- ./changeVersion.sh <oldVersion> <newVersion>
-
-
-Example:
-
- ./changeVersion.sh 7.3.0-SNAPSHOT 7.3.0
-
-
-Contributing
-================
-
+## Contributing
If you want to contribute to Fuse Tooling make sure you read the [contribution guide](https://github.com/fusesource/fuseide/blob/master/Contributing.md "Contribution Guide").
-
Please sign in to comment.
Something went wrong with that request. Please try again.