From Fedora Project Wiki
 
(70 intermediate revisions by 3 users not shown)
Line 15: Line 15:


== Current status ==
== Current status ==
'''Dead Package''' [http://pkgs.fedoraproject.org/cgit/intellij-idea.git/tree/dead.package?id=f39f76f10d1150b7626298cc935f8850535f7cdd]
* Targeted release: [[Releases/13 |Fedora 13]]
* Targeted release: [[Releases/13 |Fedora 13]]
* Last updated: Nov Mon 09 2009
* Last updated: 2010-03-29
* Percentage of completion: 19.832%
* Percentage of completion: 100%
 
What's already done can be found at http://fedorapeople.org/~lkundrak/intellij-idea/ which should (along with the dependency matrix below) give you more specific idea about the progress.
 
All reviews related to this feature contain [https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&status_whiteboard_type=allwordssubstr&status_whiteboard=F13FeatureIDEA F13FeatureIDEA] on Status Whiteboard.
 
http://pkgs.fedoraproject.org/cgit/intellij-idea.git/tree/dead.package?id=f39f76f10d1150b7626298cc935f8850535f7cdd


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
(TBD: Summary + Scope probably gives a rather complete picture of what this is about. Feature Wrangler, does this section really need to exist here?)
See Summary and Scope for more details.  This is mostly a packaging exercise.


== Benefit to Fedora ==
== 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 [http://www.jetbrains.com/idea/nextversion/editions_comparison_matrix.html comparison matrix].
Fedora users will gain comfortable access to features of Community Edition if IDEA, which include support for Java language, popular version control systems, GUI designer, etc. The overview of features is available in [http://www.jetbrains.com/idea/nextversion/editions_comparison_matrix.html comparison matrix].
 
Apart from IDEA itself, many of its dependencies are a rather nice addition to the Fedora package collection. This includes Saxon HE, a modern implementation of popular XML-related W3C standards and recommendations, JGraph graphing library and most importantly a complete tooling for scripting in Groovy language.


== Scope ==
== Scope ==
Line 34: Line 45:
* IDEA itself has to be packaged
* IDEA itself has to be packaged
** The build system adjusted not to use bundled prebuilt code
** The build system adjusted not to use bundled prebuilt code
For details, see [[Features/IntelliJ IDEA#Dependencies|Dependencies]] section.


== How To Test ==
== How To Test ==
Line 46: Line 59:


== User Experience ==
== User Experience ==
* [[File:users.jpg]]
* Install <code>pkcon install intellij-idea</code>
* Install <code>pkcon install intellij-idea</code>
* Run <code>idea</code>
* Run <code>idea</code>
Line 55: Line 69:


{|
{|
! Package       !! From where                   !! Notes                               !! Ticket (review, etc.)
! Package !! From where !! Notes !! Bugzilla Ticket (review, etc.)
|-
| intellij-idea || Needs to be created || ''Done.'' Our patchset is kept here: [http://repo.or.cz/w/fedora-idea.git/shortlog/refs/heads/fedora] ||
[https://bugzilla.redhat.com/show_bug.cgi?id=565844 565844][[Image:Green check.png|16 px]]
|-
| svnkit || Needs to integrate IDEA patches || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=567781 567781][[Image:Green check.png|16 px]]
|-
| jps || New package || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=567419 567419][[Image:Green check.png|16 px]]
|-
| gant || Needs to be created || ASL 2.0 [http://gant.codehaus.org/Licence], Groovy for Ant, depends on groovy [http://gant.codehaus.org/]. ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=540708 540708][[Image:Green check.png|16 px]]
<!-- |-
| wstx || Pull from JPackage || Not started. Dead reviews: [https://bugzilla.redhat.com/show_bug.cgi?id=252110 252110], [https://bugzilla.redhat.com/show_bug.cgi?id=227121 227121], [https://bugzilla.redhat.com/show_bug.cgi?id=462580 462580]. Does not seem to be a hard dependency, IcedTea ships stax implementation, but it's reported to perform up to ten times more slowly than wstx. || -->
|-
|-
| intellij-idea || Needs to be created          || In works                    ||
| groovy || New package (upstream's RPM package is useless). Done: [http://fedorapeople.org/~lkundrak/intellij-idea/SRPMS/groovy-1.6.5-1.fc12.src.rpm] || Dependency chain: [http://fedorapeople.org/~lkundrak/intellij-idea/groovy-alldeps.txt everything], [http://fedorapeople.org/~lkundrak/intellij-idea/groovy-compiledeps.txt compilation]. Requires apache-ivy and xstream. ''Done'' (woo hoo!) || [https://bugzilla.redhat.com/show_bug.cgi?id=534168 534168][[Image:Green check.png|16 px]]
|-
|-
| cglib        || Pull from JPackage           || Need 2.1.3 version          ||
| xmlbeans || Pull from JPackage || Depends on saxon8 or saxon9. Dead review [https://bugzilla.redhat.com/show_bug.cgi?id=227122 227122]. ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532709 532709][[Image:Green check.png|16 px]]
|-
|-
| nanoxml      || Pull from JPackage           || Done                         || [https://bugzilla.redhat.com/show_bug.cgi?id=532315 532315] [[Image:Green check.png|24 px]]
| xstream || Pull from JPackage Done: [http://fedorapeople.org/~lkundrak/intellij-idea/SRPMS/xstream-1.2.2-2.src.rpm] || Depends on jettison, cglib. ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=534135 534135][[Image:Green check.png|16 px]]
|-
|-
| picocontainer || Pull from JPackage          || Old dead reviews [https://bugzilla.redhat.com/show_bug.cgi?id=227093 227093], [https://bugzilla.redhat.com/show_bug.cgi?id=252119 252119] ||
| microba || New package || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532205 532205][[Image:Green check.png|16 px]]
|-
|-
| xmlbeans      || Pull from JPackage (in works) || Depends on saxon8 ([https://bugzilla.redhat.com/show_bug.cgi?id=532664 532664]). || [https://bugzilla.redhat.com/show_bug.cgi?id=227122 227122]
| picocontainer || Pull from JPackage || Old dead reviews [https://bugzilla.redhat.com/show_bug.cgi?id=227093 227093], [https://bugzilla.redhat.com/show_bug.cgi?id=252119 252119]. ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=537585 537585][[Image:Green check.png|16 px]]
|-
|-
| xstream      || Pull from JPackage (done: [http://fedorapeople.org/~lkundrak/intellij-idea/SRPMS/xstream-1.2.2-2.src.rpm]) || Depends on jettison ([https://bugzilla.redhat.com/show_bug.cgi?id=508521 508521], done), cglib (see above). ||
| jgraph || New package || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532203 532203][[Image:Green check.png|16 px]]
|-
|-
| groovy        || New package (upstream's RPM package is useless) || Big dependency chain. [http://fedorapeople.org/~lkundrak/intellij-idea/groovy-alldeps.txt] At the very least we seem to need apache ivy and livetribe jsr. [http://fedorapeople.org/~lkundrak/intellij-idea/groovy-compiledeps.txt] ||
| cglib || Pull from JPackage || Port IDEA to 2.2 API (from 2.1.3): Done. Dead review: [https://bugzilla.redhat.com/show_bug.cgi?id=469894 469894]. ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=537066 537066][[Image:Green check.png|16 px]]
|-
|-
| jna          || Needs -examples subpackage  ||                             || [https://bugzilla.redhat.com/show_bug.cgi?id=532208 532208] [[Image:Green check.png|24 px]]
| apache-ivy || New package || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=534021 534021][[Image:Green check.png|16 px]]
|-
|-
| junit4        || Needs update to 4.6          || Need to check dependencies  || [https://bugzilla.redhat.com/show_bug.cgi?id=532210 532210] [[Image:Green check.png|24 px]]
| jettison || Pull from JPackage || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=508521 508521][[Image:Green check.png|16 px]]
|-
|-
| microba      || New package                  || Already done                || [https://bugzilla.redhat.com/show_bug.cgi?id=532205 532205]
| nanoxml || Pull from JPackage || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532315 532315][[Image:Green check.png|16 px]]
|-
|-
| jgraph        || New package                  || Need to review              || [https://bugzilla.redhat.com/show_bug.cgi?id=532203 532203]
| jna || Needs -examples subpackage || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532208 532208][[Image:Green check.png|16 px]]
|-
|-
| junit4 || Needs update to 4.6 || Need to check dependencies: ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532210 532210][[Image:Green check.png|16 px]]
|-
| saxon || Update to >= 8 || JPackage had saxon8. Fedora package updated 6 -> 9 ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=532664 532664][[Image:Green check.png|16 px]]
|}
|}
The dead reviews are mostly from past more-or-less unsuccessful bulk JPackage pull attempts.
Once core is done, we'll start work on plugins.


=== Plugins ===
=== Plugins ===


TBD (can wait until Core is finished). No plugin is a hard dependency.
This is by no means complete yet; please treat it as such. The package names may be incorrect, package s may be missing and generally all sorts of inaccuracies are likely to be present. Bulky and incomplete writeup: [http://fedorapeople.org/~lkundrak/intellij-idea/moduledeps.txt].


{|
{|
! Package       !! From where                   !! Notes                               !! Ticket (review, etc.)
! Package !! From where !! Dependent plugin(s) !! Notes !! Ticket (review, etc.)
|-
| nexus-indexer || New package || maven || GPLv3+ [http://nexus.sonatype.org/license.html], Just the indexer needed: [http://nexus.sonatype.org/downloads/] ||
|-
| archetype-common || New package || maven || Maven Archetype Plugin, [http://maven.apache.org/plugins/maven-archetype-plugin/] ||
|-
| mercury || New package || maven || Only mercury-artifact (Alternative artifact transport) is needed [http://maven.apache.org/mercury/mercury-artifact/] ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=542341 542341][[Image:Green check.png|16 px]]
<!--|-
| plexus-lang || New package || maven/mercury-artifact || ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=542320 542320]-->
|-
| gradle-open-api || New package || groovy || This: [http://www.mail-archive.com/dev@gradle.codehaus.org/msg01528.html], this needed as well: [http://www.gradle.org/] ASL 2.0?, ''Needs review'' || [https://bugzilla.redhat.com/show_bug.cgi?id=542222 542222][[Image:Green check.png|16 px]]
|-
| patricia-trie || New package || spellchecker || ASL 2.0, [http://code.google.com/p/patricia-trie/], ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=542166 542166][[Image:Green check.png|16 px]]
|-
| testng || New package || testng || [http://testng.org/doc/index.html], ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=542165 542165][[Image:Green check.png|16 px]]
|-
| jazzy || New package || spellchecker || LGPLv2+, [http://jazzy.sourceforge.net/], ''Done'' || [https://bugzilla.redhat.com/show_bug.cgi?id=540653 540653][[Image:Green check.png|16 px]]
<!-- already in Fedora | svnkit || New package || svn4idea || TMate, Embeds ASL 1.1 subversion-javahl fork [http://svnkit.com/] || [https://bugzilla.redhat.com/show_bug.cgi?id=540659 540659] -->
|}
|}


Line 114: Line 162:
* See [[Talk:Features/IntelliJ IDEA]]
* See [[Talk:Features/IntelliJ IDEA]]


<!-- [[Category:FeaturePageIncomplete]] -->
[[Category:FeatureAcceptedF13]]
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 15:36, 5 October 2013

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

Dead Package [1]

  • Targeted release: Fedora 13
  • Last updated: 2010-03-29
  • Percentage of completion: 100%

What's already done can be found at http://fedorapeople.org/~lkundrak/intellij-idea/ which should (along with the dependency matrix below) give you more specific idea about the progress.

All reviews related to this feature contain F13FeatureIDEA on Status Whiteboard.

http://pkgs.fedoraproject.org/cgit/intellij-idea.git/tree/dead.package?id=f39f76f10d1150b7626298cc935f8850535f7cdd

Detailed Description

See Summary and Scope for more details. This is mostly a packaging exercise.

Benefit to Fedora

Fedora users will gain comfortable access to features of Community 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.

Apart from IDEA itself, many of its dependencies are a rather nice addition to the Fedora package collection. This includes Saxon HE, a modern implementation of popular XML-related W3C standards and recommendations, JGraph graphing library and most importantly a complete tooling for scripting in Groovy language.

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

For details, see Dependencies section.

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 [2]:

Core

Package From where Notes Bugzilla Ticket (review, etc.)
intellij-idea Needs to be created Done. Our patchset is kept here: [3]

565844

svnkit Needs to integrate IDEA patches Done 567781
jps New package Done 567419
gant Needs to be created ASL 2.0 [4], Groovy for Ant, depends on groovy [5]. Done 540708
groovy New package (upstream's RPM package is useless). Done: [6] Dependency chain: everything, compilation. Requires apache-ivy and xstream. Done (woo hoo!) 534168
xmlbeans Pull from JPackage Depends on saxon8 or saxon9. Dead review 227122. Done 532709
xstream Pull from JPackage Done: [7] Depends on jettison, cglib. Done 534135
microba New package Done 532205
picocontainer Pull from JPackage Old dead reviews 227093, 252119. Done 537585
jgraph New package Done 532203
cglib Pull from JPackage Port IDEA to 2.2 API (from 2.1.3): Done. Dead review: 469894. Done 537066
apache-ivy New package Done 534021
jettison Pull from JPackage Done 508521
nanoxml Pull from JPackage Done 532315
jna Needs -examples subpackage Done 532208
junit4 Needs update to 4.6 Need to check dependencies: Done 532210
saxon Update to >= 8 JPackage had saxon8. Fedora package updated 6 -> 9 Done 532664

The dead reviews are mostly from past more-or-less unsuccessful bulk JPackage pull attempts. Once core is done, we'll start work on plugins.

Plugins

This is by no means complete yet; please treat it as such. The package names may be incorrect, package s may be missing and generally all sorts of inaccuracies are likely to be present. Bulky and incomplete writeup: [8].

Package From where Dependent plugin(s) Notes Ticket (review, etc.)
nexus-indexer New package maven GPLv3+ [9], Just the indexer needed: [10]
archetype-common New package maven Maven Archetype Plugin, [11]
mercury New package maven Only mercury-artifact (Alternative artifact transport) is needed [12] Done 542341
gradle-open-api New package groovy This: [13], this needed as well: [14] ASL 2.0?, Needs review 542222
patricia-trie New package spellchecker ASL 2.0, [15], Done 542166
testng New package testng [16], Done 542165
jazzy New package spellchecker LGPLv2+, [17], Done 540653

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