m (→Unpackaged dependencies: remove jhighlight as it's in the review queue) |
|||
Line 56: | Line 56: | ||
* [https://developers.google.com/eclipse/ Google plugin for eclipse] | * [https://developers.google.com/eclipse/ Google plugin for eclipse] | ||
** needed by '''eclipse-jbosstools-gwt''' (not currently being built) | ** needed by '''eclipse-jbosstools-gwt''' (not currently being built) | ||
== Current progress == | == Current progress == |
Revision as of 11:13, 25 July 2012
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)! :)
- ant-optional
- currently commented out of jbosstools-parent to make it work
- may not be necessary or desired
- eclipse-swtbot
- needed by eclipse-jbosstools-tests
- connector-eclipse
- needed by org.jboss.tools.common.mylyn (currently patched out)
- eclipse-m2e-core
- needed by eclipse-jbosstools-openshift (not currently being built)
- 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) | Waiting for review | 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) | Waiting for review | 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) | Waiting for review | Javadocs currently fail |
18 | jhighlight | 1.0 | RHBZ #842481 | 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