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 06:45] – [Config Tomcat and check] 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/ | ||
+ | </ |