This is a fast track submitted for Joe Townsend. Time out is
9/29/08. Patch release binding requested. There is a man
page in case directory.
Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Anjuta 2.5 Integrated Development Environment (IDE)
1.2. Name of Document Author/Supplier:
Joseph Townsend
1.3. Date of This Document:
11 Sep 2008
1.3.1. Date this project was conceived:
3 Mar 2008
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The PAC or CPT you expect to review your project:
Solaris PAC
1.4.2. The ARC(s) you expect to review your project:
LSARC
1.4.3. The Director/VP who is "Sponsoring" this project:
Andrew Roach
1.4.4. The name of your business unit:
Software
1.5. Email Aliases:
1.5.1. Responsible Manager: Philip Edge
1.5.2. Responsible Engineer: Joseph A Townsend
1.5.3. Marketing Manager:
1.5.4. Interest List:
2. Project Summary
2.1. Project Description:
Anjuta DevStudio is a versatile Integrated Development
Environment (IDE)
on GNOME Desktop Environment and features a number of advanced
programming facilities. These include project management,
application
and class wizards, an on-board interactive debugger, powerful source
editor, syntax highlighting, intellisense autocompletions, symbol
navigation, version controls, integrated GUI designing and other
tools.
2.2. Risks and Assumptions:
This is an opensource project that is licensed under GPL v2,
that is being integrated into Solaris. An Open Source Review
OSR 9979 has been completed.
Anjuta will be part of the JDS consolidation
The quality of the code can only be considered to be alpha.
Anjuta has an indirect dependency upon GNU Multiple Presicion
Arithmetic Library (gmp), which is covered by GPLv3. The fact
that gmp is covered by GPLv3, means that anjuta can not be
integrated until the legal issues with gmp have been resolved
and gmp has been integrated.
Currently Anjuta is the only consumer of the gnome-build interfaces.
The gnome-build interfaces are included in the case as project
private, so that they can be made more visible should other
consumers require them.
3. Business Summary
This project is part of the larger Linux familarity project for
opensource within Solaris.
3.1. Problem Area:
Anjuta DevStudio is a versatile Integrated Development
Environment (IDE)
on GNOME Desktop Environment and features a number of advanced
programming facilities. These include project management,
application
and class wizards, an on-board interactive debugger, powerful source
editor, syntax highlighting, intellisense autocompletions, symbol
navigation, version controls, integrated GUI designing and other
tools.
Anjuta is an effort to marry the flexibility and power of text-based
command-line tools with the ease-of-use of the GNOME graphical user
interface. We thrive to make it very usable by eleminating
developers
burden with mudane programming tasks.
Anjuta 2.x is the next generation Anjuta development studio with
extensible plugin architecture. The new architecture allows writing
independent plugins that could interact with existing plugins.
Most of
the older features have been already ported to the new architecture
and are working.
The new architecture has:
* Complex docking shell that allows arbitrary docking of IDE
widgets.
* Dynamic plugin activation and deactivation.
* Extensible architecture.
* Plugins can interact with other plugins through interface.
* Plugins can install dynamic UIs (menus/toolbars), including
installing
context menus in other plugins.
Presently available features in Anjuta:
---------------------------------------
* Fully customizable integrated editor.
o Automatic syntax highlighting.
o Automatic code formatting.
o Code folding/hiding.
o Line numbers/markers display.
o Text zooming.
o Code autocompletion.
o Calltips for Linux/GNOME function prototypes.
o Automatic indentation and indentation guides.
o ... and much more.
* Each file opened can be operated in either paged mode
or windowed mode.
* Highly interactive source level debugger (built over gdb).
o Interactive execution.
o Breakpoints/watches/signal/stack manipulation.
o Local Variables view.
o Variables tips.
o ... and much more.
* Inbuilt application wizards to create terminal/GTK/GNOME
applications on-the-fly.
* Dynamic Tags browsing.
o Function definition, structure, classes etc.
o Full tags management for project.
o Symbol Browser.
o File Brwoser.
* Full project and build files management.
* Bookmark management.
* Basic windows are attachable and detachable.
* Support for other languages
o Java, Perl, Pascal ... etc. (only file mode, no project
managements).
* Interactive messaging system.
* GNOME2 platform compliant.
3.2. Market/Requester:
See Linux familarity project for opensource within Solaris.
3.3. Business Justification:
See Linux familarity project for opensource within Solaris.
3.4. Competitive Analysis:
See Linux familarity project for opensource within Solaris.
3.5. Opportunity Window/Exposure:
3.6. How will you know when you are done?:
Solaris packages will be available, that will install the
gnome build binaraires and libraries onto a Solaris system
4. Technical Description:
4.1. Details:
This project will follow the Linux familarity project for opensource
within Solaris methodology to integrate gnome build into Solaris.
The Anjuta Project site:
http://www.sourceforge.net/projects/anjuta
4.2. Bug/RFE Number(s):
4.3. In Scope:
This project will only provide functionality that is already in
the opensource version.
4.4. Out of Scope:
This project will NOT provide any additional functionality that is
not already in the opensource version.
4.5. Interfaces:
Exported interfaces: all uncommitted
/usr/bin/anjuta anjuta binary
/usr/lib/libanjuta.so.0 libanjuta library
/usr/include/libanjuta-1.0/libanjuta/* libanjuta header files
/usr/share/locale/*/LC_MESSAGES/anjuta.mo anjuta locales
/etc/gconf/schemas/anjuta* anjuta gconf schema files
/usr/share/src/SUNWanjuta-2.5.0 anjuta source code
SUNWanjuta main anjuta package
SUNWanjuta-devel anjuta header files
SUNWanjuta-l10n anjuta localization files
SUNWanjuta-src anjuta source code files
SUNWgnome-build main gnome-build package
SUNWgnome-build-devel gnome-build header files
SUNWgnome-build-l10n gnome-build localization files
SUNWgnome-build-src gnome-build source code files
Inported interfaces
LIBGLADE 2.3.0 LSARC/2006/202 GNOME 2.14
GDL 0.7.0 LSARC/2008/505 gdl - GNU Data Language
GTK 2.6.0 LSARC/2006/202 GNOME 2.14
Perl Gettext LSARC/2008/535 Perl Locale::gettext
Perl PSARC 2004/037 Update Perl to version 5.8.3
LIBXML 2.6.0 PSARC/2006/290 libxml2 upgrade
Subversion PSARC/2006/563 Subversion 1.2.3 integration
Berkley DB LSARC/2007/683 Berkeley_Database_4.5.20
graphviz LSARC/2008/496 graphviz for OpenSolaris
autogen PSARC/2008/315 autogen and guile
Project Private interfaces:
/usr/lib/gnome-build-1.0/libgbf-1.so gnome-build library
/usr/lib/gnome-build-1.0/libgbf-widgets-1 gnome-build library
/usr/include/gnome-build-1.0/gbf/*.h gnome-build
header files
/usr/bin/gbf-am-parse
analyzes the automake project and outputs an xml file
/usr/bin/gbf-mkfile-parse
analyzes the Makefile project and outputs an xml file
/usr/share/locale/*/LC_MESSAGES/gbd-1.mo gnome-build locales
/usr/share/src/SUNWgnome-build-2.22.1 gnome-build source code
4.6. Doc Impact:
The gtk docs for anjuta are provided in the SUNWanjuta-devel
package.
/usr/share/man/man1/anjuta.1 anjuta man page
/usr/share/doc/anjuta text documentation
/usr/share/gtk-doc/html/libanjuta/* libanjuta doc
4.7. Admin/Config Impact:
A create_dialogs.glade and gbf-am-dialogs.glade files are provided
in the SUNWgnome-build package.
4.8. HA Impact:
N/A
4.9. I18N/L10N Impact:
The localization files are provided in the SUNWanjuta-l10n and
SUNWgnome-build-l10n packages.
4.10. Packaging & Delivery:
This project is delivered via the following packages, all of which
have been registerd
SUNWanjuta
SUNWanjuta-devel
SUNWanjuta-l10n
SUNWanjuta-root
SUNWanjuta-src
SUNWgnome-build
SUNWgnome-build-devel
SUNWgnome-build-l10n
SUNWgnome-build-src
4.11. Security Impact:
N/A
4.12. Dependencies:
See 4.5 above
5. Reference Documents:
http://www.sourceforge.net/projects/anjuta
http://www.gnome.org/projects/devtools/gnomebuild.shtml
6. Resources and Schedule:
6.1. Projected Availability:
Prootype available in Jul 2008 and RTI in Sep 2008
6.2. Cost of Effort:
One staff month
6.3. Cost of Capital Resources:
N/A
6.4. Product Approval Committee requested information:
6.4.1. Consolidation or Component Name:
6.4.3. Type of CPT Review and Approval expected:
FastTrack
6.4.4. Project Boundary Conditions:
6.4.5. Is this a necessary project for OEM agreements:
6.4.6. Notes:
6.4.7. Target RTI Date/Release:
Sep 2008
6.4.8. Target Code Design Review Date:
6.4.9. Update approval addition:
6.5. ARC review type:
FastTrack
6.6. ARC Exposure:
open
6.6.1. Rationale:
7. Prototype Availability:
7.1. Prototype Availability:
Prototype available
7.2. Prototype Cost: