mNo edit summary |
|||
(67 intermediate revisions by 3 users not shown) | |||
Line 16: | Line 16: | ||
=== | ===Current Structure of eclipse-jbosstools that build for Fedora=== | ||
* '''eclipse-jbosstools''' | * '''eclipse-jbosstools''' | ||
** eclipse-jbosstools-'''parent''' | ** eclipse-jbosstools-'''parent''' | ||
*** builds parent pom and target-platform pom (maybe these should be separated, parent builds target-platform anyway I think, even if it exists). | *** builds parent pom and target-platform pom (maybe these should be separated, parent builds target-platform anyway I think, even if it exists). | ||
*** not sure if this is necessary, it may not apply as a package. Parent and target platform need to be built for all plugins, so I figure this might be the way to do it. | *** not sure if this is necessary, it may not apply as a package. Parent and target platform need to be built for all plugins, so I figure this might be the way to do it. | ||
** eclipse-jbosstools-'''common''' | ** eclipse-jbosstools-'''common''' | ||
** eclipse-jbosstools-'''usage''' | ** eclipse-jbosstools-'''usage''' | ||
** eclipse-jbosstools-'''archives''' | ** eclipse-jbosstools-'''archives''' | ||
*** needs | *** needs -usage | ||
** eclipse-jbosstools-'''jmx''' | ** eclipse-jbosstools-'''jmx''' | ||
*** needs | *** needs -common, -usage | ||
** eclipse-jbosstools-'''as''' | ** eclipse-jbosstools-'''as''' | ||
*** needs jbosstools-common, jbosstools- | *** needs -common, -archives, -jmx | ||
** eclipse-jbosstools-'''ws''' | |||
*** needs -common, -usage, -as | |||
** eclipse-jbosstools-'''cdi''' | |||
*** needs -common, -usage, -jst | |||
** eclipse-jbosstools-'''freemarker''' | |||
*** needs -usage | |||
** eclipse-jbosstools-'''deltacloud''' | |||
*** needs -usage, -as | |||
===Unpackaged dependencies=== | ===Unpackaged dependencies=== | ||
Feel free to package any of these, just let me know you're doing it (grdryn on #fedora-java)! :) | |||
<br /> | <br /> | ||
* [https://bitbucket.org/atlassian/connector-eclipse connector-eclipse] | * [https://bitbucket.org/atlassian/connector-eclipse connector-eclipse] | ||
** needed by org.jboss.tools.common.mylyn (currently patched out) | ** needed by '''org.jboss.tools.common.mylyn''' (currently patched out) | ||
<br /> | <br /> | ||
* [ | * [https://developers.google.com/eclipse/ Google plugin for eclipse] | ||
** needed by eclipse-jbosstools- | ** needed by '''eclipse-jbosstools-gwt''' (not currently being built) | ||
== Current progress == | == Current progress == | ||
Line 78: | Line 75: | ||
|[[User:Galileo|galileo(grdryn)]] | |[[User:Galileo|galileo(grdryn)]] | ||
|'''<span style="color:green">In Rawhide</span>''' | |'''<span style="color:green">In Rawhide</span>''' | ||
| | | | ||
|- | |- | ||
Line 88: | Line 84: | ||
|'''<span style="color:darkviolet">Skipped</span>''' | |'''<span style="color:darkviolet">Skipped</span>''' | ||
|Activation framwework is included in JDK 6+ Most probably you don't need this package, at all. | |Activation framwework is included in JDK 6+ Most probably you don't need this package, at all. | ||
|- | |- | ||
|4 | |4 | ||
Line 96: | Line 91: | ||
|[[User:Galileo|galileo(grdryn)]] | |[[User:Galileo|galileo(grdryn)]] | ||
|'''<span style="color:green">In Rawhide</span>''' | |'''<span style="color:green">In Rawhide</span>''' | ||
|Depends on {{bz|826014}}, {{bz|826327}}, {{bz|826776}} | |Depends on <s>{{bz|826014}}</s>, <s>{{bz|826327}}</s>, <s>{{bz|826776}}</s> | ||
|- | |- | ||
|5 | |5 | ||
Line 104: | Line 98: | ||
|{{bz|833154}} | |{{bz|833154}} | ||
|[[User:Galileo|galileo(grdryn)]] | |[[User:Galileo|galileo(grdryn)]] | ||
|'''<span style="color: | |'''<span style="color:green">In Rawhide</span>''' | ||
| | | Depends on <s>{{bz|834944}}</s> and <s>{{bz|834956}}</s> | ||
|- | |- | ||
|6 | |6 | ||
Line 111: | Line 105: | ||
|3.4.0 | |3.4.0 | ||
|{{bz|833641}} | |{{bz|833641}} | ||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
|Depends on <s>{{bz|833154}}</s> | |||
|- | |||
|7 | |||
|eclipse-wtp-jst-web | |||
|3.4.0 | |||
|{{bz|835338}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
|Depends on <s>{{bz|833154}}</s> | |||
|- | |||
|8 | |||
|jboss-common-logging-spi | |||
|2.1.2 | |||
|{{bz|835716}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:darkviolet">Skipped</span>''' | |||
|This package was removed from review request queue as it shouldn't be packaged and jboss-logging RPM should be used instead | |||
|- | |||
|9 | |||
|jboss-classpool-scoped | |||
|1.0.1 | |||
|{{bz|836400}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|10 | |||
|jboss-reflect | |||
|2.0.2.GA | |||
|{{bz|836404}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
|Bundles a forked objectweb-asm, will not build with Fedora packaged objectweb-asm | |||
|- | |||
|11 | |||
|jbossxb | |||
|2.0.3 | |||
|{{bz|836403}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
|Depends on <s>{{bz|836400}}</s>, <s>{{bz|836404}}</s> | |||
|- | |||
|12 | |||
|schlichtherle-oss-parent | |||
|2.0.3 | |||
|{{bz|836849}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|13 | |||
|truezip | |||
|2.0.3 | |||
|{{bz|836850}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| Depends on <s>{{bz|836849}}</s> and <s>{{bz|836698}}</s> | |||
|- | |||
|14 | |||
|port-allocator-maven-plugin | |||
|1.2 | |||
|{{bz|838722}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| Needed for maven-indexer, which is needed for m2eclipse | |||
|- | |||
|15 | |||
|maven-indexer | |||
|4.1.2 | |||
|{{bz|838756}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| Depends on <s>{{bz|836850}}</s> and <s>{{bz|838722}}</s> | |||
|- | |||
|16 | |||
|maven-wagon-ahc | |||
|1.2.1 | |||
|{{bz|839117}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
|needed for m2eclipse | |||
|- | |||
|16 | |||
|eclipse-wtp-jsf | |||
|3.4.0 | |||
|{{bz|842032}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|17 | |||
|deltacloud-client-java | |||
|0.2.0 | |||
|{{bz|842197}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:darkviolet">Skipped</span>''' | |||
|Javadocs currently fail. Package no longer required (eclipse-jbosstools-deltacloud will not be built). | |||
|- | |||
|18 | |||
|jhighlight | |||
|1.0 | |||
|{{bz|842481}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|19 | |||
|eclipse-jbosstools | |||
|3.3.1 | |||
|{{bz|837726}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|20 | |||
|eclipse-m2e-core | |||
|1.1.0 | |||
|{{bz|847160}} | |||
|[[User:Galileo|galileo(grdryn)]] | |||
|'''<span style="color:gray">Waiting for review</span>''' | |||
| | |||
|- | |||
|21 | |||
|eclipse-swtbot | |||
|2.0.5 | |||
|{{bz|845379}} | |||
|[[User:Akurtakov|akurtakov]] | |||
|'''<span style="color:green">In Rawhide</span>''' | |||
| | |||
|- | |||
|22 | |||
|openshift-java-client | |||
|2.0.3 | |||
|{{bz|902017}} | |||
|[[User:Galileo|galileo(grdryn)]] | |[[User:Galileo|galileo(grdryn)]] | ||
|'''<span style="color:gray">Waiting for review</span>''' | |'''<span style="color:gray">Waiting for review</span>''' | ||
| | | | ||
|} | |} | ||
Line 143: | Line 273: | ||
|} | |} | ||
==Proposed Desktop Customizations== | |||
We want to put the developer in the driver's seat to start coding as soon as they load up the Spin, rather than spending time tweaking the environment to be "just right". In particular, I've suggested keybinding overrides that create a consistent experience, which is a critical to productivity. In doing so, we will also be effectively recommending a configuration that we believe is productive. We just need to agree :) | |||
The customizations are a combination of pre-installed packages, desktop settings, keybindings, resources and branding. | |||
Here are some ideas of what we might put in the kickstart file or /etc/skel (whichever applies): | |||
* Installed packages | |||
** java-1.7.0-openjdk-devel | |||
** eclipse, eclipse-wtp (when ready), eclipse-jboss-tools (when ready) | |||
** jboss-as | |||
** maven | |||
** groovy | |||
** ant | |||
** scala | |||
** clojure | |||
** thermostat | |||
** mysql-connector-java, h2 | |||
** vim-enhanced | |||
** git, gitg | |||
** gedit-plugins | |||
** pidgin | |||
** asciidoc | |||
* Custom JBoss-related desktop background (perhaps [http://www.jboss.org/coolstuff/desktopwallpapers/jbossas7 JBoss AS 7] or [http://www.jboss.org/coolstuff/desktopwallpapers/jbosstools JBoss Tools]) | |||
* Custom start page in Firefox, which adds or replaces feeds from [http://planet.jboss.org/feed/all Planet JBoss] and [http://planet.jboss.org/feed/weeklyeditorial JBoss Weekly]. See this [mockup http://imagebin.org/219576] (the entries can be retrieved using JavaScript w/ jQuery + jGFeed + jsRender) | |||
* Bookmarks for key Java / JBoss resources, such as http://jboss.org/jdf, http://jboss.org/developer, Java EE 6 JavaDoc | |||
* Set JAVA_HOME (we could do this in .bash_profile, though I'm not sure why it isn't setup by default in Fedora) | |||
* [https://github.com/matthewmccullough/dotfiles/blob/master/bash_gitprompt bash git prompt] | |||
* [https://community.jboss.org/wiki/MavenGettingStarted-Users Maven settings for JBoss Community Nexus repository], named ~/.m2/settings-jboss-public.xml | |||
* [https://github.com/jboss/ide-config/tree/master/eclipse JBoss Community formatting profile loaded as default in Eclipse] | |||
* Recommended Eclipse settings | |||
** Preferences > General > Workspace > [x] Refresh using native hooks or polling (enable) | |||
** Preferences > Maven > [ ] Download repository index updates on startup (disable) | |||
** Preferences > Maven > Annotation Processing > (*) Automatically configure JDT APT (enable) | |||
** default folder for Team git integration | |||
* Consistent keybindings | |||
** Gnome Terminal: <CTRL-t> = new tab, <SHIFT-right> = next tab, <SHIFT-left> = previous tab, <SHIFT-CTRL-right = move tab right, <SHIFT-CTRL-left> = move tab left, <CTRL-w> = close tab, <CTRL-q> = quit, <CTRL-=> = increase font size, <CTRL--> = decrease font size, <CTRL-0> = normal font size | |||
** Eclipse: <SHIFT-right> = next tab, <SHIFT-left> = previous tab | |||
** Gedit: <CTRL-t> = new tab | |||
** Gnome: make Capslock and additional control (gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']") | |||
* General desktop settings | |||
** disable attached modal dialogs (gsettings set org.gnome.shell.overrides attach-modal-dialogs false) | |||
** tab size and expand spaces in Gedit (gsettings set org.gnome.gedit.preferences.editor insert-spaces true && gsettings set org.gnome.gedit.preferences.editor tabs-size 4) | |||
* Configure devilspie to maximize terminal when opened | |||
* [https://apps.fedoraproject.org/packages/gnome-shell-extension-gpaste GPaste and GPaste gnome shell extension] (package gnome-shell-extension-gpaste) (clipboard manager for Gnome) | |||
* IRC channels pre-configured in pidgin | |||
* sshd service enabled | |||
* rhc ruby gem for OpenShift (package rubygem-rhc) | |||
* [https://github.com/gmate/gmate/ gmate setup for gedit] | |||
* Library folder with key resources such as CDI spec, JDF tutorial, Java EE spec, etc. | |||
** auto-launch welcome PDF on first login | |||
==Related Links== | ==Related Links== |
Latest revision as of 20:59, 20 January 2013
Fedora JBoss Spin
This aim of this page is to gather all information relevant to the creation of the JBoss spin for Fedora. I (Gerard Ryan) am working on this as a project under Google Summer of Code 2012, with (Marek Goldmann) as mentor. More details on the GSOC proposal can be found here.
JBoss Tools
The first chunk of the work will be to start packaging JBoss Tools for Eclipse. This may require additional parts of Eclipse WTP to be packaged.
There may be some difficulty with using tycho in Fedora, see patches for eclipse-cdt.
At the moment, I'm using the following page as a reference for learning how to build: https://community.jboss.org/wiki/HowToBuildJBossToolsWithMaven3 Also, focusing on the 3.3.0.Beta3 branch, so this also applies: https://community.jboss.org/wiki/HowToBuildJBossToolsWithMaven3-WorkingWithBranches
Currently, I'm running all mvn-rpmbuild commands from the build/ directory. I'm not sure if this is the best way going forward, it may not be necessary but the pom.xml there includes profiles for all the other components, and bootstrap profiles for many of them too.
Current Structure of eclipse-jbosstools that build for Fedora
- eclipse-jbosstools
- eclipse-jbosstools-parent
- builds parent pom and target-platform pom (maybe these should be separated, parent builds target-platform anyway I think, even if it exists).
- not sure if this is necessary, it may not apply as a package. Parent and target platform need to be built for all plugins, so I figure this might be the way to do it.
- eclipse-jbosstools-common
- eclipse-jbosstools-usage
- eclipse-jbosstools-archives
- needs -usage
- eclipse-jbosstools-jmx
- needs -common, -usage
- eclipse-jbosstools-as
- needs -common, -archives, -jmx
- eclipse-jbosstools-ws
- needs -common, -usage, -as
- eclipse-jbosstools-cdi
- needs -common, -usage, -jst
- eclipse-jbosstools-freemarker
- needs -usage
- eclipse-jbosstools-deltacloud
- needs -usage, -as
- eclipse-jbosstools-parent
Unpackaged dependencies
Feel free to package any of these, just let me know you're doing it (grdryn on #fedora-java)! :)
- connector-eclipse
- needed by org.jboss.tools.common.mylyn (currently patched out)
- Google plugin for eclipse
- needed by eclipse-jbosstools-gwt (not currently being built)
Current progress
Table below shows what is officially submitted to Fedora (after creating review request).
# | Package | Version | Review request | Packager | Status | Comments |
---|---|---|---|---|---|---|
1 | uddi4j | 2.0.5 | RHBZ #825890 | galileo(grdryn) | In Rawhide | |
2 | wsil4j | 1.0 | RHBZ #826014 | galileo(grdryn) | In Rawhide | |
3 | geronimo-activation | 1.1 | RHBZ #826777 | galileo(grdryn) | Skipped | Activation framwework is included in JDK 6+ Most probably you don't need this package, at all. |
4 | eclipse-wtp-webservices | 3.4.0 | RHBZ #827917 | galileo(grdryn) | In Rawhide | Depends on |
5 | eclipse-wtp-jeetools | 3.4.0 | RHBZ #833154 | galileo(grdryn) | In Rawhide | Depends on |
6 | eclipse-wtp-jpa | 3.4.0 | RHBZ #833641 | galileo(grdryn) | In Rawhide | Depends on |
7 | eclipse-wtp-jst-web | 3.4.0 | RHBZ #835338 | galileo(grdryn) | In Rawhide | Depends on |
8 | jboss-common-logging-spi | 2.1.2 | RHBZ #835716 | galileo(grdryn) | Skipped | This package was removed from review request queue as it shouldn't be packaged and jboss-logging RPM should be used instead |
9 | jboss-classpool-scoped | 1.0.1 | RHBZ #836400 | galileo(grdryn) | In Rawhide | |
10 | jboss-reflect | 2.0.2.GA | RHBZ #836404 | galileo(grdryn) | In Rawhide | Bundles a forked objectweb-asm, will not build with Fedora packaged objectweb-asm |
11 | jbossxb | 2.0.3 | RHBZ #836403 | galileo(grdryn) | In Rawhide | Depends on |
12 | schlichtherle-oss-parent | 2.0.3 | RHBZ #836849 | galileo(grdryn) | In Rawhide | |
13 | truezip | 2.0.3 | RHBZ #836850 | galileo(grdryn) | In Rawhide | Depends on |
14 | port-allocator-maven-plugin | 1.2 | RHBZ #838722 | galileo(grdryn) | In Rawhide | Needed for maven-indexer, which is needed for m2eclipse |
15 | maven-indexer | 4.1.2 | RHBZ #838756 | galileo(grdryn) | In Rawhide | Depends on |
16 | maven-wagon-ahc | 1.2.1 | RHBZ #839117 | galileo(grdryn) | In Rawhide | needed for m2eclipse |
16 | eclipse-wtp-jsf | 3.4.0 | RHBZ #842032 | galileo(grdryn) | In Rawhide | |
17 | deltacloud-client-java | 0.2.0 | RHBZ #842197 | galileo(grdryn) | Skipped | Javadocs currently fail. Package no longer required (eclipse-jbosstools-deltacloud will not be built). |
18 | jhighlight | 1.0 | RHBZ #842481 | galileo(grdryn) | In Rawhide | |
19 | eclipse-jbosstools | 3.3.1 | RHBZ #837726 | galileo(grdryn) | In Rawhide | |
20 | eclipse-m2e-core | 1.1.0 | RHBZ #847160 | galileo(grdryn) | Waiting for review | |
21 | eclipse-swtbot | 2.0.5 | RHBZ #845379 | akurtakov | In Rawhide | |
22 | openshift-java-client | 2.0.3 | RHBZ #902017 | galileo(grdryn) | Waiting for review |
Status legend
Status | Meaning |
---|---|
Issue | Package encountered a serious issue while packaging (license, etc) - see Comments field for more info. |
Skipped | Package submitted by accident or not required anymore. |
Waiting for review | Package is submitted for review and ready to be reviewed. Feel free to pick this package and do the review. |
In review | Package is submitted for review and being reviewed by someone. |
After review, waiting for SCM | Package passed review and packages is waiting for creating git repo in Fedora for this package. |
In Rawhide | Package is available in Rawhide. Yay! This means also that the package was submitted to Fedora 17 as an update. |
Proposed Desktop Customizations
We want to put the developer in the driver's seat to start coding as soon as they load up the Spin, rather than spending time tweaking the environment to be "just right". In particular, I've suggested keybinding overrides that create a consistent experience, which is a critical to productivity. In doing so, we will also be effectively recommending a configuration that we believe is productive. We just need to agree :)
The customizations are a combination of pre-installed packages, desktop settings, keybindings, resources and branding.
Here are some ideas of what we might put in the kickstart file or /etc/skel (whichever applies):
- Installed packages
- java-1.7.0-openjdk-devel
- eclipse, eclipse-wtp (when ready), eclipse-jboss-tools (when ready)
- jboss-as
- maven
- groovy
- ant
- scala
- clojure
- thermostat
- mysql-connector-java, h2
- vim-enhanced
- git, gitg
- gedit-plugins
- pidgin
- asciidoc
- Custom JBoss-related desktop background (perhaps JBoss AS 7 or JBoss Tools)
- Custom start page in Firefox, which adds or replaces feeds from Planet JBoss and JBoss Weekly. See this [mockup http://imagebin.org/219576] (the entries can be retrieved using JavaScript w/ jQuery + jGFeed + jsRender)
- Bookmarks for key Java / JBoss resources, such as http://jboss.org/jdf, http://jboss.org/developer, Java EE 6 JavaDoc
- Set JAVA_HOME (we could do this in .bash_profile, though I'm not sure why it isn't setup by default in Fedora)
- bash git prompt
- Maven settings for JBoss Community Nexus repository, named ~/.m2/settings-jboss-public.xml
- JBoss Community formatting profile loaded as default in Eclipse
- Recommended Eclipse settings
- Preferences > General > Workspace > [x] Refresh using native hooks or polling (enable)
- Preferences > Maven > [ ] Download repository index updates on startup (disable)
- Preferences > Maven > Annotation Processing > (*) Automatically configure JDT APT (enable)
- default folder for Team git integration
- Consistent keybindings
- Gnome Terminal: <CTRL-t> = new tab, <SHIFT-right> = next tab, <SHIFT-left> = previous tab, <SHIFT-CTRL-right = move tab right, <SHIFT-CTRL-left> = move tab left, <CTRL-w> = close tab, <CTRL-q> = quit, <CTRL-=> = increase font size, <CTRL--> = decrease font size, <CTRL-0> = normal font size
- Eclipse: <SHIFT-right> = next tab, <SHIFT-left> = previous tab
- Gedit: <CTRL-t> = new tab
- Gnome: make Capslock and additional control (gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']")
- General desktop settings
- disable attached modal dialogs (gsettings set org.gnome.shell.overrides attach-modal-dialogs false)
- tab size and expand spaces in Gedit (gsettings set org.gnome.gedit.preferences.editor insert-spaces true && gsettings set org.gnome.gedit.preferences.editor tabs-size 4)
- Configure devilspie to maximize terminal when opened
- GPaste and GPaste gnome shell extension (package gnome-shell-extension-gpaste) (clipboard manager for Gnome)
- IRC channels pre-configured in pidgin
- sshd service enabled
- rhc ruby gem for OpenShift (package rubygem-rhc)
- gmate setup for gedit
- Library folder with key resources such as CDI spec, JDF tutorial, Java EE spec, etc.
- auto-launch welcome PDF on first login