From Fedora Project Wiki

Revision as of 14:51, 9 November 2009 by Ksyz (talk | contribs) (→‎Core)

IDEA Community Edition in Fedora

IntelliJ IDEA

Summary

Add Community IntelliJ IDEA Community Edition packages and their dependencies into repositories. Along with Eclipse and NetBeans already provided by Fedora, IDEA is a popular Java-based development environment.

Owner


Current status

  • Targeted release: Fedora 13
  • Last updated: Nov Mon 09 2009
  • Percentage of completion: 19.832%

Detailed Description

(TBD: Summary + Scope probably gives a rather complete picture of what this is about. Feature Wrangler, does this section really need to exist here?)

Benefit to Fedora

Fedora users will gain comfortable access to features of Communiuty Edition if IDEA, which include support for Java language, popular version control systems, GUI designer, etc. The overview of features is available in comparison matrix.

Scope

  • Several new packages have to be added to Fedora
    • Pulled in from JPackage and adjusted to conform with guidelines
    • Newly packaged
  • Some packages need to be updated (or compat packages added) to be compatible with IDEA requirements
    • This is the only change that touches existing stuff
  • IDEA itself has to be packaged
    • The build system adjusted not to use bundled prebuilt code

How To Test

Each of the dependency packages will be QA-ed passing through standard packaging review process. Fair amount of packages contains test suites run in %check phase of the package build process.

Correctness of the dependency chain of the core (conflicts and requires) will be verified in several scenarios

  • Minimal installation (in mock chroot)
  • Desktop live installation
  • Everything installation

Functionality of each of the plugins needs to be verified separately and the test plan is dependent on provided functionality and would vary for each specific plugin.

User Experience

  • Install pkcon install intellij-idea
  • Run idea

Dependencies

Since IDEA itself is a new package, nothing depends on it. Here are idea's requirements [1]:

Core

Package From where Notes Ticket (review, etc.)
intellij-idea Needs to be created In works
cglib Pull from JPackage Need 2.1.3 version
nanoxml Pull from JPackage Done 532315
picocontainer Pull from JPackage Old dead reviews 227093, 252119
xmlbeans Pull from JPackage (in works) Depends on saxon8 (532664). 227122
xstream Pull from JPackage (done: [2]) Depends on jettison (508521, done), cglib (see above).
groovy New package (upstream's RPM package is useless) Big dependency chain. [3] At the very least we seem to need apache ivy and livetribe jsr. [4]
jna Needs -examples subpackage 532208
junit4 Needs update to 4.6 Need to check dependencies 532210
microba New package Already done 532205
jgraph New package Need to review 532203

Plugins

TBD (can wait until Core is finished). No plugin is a hard dependency.

Package From where Notes Ticket (review, etc.)

Contingency Plan

None necessary. If the work will not be finished early enough, the existing packaging work does not need to be reverted.

Documentation

The packaging will be well described in comments, this wiki page will be regularly updated with progress and serve as overview of what is done to anyone who would like to contribute.

Release Notes

It may make sense to add something similar to the following to What's New paragraph. Would need adjustments in accordance with features (plugins) that could actually be packaged:

IntelliJ IDEA Community Edition integrated development environment
is available in package collection for this release of Fedora. Most
important features include:

* Intuitive creation of GUIs similar to IDEA's own one
* Integration with Ant and Maven
* Testing with TestNG and JUnit
* Compatibility with Eclipse projects
* Language support for Java, Groovy, XML and Regular Expressions
* Version control with CVS, Subversion and GIT

Comments and Discussion