HOME

TheInfoList



OR:

OpenGrok is a
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
search and cross-reference engine. It helps programmers to search, cross-reference, and navigate source code trees to aid code comprehension. It can understand various
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Progra ...
file formats A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free. Some file formats ...
and
version control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
histories like
Monotone Monotone refers to a sound, for example music or speech, that has a single unvaried tone. See: monophony. Monotone or monotonicity may also refer to: In economics *Monotone preferences, a property of a consumer's preference ordering. *Monotonic ...
, SCCS,
RCS RCS may refer to: Organisations *Racing Club de Strasbourg Alsace * Radio Corporation of Singapore *Radcliffe Choral Society * Rawmarsh Community School *Red Crescent Society *Red Cross Society * Representation of Czechs and Slovaks, a football t ...
, CVS,
Subversion Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
,
Mercurial Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux. Mercurial's major design goals include high performance and scalability, d ...
,
Git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
,
Clearcase Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus enab ...
,
Perforce Perforce, legally Perforce Software, Inc., is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle mana ...
, and
Bazaar A bazaar () or souk (; also transliterated as souq) is a marketplace consisting of multiple small Market stall, stalls or shops, especially in the Middle East, the Balkans, North Africa and India. However, temporary open markets elsewhere, suc ...
. The name comes from the term ''
grok ''Grok'' is a neologism coined by American writer Robert A. Heinlein for his 1961 science fiction novel ''Stranger in a Strange Land''. While the ''Oxford English Dictionary'' summarizes the meaning of ''grok'' as "to understand intuitively or ...
'', a
jargon Jargon is the specialized terminology associated with a particular field or area of activity. Jargon is normally employed in a particular Context (language use), communicative context and may not be well understood outside that context. The conte ...
term used in computing to mean "profoundly understand." OpenGrok is being developed mainly by the community with the help of a few engineers from
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
(which absorbed
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
). OpenGrok is released under the terms of the
Common Development and Distribution License The Common Development and Distribution License (CDDL) is a free and open-source software license, produced by Sun Microsystems, based on the Mozilla Public License (MPL). Files licensed under the CDDL can be combined with files licensed under o ...
(CDDL). It is mainly written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, with some tooling done in
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
. It relies on the analysis done by
Ctags Ctags is a programming tool that generates an index (or tag) file of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and ...
. There is an official Docker image available.


Features

OpenGrok supports: * Full text Search * Definition Search * Identifier Search * Path search * History Search * Shows matching lines * Hierarchical Search * query syntax like ''AND'', ''OR'', ''field'': * Incremental update * Syntax highlighting cross references (Xref) * Quick navigation inside the file * Interface for SCM * Usable URLs * Individual file download * Changes at directory level * Multi language support * Suggester * RESTful API


See also

*
LXR Cross Referencer LXR Cross Referencer, usually known as LXR, is a general-purpose source code indexer and cross-referencer for code comprehension that provides web-based browsing of source code, with links to the definition and usage of any identifier. Hist ...
*
ViewVC ViewVC (formerly ViewCVS) is an open-source software, open-source tool for viewing the contents of Concurrent Versions System, CVS and Apache Subversion, SVN repositories using a web browser. It allows looking at specific revisions of files as wel ...
*
FishEye (software) Fisheye is a revision-control browser and search engine owned by Atlassian, Inc. Although Fisheye is a commercial product, it is freely available to open source projects and non-profit institutions. In addition to the advanced search and diff cap ...


References


External links

*
OpenGrok demo site
*
Super User's BSD Cross Reference
Code comprehension tools Code navigation tools Cross-platform free software Free version control software Source code Java platform software Concurrent Versions System Apache Subversion Code search engines {{programming-software-stub