From Fedora Project Wiki

mNo edit summary
 
(67 intermediate revisions by 3 users not shown)
Line 16: Line 16:




===Proposed Structure of eclipse-jbosstools===
===Current Structure of eclipse-jbosstools that build for Fedora===
<br />
* '''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.
*** provisional package available at http://galileo.fedorapeople.org/jbosstools_srpms/jbosstools-parent-3.3.0.Beta3-1.fc17.src.rpm
** eclipse-jbosstools-'''tests'''
** eclipse-jbosstools-'''common'''
** eclipse-jbosstools-'''common'''
*** needs jbosstools-tests
** eclipse-jbosstools-'''usage'''
** eclipse-jbosstools-'''usage'''
** eclipse-jbosstools-'''archives'''
** eclipse-jbosstools-'''archives'''
*** needs jbosstools-usage
*** needs -usage
** eclipse-jbosstools-'''jmx'''
** eclipse-jbosstools-'''jmx'''
*** needs jbosstools-common, jbosstools-tests, jbosstools-usage
*** needs -common, -usage
** eclipse-jbosstools-'''as'''
** eclipse-jbosstools-'''as'''
*** needs jbosstools-common, jbosstools-tests, jbosstools-archives, jbosstools-jmx
*** 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===
* ant-optional
Feel free to package any of these, just let me know you're doing it (grdryn on #fedora-java)! :)
** currently commented out of '''jbosstools-parent''' to make it work
** may not be necessary or desired
<br />
* eclipse-swtbot
** needed by '''eclipse-jbosstools-tests'''
<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 />
* [http://git.eclipse.org/c/m2e/m2e-core.git/ eclipse-m2e-core]
* [https://developers.google.com/eclipse/ Google plugin for eclipse]
** needed by eclipse-jbosstools-openshift (not currently being built)
** 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:gray">Waiting for review</span>'''
|'''<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>'''
|Depends on {{bz|833154}}
|
|}
|}


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

Unpackaged dependencies

Feel free to package any of these, just let me know you're doing it (grdryn on #fedora-java)! :)


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 RHBZ #826014, RHBZ #826327, RHBZ #826776
5 eclipse-wtp-jeetools 3.4.0 RHBZ #833154 galileo(grdryn) In Rawhide Depends on RHBZ #834944 and RHBZ #834956
6 eclipse-wtp-jpa 3.4.0 RHBZ #833641 galileo(grdryn) In Rawhide Depends on RHBZ #833154
7 eclipse-wtp-jst-web 3.4.0 RHBZ #835338 galileo(grdryn) In Rawhide Depends on RHBZ #833154
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 RHBZ #836400, RHBZ #836404
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 RHBZ #836849 and RHBZ #836698
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 RHBZ #836850 and RHBZ #838722
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

Related Links

JBoss AS7