searchcodeengine
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| searchcodeengine [2014/06/14 08:14] – [Rebuild OpenGrok] admin | searchcodeengine [2022/10/29 16:15] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Search Code Engine ====== | ||
| + | ===== Comparion Seach Code Engine Tools ===== | ||
| + | Reference at https:// | ||
| + | ^Feature^LXR^ctags^cscope^ViewVC^GNU GLOBAL^OpenGrok^ | ||
| + | |Full text Search| Y| | Y| | Y| Y| | ||
| + | |Definition Search| P| Y| Y| | Y| Y| | ||
| + | |Identifier Search| Y| | Y| | Y| Y| | ||
| + | |Path search| Y| | Y| | Y| Y| | ||
| + | |History Search| | | | | | Y| | ||
| + | |Caller/ | ||
| + | |RegExp Search| | | Y| | Y| P (only wildcards)| | ||
| + | |Shows matching lines| | Y| Y| | Y| Y| | ||
| + | |Hierarchical Search| | | | | Y| Y| | ||
| + | |query syntax like AND, OR, field:| | | | | | Y| | ||
| + | |Incremental update| | | P| | Y| Y| | ||
| + | |RSS Feed| | | | Y| | Y| | ||
| + | |Syntax highlighting-Xref| Y| | | P| Y| Y| | ||
| + | |Interface for SCM| | | | Y| Y| Y| | ||
| + | |open source| Y| Y| Y| Y| Y| Y| | ||
| + | |Usable URLs| Y| N/A| N/A| | Y| Y| | ||
| + | |Individual file download| | N/A| N/A| Y| N/A| Y| | ||
| + | |Changes at directory level| | N/A| N/A| P| N/A| Y| | ||
| + | |Multi language support| P| Y| P| N/A| Y| Y| | ||
| + | |User interface| WEB| CLI| CLI| WEB| WEB / CLI| WEB / CLI| | ||
| + | |Static HTML| | | | | Y| P (for xrefs)| | ||
| + | |Input completion| | | | | Y| P (with greasemonkey script)| | ||
| + | |Built-in parser| | Y| Y| | Y| P (lexical analysis)| | ||
| + | |Plug-in parser| | | | | Y| | | ||
| + | |Integration with (exuberant) ctags| | N/A| | | Y| Y| | ||
| + | |Integration with cscope| | | N/A| | Y| | | ||
| + | |Integration with emacs| | Y| Y| | Y| | | ||
| + | |Integration with vim| | Y| Y| | Y| P (through https:// | ||
| + | |Integration with doxygen| | | | | Y| | | ||
| + | |Integration with Netbeans| | | | | | | | ||
| + | |Integration with less| | Y| | | Y| | | ||
| + | |Integration with bash| | | | | Y| | | ||
| + | |Integration with idutils| | | | | Y| | | ||
| + | |Integration with Elvis| | Y| | | Y| | ||
| + | And about language support, OpenGrok support the most programming languages: | ||
| + | ===== Ctags ===== | ||
| + | Install Ctags: | ||
| + | * Download Ctags at link http:// | ||
| + | * Install <code bash> | ||
| + | tar xf ctags-5.8.tar.gz | ||
| + | cd ctags-5.8 | ||
| + | ./configure | ||
| + | make | ||
| + | make install | ||
| + | </ | ||
| + | ===== lxr ===== | ||
| + | ==== Install and config lxr with Ctags ==== | ||
| + | Get lxr at link http:// | ||
| + | |||
| + | === Pre-requisites === | ||
| + | Run below command to check packages missing:< | ||
| + | ./genxref --checkonly | ||
| + | </ | ||
| + | * Install perl File: | ||
| + | yum install perl-ExtUtils-MakeMaker | ||
| + | wget http:// | ||
| + | tar xf File-MMagic-1.30.tar.gz | ||
| + | cd File-MMagic-1.30 | ||
| + | perl perl Makefile.PL | ||
| + | make & make install | ||
| + | </ | ||
| + | * Install perl Glimpse:< | ||
| + | yum install perl-Module-Build | ||
| + | yum install perl-Test-Pod | ||
| + | yum install perl-Test-Pod-Coverage | ||
| + | wget http:// | ||
| + | tar xf glimpse-latest.tar.gz | ||
| + | cd glimpse-4.18.6/ | ||
| + | ./configure | ||
| + | make & make install | ||
| + | </ | ||
| + | * Install mod_perl for apache:< | ||
| + | yum install perl-ExtUtils-Embed | ||
| + | wget http:// | ||
| + | tar xf mod_perl-2.0.8.tar.gz | ||
| + | cd mod_perl-2.0.8 | ||
| + | perl Makefile.PL MP_APXS=/ | ||
| + | make & make install | ||
| + | </ | ||
| + | * Install mod_version:< | ||
| + | / | ||
| + | version_module (static) | ||
| + | Syntax OK | ||
| + | </ | ||
| + | === Install and Config lxr === | ||
| + | - Install:< | ||
| + | mkdir -p / | ||
| + | cp -R lxr-2.0.2/* / | ||
| + | </ | ||
| + | - Run script configure lxr with defauld configuration and below changes:< | ||
| + | ./ | ||
| + | Configure for single/ | ||
| + | Server type? [dedicated/ | ||
| + | --- Host name or IP? [// | ||
| + | --- DB user name? [lxr] > | ||
| + | --- DB password ? [lxrpw] > xxxxx | ||
| + | --- Directory for glimpse databases? >/ | ||
| + | Is your Apache version 2.4 or higher? [YES/no] > no | ||
| + | </ | ||
| + | --- Caption in page header? (e.g. Project XYZZY displayed by LXR) > python | ||
| + | --- Short title for button? (e.g. XYZZY) > python | ||
| + | --- Tree identification in URL? (e.g. the-tree) > python | ||
| + | --- Source directory? (e.g. / | ||
| + | --- Database name? > python | ||
| + | --- Version name? > 2.7 | ||
| + | *** Configure another tree? [YES/no] > no | ||
| + | </ | ||
| + | - prepare config and check< | ||
| + | cp custom.d/ | ||
| + | ./genxref --checkonly | ||
| + | </ | ||
| + | [ OK ] | ||
| + | [ OK ] | ||
| + | Checked: | ||
| + | Checked: glimpseindex version ... 4.18.5 | ||
| + | Parameter ' | ||
| + | swish-e not found, `command -v swish-e` returned a null string | ||
| + | genxref stopped without indexing by --checkonly option | ||
| + | </ | ||
| + | - Edit config lxr.conf:< | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | </ | ||
| + | ( | ||
| + | { | ||
| + | ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | ] | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | ' | ||
| + | , ' | ||
| + | ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | } | ||
| + | , { | ||
| + | ' | ||
| + | , | ||
| + | ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | { ' | ||
| + | { ' | ||
| + | , ' | ||
| + | 2.7 | ||
| + | )] | ||
| + | } | ||
| + | } | ||
| + | , ' | ||
| + | } | ||
| + | ) | ||
| + | </ | ||
| + | - Run script create new mysql user for tree and init database:< | ||
| + | ./ | ||
| + | </ | ||
| + | - Re-grant sql access for lxr user: <code sql> | ||
| + | grant all privileges on python.* to ' | ||
| + | </ | ||
| + | - Generate Index< | ||
| + | | ||
| + | </ | ||
| + | === config apache for running first tree source === | ||
| + | < | ||
| + | NameVirtualHost *:80 | ||
| + | < | ||
| + | DocumentRoot | ||
| + | ServerName | ||
| + | </ | ||
| + | < | ||
| + | PerlSwitches -T | ||
| + | </ | ||
| + | < | ||
| + | PerlTaintCheck On | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | PerlPostConfigRequire / | ||
| + | </ | ||
| + | < | ||
| + | PerlRequire / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Options FollowSymLinks | ||
| + | AllowOverride AuthConfig FileInfo Limit Options | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | </ | ||
| + | ==== Create and config new tree source with perl script ==== | ||
| + | * Run script create new tree source with below change configuration:< | ||
| + | ./ | ||
| + | --- Caption in page header? (e.g. Project XYZZY displayed by LXR) > drupal | ||
| + | --- Short title for button? (e.g. XYZZY) > drupal | ||
| + | --- Tree identification in URL? (e.g. the-tree) > drupal | ||
| + | --- Source directory? (e.g. / | ||
| + | --- Version name? > 7.28 | ||
| + | </ | ||
| + | * Update configuration: | ||
| + | cp ./ | ||
| + | ./ | ||
| + | </ | ||
| + | * Index your trees: Run the genxref script for each tree< | ||
| + | | ||
| + | </ | ||
| + | ==== Create and config new tree source no perl script ==== | ||
| + | * grant for user lxr access database drupal:< | ||
| + | GRANT ALL privileges ON drupal.* TO ' | ||
| + | </ | ||
| + | * create perl script initdb_drupal.sh:< | ||
| + | echo "*** MySQL - Creating tree database drupal" | ||
| + | mysql -u lxr -plxr12!@ << | ||
| + | drop database if exists drupal; | ||
| + | create database drupal; | ||
| + | END_OF_CREATE | ||
| + | |||
| + | echo "*** MySQL - Configuring tables lxr_ in database drupal" | ||
| + | mysql -u lxr -plxr12!@ << | ||
| + | use drupal; | ||
| + | |||
| + | drop table if exists lxr_filenum; | ||
| + | drop table if exists lxr_symnum; | ||
| + | drop table if exists lxr_typenum; | ||
| + | |||
| + | create table lxr_filenum | ||
| + | ( rcd int primary key | ||
| + | , fid int | ||
| + | ); | ||
| + | insert into lxr_filenum | ||
| + | (rcd, fid) VALUES (0, 0); | ||
| + | |||
| + | create table lxr_symnum | ||
| + | ( rcd int primary key | ||
| + | , sid int | ||
| + | ); | ||
| + | insert into lxr_symnum | ||
| + | (rcd, sid) VALUES (0, 0); | ||
| + | |||
| + | create table lxr_typenum | ||
| + | ( rcd int primary key | ||
| + | , tid int | ||
| + | ); | ||
| + | insert into lxr_typenum | ||
| + | (rcd, tid) VALUES (0, 0); | ||
| + | |||
| + | alter table lxr_filenum | ||
| + | engine = MyISAM; | ||
| + | alter table lxr_symnum | ||
| + | engine = MyISAM; | ||
| + | alter table lxr_typenum | ||
| + | engine = MyISAM; | ||
| + | |||
| + | |||
| + | /* Base version of files */ | ||
| + | / | ||
| + | of the file | ||
| + | */ | ||
| + | create table lxr_files | ||
| + | ( fileid | ||
| + | , filename | ||
| + | , revision | ||
| + | , constraint lxr_uk_files | ||
| + | unique (filename, revision) | ||
| + | , index lxr_filelookup (filename) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* Status of files in the DB */ | ||
| + | / | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | /* Deletion of a record automatically removes the associated | ||
| + | * base version files record. | ||
| + | */ | ||
| + | create table lxr_status | ||
| + | ( fileid | ||
| + | , relcount | ||
| + | , indextime int | ||
| + | , status | ||
| + | , constraint lxr_fk_sts_file | ||
| + | foreign key (fileid) | ||
| + | references lxr_files(fileid) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* The following trigger deletes no longer referenced files | ||
| + | * (from releases), once status has been deleted so that | ||
| + | * foreign key constrained has been cleared. | ||
| + | */ | ||
| + | drop trigger if exists lxr_remove_file; | ||
| + | create trigger lxr_remove_file | ||
| + | after delete on lxr_status | ||
| + | for each row | ||
| + | delete from lxr_files | ||
| + | where fileid = old.fileid; | ||
| + | |||
| + | /* Aliases for files */ | ||
| + | /* A base version may be known under several releaseids | ||
| + | * if it did not change in-between. | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | create table lxr_releases | ||
| + | ( fileid | ||
| + | , releaseid varbinary(255) not null | ||
| + | , constraint lxr_pk_releases | ||
| + | primary key (fileid, releaseid) | ||
| + | , constraint lxr_fk_rls_fileid | ||
| + | foreign key (fileid) | ||
| + | references lxr_files(fileid) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* The following triggers maintain relcount integrity | ||
| + | * in status table after insertion/ | ||
| + | */ | ||
| + | drop trigger if exists lxr_add_release; | ||
| + | create trigger lxr_add_release | ||
| + | after insert on lxr_releases | ||
| + | for each row | ||
| + | update lxr_status | ||
| + | set relcount = relcount + 1 | ||
| + | where fileid = new.fileid; | ||
| + | /* Note: a release is erased only when option --reindexall | ||
| + | * is given to genxref; it is thus necessary to reset status | ||
| + | * to cause reindexing, especially if the file is shared by | ||
| + | * several releases | ||
| + | */ | ||
| + | drop trigger if exists lxr_remove_release; | ||
| + | create trigger lxr_remove_release | ||
| + | after delete on lxr_releases | ||
| + | for each row | ||
| + | update lxr_status | ||
| + | set relcount = relcount - 1 | ||
| + | -- , status = 0 | ||
| + | where fileid = old.fileid | ||
| + | and relcount > 0; | ||
| + | |||
| + | /* Types for a language */ | ||
| + | / | ||
| + | */ | ||
| + | create table lxr_langtypes | ||
| + | ( typeid | ||
| + | , langid | ||
| + | , declaration | ||
| + | , constraint lxr_pk_langtypes | ||
| + | primary key (typeid, langid) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* Symbol name dictionary */ | ||
| + | / | ||
| + | * symcount: | ||
| + | | ||
| + | */ | ||
| + | create table lxr_symbols | ||
| + | ( symid int not null primary key | ||
| + | , symcount int | ||
| + | , symname | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* The following function decrements the symbol reference count | ||
| + | * (to be used in triggers). | ||
| + | */ | ||
| + | delimiter // | ||
| + | create procedure lxr_decsym(in whichsym int) | ||
| + | begin | ||
| + | update lxr_symbols | ||
| + | set symcount = symcount - 1 | ||
| + | where symid = whichsym | ||
| + | and symcount > 0; | ||
| + | end// | ||
| + | delimiter ; | ||
| + | |||
| + | /* Definitions */ | ||
| + | / | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | create table lxr_definitions | ||
| + | ( symid | ||
| + | , fileid | ||
| + | , line int not null | ||
| + | , typeid | ||
| + | , langid | ||
| + | , relid int | ||
| + | , index lxr_i_definitions (symid) | ||
| + | , constraint lxr_fk_defn_symid | ||
| + | foreign key (symid) | ||
| + | references lxr_symbols(symid) | ||
| + | , constraint lxr_fk_defn_fileid | ||
| + | foreign key (fileid) | ||
| + | references lxr_files(fileid) | ||
| + | , constraint lxr_fk_defn_type | ||
| + | foreign key (typeid, langid) | ||
| + | references lxr_langtypes(typeid, | ||
| + | , constraint lxr_fk_defn_relid | ||
| + | foreign key (relid) | ||
| + | references lxr_symbols(symid) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* The following trigger maintains correct symbol reference count | ||
| + | * after definition deletion. | ||
| + | */ | ||
| + | delimiter // | ||
| + | drop trigger if exists lxr_remove_definition; | ||
| + | create trigger lxr_remove_definition | ||
| + | after delete on lxr_definitions | ||
| + | for each row | ||
| + | begin | ||
| + | call lxr_decsym(old.symid); | ||
| + | if old.relid is not null | ||
| + | then call lxr_decsym(old.relid); | ||
| + | end if; | ||
| + | end// | ||
| + | delimiter ; | ||
| + | |||
| + | /* Usages */ | ||
| + | create table lxr_usages | ||
| + | ( symid int not null | ||
| + | , fileid | ||
| + | , line int not null | ||
| + | , index lxr_i_usages (symid) | ||
| + | , constraint lxr_fk_use_symid | ||
| + | foreign key (symid) | ||
| + | references lxr_symbols(symid) | ||
| + | , constraint lxr_fk_use_fileid | ||
| + | foreign key (fileid) | ||
| + | references lxr_files(fileid) | ||
| + | ) | ||
| + | engine = MyISAM; | ||
| + | |||
| + | /* The following trigger maintains correct symbol reference count | ||
| + | * after usage deletion. | ||
| + | */ | ||
| + | drop trigger if exists lxr_remove_usage; | ||
| + | create trigger lxr_remove_usage | ||
| + | after delete on lxr_usages | ||
| + | for each row | ||
| + | call lxr_decsym(old.symid); | ||
| + | |||
| + | delimiter // | ||
| + | create procedure lxr_PurgeAll () | ||
| + | begin | ||
| + | set @old_check = @@session.foreign_key_checks; | ||
| + | set session foreign_key_checks = OFF; | ||
| + | truncate table lxr_filenum; | ||
| + | truncate table lxr_symnum; | ||
| + | truncate table lxr_typenum; | ||
| + | insert into lxr_filenum | ||
| + | (rcd, fid) VALUES (0, 0); | ||
| + | insert into lxr_symnum | ||
| + | (rcd, sid) VALUES (0, 0); | ||
| + | insert into lxr_typenum | ||
| + | (rcd, tid) VALUES (0, 0); | ||
| + | truncate table lxr_definitions; | ||
| + | truncate table lxr_usages; | ||
| + | truncate table lxr_langtypes; | ||
| + | truncate table lxr_symbols; | ||
| + | truncate table lxr_releases; | ||
| + | truncate table lxr_status; | ||
| + | truncate table lxr_files; | ||
| + | set session foreign_key_checks = @old_check; | ||
| + | end// | ||
| + | delimiter ; | ||
| + | END_OF_TEMPLATE | ||
| + | </ | ||
| + | * add config for drupal in lxr.conf:< | ||
| + | ,{ | ||
| + | ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | , ' | ||
| + | { ' | ||
| + | { ' | ||
| + | , ' | ||
| + | 7.28 | ||
| + | )] | ||
| + | } | ||
| + | } | ||
| + | , ' | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | * run Index for drupal:< | ||
| + | | ||
| + | </ | ||
| + | ===== OpenGrok ===== | ||
| + | {{: | ||
| + | ==== Requirements for Install ==== | ||
| + | Requirements: | ||
| + | * [[http:// | ||
| + | * [[searchcodeengine# | ||
| + | * Webserver [[http:// | ||
| + | Install requirements on CentOS:< | ||
| + | yum install java-1.7.0-openjdk | ||
| + | yum install tomcat6 | ||
| + | </ | ||
| + | ==== Install on CentOS ==== | ||
| + | <code bash> | ||
| + | wget https:// | ||
| + | tar xf opengrok-0.12.1.tar.gz | ||
| + | cp -R opengrok-0.12.1 /usr/local | ||
| + | </ | ||
| + | ==== Index and install web application opengrok ==== | ||
| + | - Deploy the web application< | ||
| + | cd / | ||
| + | ./OpenGrok deploy | ||
| + | </ | ||
| + | - Remove unused source in /data/code and run Index to generate project config files:< | ||
| + | cd /data/code | ||
| + | for ext in pyo pyc so gz zip; do echo " | ||
| + | for ext in pyo pyc so gz zip; do echo " | ||
| + | </ | ||
| + | cd / | ||
| + | ./OpenGrok index /data/code/ | ||
| + | </ | ||
| + | 00:03:41 SEVERE: Failed to send configuration to localhost: | ||
| + | java.net.ConnectException: | ||
| + | .................. | ||
| + | </ | ||
| + | - Check search code after index:< | ||
| + | java -cp ./ | ||
| + | </ | ||
| + | - Restart tomcat6:< | ||
| + | / | ||
| + | </ | ||
| + | ==== Config Tomcat and check ==== | ||
| + | === Understand directory structuer and environment in tomcat6 === | ||
| + | Directory structure of tomcat6 on centos: | ||
| + | drwxr-xr-x 2 root root 4096 Jun 14 09:43 bin | ||
| + | lrwxrwxrwx 1 root tomcat | ||
| + | lrwxrwxrwx 1 root root 23 Jun 14 09:43 lib -> / | ||
| + | lrwxrwxrwx 1 root root 16 Jun 14 09:43 logs -> / | ||
| + | lrwxrwxrwx 1 root root 23 Jun 14 09:43 temp -> / | ||
| + | lrwxrwxrwx 1 root root 24 Jun 14 09:43 webapps -> / | ||
| + | lrwxrwxrwx 1 root root 23 Jun 14 09:43 work -> / | ||
| + | </ | ||
| + | And environment variables for tomcat server:< | ||
| + | ps -eaf | grep tomcat | ||
| + | </ | ||
| + | <code java> | ||
| + | / | ||
| + | -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory | ||
| + | -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory | ||
| + | -classpath :/ | ||
| + | -Dcatalina.base=/ | ||
| + | -Dcatalina.home=/ | ||
| + | -Djava.endorsed.dirs= | ||
| + | -Djava.io.tmpdir=/ | ||
| + | -Djava.util.logging.config.file=/ | ||
| + | -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap | ||
| + | start | ||
| + | </ | ||
| + | === Check search code === | ||
| + | goto link: | ||
| + | ==== Rebuild OpenGrok from source ==== | ||
| + | === Requirements === | ||
| + | Requirements: | ||
| + | * JDK 1.7 or higher | ||
| + | * Apache Ant 1.8 or later | ||
| + | Prepare requirements on centos: | ||
| + | * Install JDK 1.7:< | ||
| + | yum install java-1.7.0-openjdk | ||
| + | yum install java-1.7.0-openjdk-devel | ||
| + | </ | ||
| + | * Install Ant 1.8 <code bash> | ||
| + | wget http:// | ||
| + | tar xf apache-ant-1.8.0-bin.tar.gz | ||
| + | cp -R apache-ant-1.8.0 /usr/local | ||
| + | </ | ||
| + | === Rebuild OpenGrok === | ||
| + | * Prepare environment:< | ||
| + | export JAVA_HOME=/ | ||
| + | export PATH=$PATH:/ | ||
| + | </ | ||
| + | * Build:< | ||
| + | wget https:// | ||
| + | tar xf 0.12.1.tar.gz | ||
| + | cd OpenGrok-0.12.1 | ||
| + | ant | ||
| + | </ | ||
| + | ................... | ||
| + | -copy-lib-without-netbeans: | ||
| + | | ||
| + | | ||
| + | |||
| + | -post-jar: | ||
| + | [war] Building war: / | ||
| + | | ||
| + | |||
| + | jar: | ||
| + | |||
| + | BUILD SUCCESSFUL | ||
| + | Total time: 16 seconds | ||
| + | </ | ||
| + | === Edit for recognizing drupal file === | ||
| + | Go to directory **OpenGrok-0.12.1/ | ||
| + | ==== Reindex source ==== | ||
| + | - Update new source code to /data/code, for example python2.7:< | ||
| + | rm -rf / | ||
| + | cp -R / | ||
| + | </ | ||
| + | - Remove code unused:< | ||
| + | cd /data/code | ||
| + | for ext in dll gif ico pxd o git hg svn pyo pyc so gz zip; do echo " | ||
| + | for ext in dll gif ico pxd o git hg svn pyo pyc so gz zip; do echo " | ||
| + | </ | ||
| + | - reindex the / | ||
| + | cd / | ||
| + | ./OpenGrok index /data/code/ | ||
| + | </ | ||
