searchcode サーバーは、洗練された Web ユーザー インターフェイスを備えた強力なコード検索エンジンです。
searchcode サーバーはソース管理システムと連携して動作し、数千のリポジトリとファイルにインデックスを作成することで、開発者と開発者がチーム間でコードを迅速に検索して再利用できるようにします。
詳細については https://searchcodeserver.com/ を、GIT と SVN を使用して複数のプロジェクトにインデックスを作成するライブ デモについては http://demo.searchcodeserver.com/ を参照してください。
ソースからビルドしている場合はサポートを受けられず、公正なソース ライセンスで指定された制限内で作業する必要があります (詳細については LICENSE.txt を参照)。サポートを購入するには、https://searchcodeserver.com/pricing.html を参照してください。
サーチコード サーバーに統合するコードを送信したい場合は、Apache Public License v2 と GPL v3 に基づいてデュアル ライセンスが付与されていることを指定してください。これにより、将来的にはライセンスの問題を心配することなく、直接取り込むことができます。
送信する前に必ず実行してください (fabric<2.0 EG pip install 'fabric<2.0' が必要です)
fab test
提出物が受け入れられる前に、すべてのテストに合格する必要があります。
サーチコード サーバーを構築するには、Java 11 がインストールされ、Maven がセットアップされた Windows、Linux、または OSX マシンが必要です。理想的には、Python および Python Fabric がインストールされた Unix OS を使用する必要があります。
ファブリック タスク (fab) は現在 Windows ではサポートされていないことに注意してください。これらを使用することはできますが、おそらく Bash for Windows または同様のものの下で使用する必要があります。
JavaScript 単体テストを実行するには、必要に応じてブラウザで実行します。
./src/test/javascript/index.html
アプリケーションをテストするには、次のいずれかを実行できます
mvn test
または
fab test
これらのテストは、一部の統合ユニットと JavaScript ユニットのみをカバーすることに注意してください。フルカバレッジを実行するには
fab test_full
アプリケーションがバックグラウンドで実行され、すべてが期待どおりに動作していることを確認します。
本番環境で使用できる完全リリースの IE を構築するには、次のコマンドを実行する必要があります。
fab build_release
これにより、リリースがリリース フォルダーにコンパイルおよびビルドされ、すぐに展開できるファイル「searchcode-server.tar.gz」が生成されます。
単純にテストして実行したい場合は、次のように実行できます。
fab run
ただし、これはデフォルトでパッケージをビルドして実行します。すばやく実行するには、選択した IDE を開いて App.java の実行を開始するだけです。
GIT およびファイル リポジトリのインデックス作成ロジックが正しく動作することを検証するために使用される特別なテストが多数あります。これを実行するには、次のすべてのシェル スクリプトのいずれかを実行する必要があります。
./assets/integration_test/gitload/gitload.sh
./assets/integration_test/gitupdate/gitupdate.sh
./assets/integration_test/fileupdatetest/fileload.sh
./assets/integration_test/fileload/fileload.sh
次に、git のものを GIT リポジトリとしてアプリケーションに追加し、file のものを FILE リポジトリとして追加します。プロパティを設定するのも便利です
check_repo_chages=60
check_filerepo_changes=60
しかし、それは必須ではありません。次に、サーチコードを実行します。スクリプトは 60 秒ごとにファイルを追加/削除/更新します。これにより、検索コードはできるだけ多くのコード パスにヒットするように、インデックスにファイルを追加/更新/削除する必要があります。これを行うと、常に 400 を超えるドキュメントのインデックスが作成され (4 つのリポジトリすべてにインデックスを作成する場合)、最低 201 のドキュメント (fileload.sh ファイル + fileupdatetest ファイル + gitupdate ファイル) が作成されるはずです。ロジックが正しく動作することを確認するために、数時間にわたって実行したままにしてください。
リリースが作成される前に、ビルドは上記のすべてのチェックに合格する必要があり、インデクサー ロジック テストは少なくとも 24 時間実行されます。パフォーマンスが許容範囲内であることを確認するために、Atom を搭載したネットブックでもテストが実行されます。
searchcode サーバーをローカルで実行するには、Java 11 がインストールされた Windows、Linux、または OSX マシンが必要です。テストとパッケージ化は、以下のバージョンを使用して行われました。
$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.1+13-Debian-2, mixed mode, sharing)
ダウンロードしたファイルを、searchcode サーバーを実行するディレクトリに解凍します。このディレクトリには、インデックスを作成するリポジトリのサイズよりも大きなディスク領域が必要です。
java がパスにあると仮定して解凍すると (java -version コマンドで確認)、Linux/OSX/BSD の場合は次のコマンドで searchcode を実行できるようになります。
./searchcode-server.sh
またはWindowsの場合
searchcode-server.bat
しばらくすると、searchcode サーバーが実行できるようになります。デフォルトでは、ポート 8080 で実行されます。これに接続するには、ブラウザに次のように入力します。
http://SERVER_IP:8080
SERVER_IP は、サーバーの場合は IP アドレス、ローカルで実行されている場合は localhost に必ず置き換えてください。検索バーのあるページが表示されていれば、問題はありません。
さらに制御するには、上記のファイルを編集し、使用する RAM の量を指定する java -Xmx 引数や、渡したいその他の Java オプションを含めることができます。
サーチコード サーバー インスタンスを管理するには、右上の [管理] リンクをクリックする必要があります。デフォルトのパスワード Adm1n234 を入力して (これはプロパティ ファイルで変更します)、git リポジトリを追加します。サポートが必要な場合は、ドキュメント ページ (各ページの下部にあるリンク) を確認してください。
Ubuntu を更新ジョブまたは SystemD ジョブとして使用してセットアップするには、https://searchcodeserver.com/knowledge-base/upstart-and-systemd-startup-scripts-for-ubuntu.html を参照してください。
アップグレードは完全なインデックスの再作成によって行うのが最適であることに常に留意してください。これを行うには、searchcode.properties ファイルで構成したインデックス ディレクトリの内容を削除するか、管理画面の [インデックスの再クロールと再構築] ボタンをクリックします。
searchcode の現在のインスタンスをアップグレードするには、次の手順を実行します。
searchcode サーバーの現在のインスタンスを停止します
現在のインスタンスの searchcode.properties ファイルと searchcode.sqlite ファイルのバックアップ コピーを作成します。
パッケージを新しいディレクトリに解凍します。
どちらでもできます
インスタンスを再度開始します
管理画面にログインし、「インデックスの再クロールと再構築」ボタンをクリックします。
使用できる新しい構成がある可能性があるため、searchcode.properties ファイルを新しいファイル (またはドキュメント ページ) と比較することも価値があります。使用できる新しい設定がある可能性があるため、設定ページも必ず確認してください。
背景画像はコミットされる前に次のコマンドを使用してすべてサイズ変更されます。
convert 1.jpg -quality 75 -resize 1600x1200 1.jpg
Luke を使用してインデックスを検査したい場合は、pom.xml の lucence に一致するバージョンを使用する必要があります。現在、これは 5.5.0 であるため、同じバージョンの luke https://github.com/DmitryKey を使用する必要があります。 /luke/releases/tag/luke-5.5.0
著作権 (c) 2016 Boyter オンライン サービス
このソフトウェアの使用は、LICENSE.txt ファイルに含まれる公正なソース ライセンスによって管理されます。
私の死亡またはこのソフトウェアが放棄された場合に対処するために、バージョン リリースの公開日からちょうど 3 年後にライセンスが変更される未解決の最終条項が設けられています。これは、バージョン 1.0.0 が 2010 年 7 月 1 日にリリースされた場合、リストされている代替ライセンスを使用して 2013 年 7 月 2 日に取得できることを意味します。このライセンス、バージョン、および時間はすべて以下に指定されています。
次の日付以降はまだ指定されていませんが、ソフトウェア バージョン '1.3.15' は、LICENSE.txt ファイルに含まれる公正なソース ライセンスに基づいて、または https://www.gnu で指定された条件を含む GNU 一般公衆利用許諾書バージョン 3 に基づいてデュアル ライセンスが付与されます。 .org/licenses/gpl-3.0.txt
OWASP データベースは https://creativecommons.org/licenses/by-sa/3.0/ の下でライセンスされており、https://codecrawler.codeplex.com/ https://www.owasp.org/index.php/ からクリエイティブ コモンズの下で提供されています。カテゴリ:OWASP_Code_Crawler および https://www.owasp.org/index.php/OWASP_Code_Review_Guide_Table_of_Contents このデータベースは JSON に変更されました必要に応じてスペルと句読点をわずかに修正します。
ファイル分類子データベースは https://creativecommons.org/licenses/by-sa/3.0/ でライセンスされています。