O servidor searchcode é um poderoso mecanismo de pesquisa de código com uma interface de usuário da web elegante.
O servidor searchcode funciona em conjunto com seu sistema de controle de origem, indexando milhares de repositórios e arquivos, permitindo que você e seus desenvolvedores encontrem e reutilizem rapidamente o código entre as equipes.
Consulte https://searchcodeserver.com/ para obter mais detalhes ou http://demo.searchcodeserver.com/ para uma demonstração ao vivo que indexa vários projetos usando GIT e SVN.
Se você estiver construindo a partir do código-fonte, não receberá suporte e deverá trabalhar dentro das restrições especificadas na licença de código-fonte justa (consulte LICENSE.txt para obter detalhes). Para adquirir suporte, consulte https://searchcodeserver.com/pricing.html
Se você deseja enviar código para ser integrado ao servidor searchcode, especifique que ele possui licença dupla sob Apache Public License v2 e GPL v3. Isso permite que ele seja obtido diretamente, sem a necessidade de se preocupar com problemas de licenciamento no futuro.
Antes de fazer qualquer envio, certifique-se de executar (requer fabric<2.0 EG pip install 'fabric<2.0')
fab test
Todos os testes devem ser aprovados antes que qualquer envio seja aceito.
Para construir o servidor searchcode você precisa ter qualquer máquina Windows, Linux ou OSX com Java 11 instalada e configuração maven. Idealmente, você deseja usar um sistema operacional Unix com Python e Python Fabric instalados.
Observe que as tarefas do Fabric (fab) não são atualmente suportadas no Windows. Você pode tentar usá-los, mas provavelmente será necessário no Bash para Windows ou algo semelhante.
Para executar os testes de unidade javascript, execute-os em seu navegador, se necessário, abrindo
./src/test/javascript/index.html
Para testar o aplicativo você pode executar
mvn test
ou
fab test
Observe que esses testes cobrirão apenas unidades de integração e unidades javascript. Para execução de cobertura total
fab test_full
com o aplicativo sendo executado em segundo plano para garantir que tudo esteja funcionando conforme o esperado.
Para construir um IE de versão completa pronto para produção, você deve executar
fab build_release
que testará a compilação e criará uma versão na pasta de lançamento e produzirá o arquivo "searchcode-server.tar.gz", que é uma versão pronta para implantação.
Se você quiser simplesmente testar e executar, você pode executar
fab run
no entanto, este será o padrão para construir um pacote e executá-lo. Para executar rapidamente, basta abrir no IDE de sua preferência e começar a executar o App.java
Há vários testes especiais usados para verificar se a lógica de indexação dos repositórios GIT e de arquivos funciona corretamente. Para fazer isso, você precisa executar um dos seguintes scripts de shell,
./assets/integration_test/gitload/gitload.sh
./assets/integration_test/gitupdate/gitupdate.sh
./assets/integration_test/fileupdatetest/fileload.sh
./assets/integration_test/fileload/fileload.sh
Em seguida, adicione os git como repositórios GIT no aplicativo e os arquivos como repositórios FILE. Também é útil definir as propriedades
check_repo_chages=60
check_filerepo_changes=60
mas não é obrigatório. Em seguida, execute o código de pesquisa. Os scripts irão adicionar/remover/atualizar arquivos a cada 60 segundos, o que deve forçar o searchcode a adicionar/atualizar/remover arquivos do índice em uma tentativa de atingir o maior número possível de caminhos de código. Feito isso, não deve haver mais de 400 documentos indexados a qualquer momento (se estiver indexando todos os 4 repositórios) e um mínimo de 201 (os arquivos fileload.sh + arquivos fileupdatetest + arquivos gitupdate). Deixe tudo funcionando por várias horas para garantir que a lógica funcione corretamente.
Antes de um lançamento ser feito, uma compilação deve passar por todas as verificações acima, com os testes lógicos do indexador sendo executados por no mínimo 24 horas. Para garantir que o desempenho seja aceitável, os testes também são executados em um netbook com tecnologia Atom.
Para executar o servidor searchcode localmente, você precisará ter qualquer máquina Windows, Linux ou OSX com Java 11 instalada. O teste e o empacotamento foram feitos usando a versão abaixo.
$ 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)
Descompacte o arquivo que você baixou em um diretório onde deseja executar o servidor searchcode. Este diretório deve ter mais espaço em disco do que o tamanho dos repositórios que você deseja indexar.
Depois de descompactado, assumindo que java está em seu caminho (verifique com o comando java -version), você poderá executar o searchcode com o seguinte comando para Linux/OSX/BSD
./searchcode-server.sh
ou para Windows
searchcode-server.bat
Após alguns momentos, o servidor searchcode deve estar pronto para ser executado. Por padrão, ele estará rodando na porta 8080. Para conectar-se a ele, digite o seguinte no navegador,
http://SERVER_IP:8080
Certifique-se de substituir SERVER_IP pelo endereço IP se o seu servidor ou localhost estiver executando localmente. Se você vir uma página com uma barra de pesquisa, está tudo bem.
Para maior controle, você pode editar os arquivos acima e incluir o argumento java -Xmx para especificar a quantidade de RAM a ser usada ou qualquer outra opção java que você deseja passar.
Para administrar sua instância do servidor searchcode, você precisa clicar no link Admin no canto superior direito. Digite a senha padrão Adm1n234 (altere por meio do arquivo de propriedades) para adicionar repositórios git. Se precisar de ajuda, verifique a página de documentação (link na parte inferior de cada página).
Para configurar usando o Ubuntu como um trabalho de atualização ou SystemD, consulte https://searchcodeserver.com/knowledge-base/upstart-and-systemd-startup-scripts-for-ubuntu.html
Tenha sempre em mente que as atualizações são melhor realizadas com uma reindexação completa. Você pode fazer isso excluindo o conteúdo do diretório de índice que você configurou em seu arquivo searchcode.properties ou clicando no botão "Recrawl & Rebuild Indexes" na tela de administração.
Para atualizar sua instância atual do searchcode, execute as etapas a seguir.
Pare sua instância atual do servidor searchcode
Faça uma cópia de backup dos arquivos searchcode.properties e searchcode.sqlite de suas instâncias atuais.
Descompacte o pacote em um novo diretório.
Você pode
Inicie sua instância novamente
Faça login na tela de administração e clique no botão "Recrawl & Rebuild Indexes"
Também vale a pena comparar seu arquivo searchcode.properties com o novo (ou com a página de documentação), pois pode haver uma nova configuração que você pode usar. Certifique-se também de verificar a página de configurações, pois é provável que haja novas configurações que você pode usar.
As imagens de fundo são todas redimensionadas usando o seguinte comando antes de serem confirmadas
convert 1.jpg -quality 75 -resize 1600x1200 1.jpg
Se você deseja usar Luke para inspecionar o índice, você precisará usar qualquer versão que corresponda a lucence no pom.xml. Atualmente é 5.5.0, então você precisará usar a mesma versão de luke https://github.com/DmitryKey /luke/releases/tag/luke-5.5.0
Copyright (c) 2016 Serviços Online da Boyter
O uso deste software é regido pela Fair Source License incluída no arquivo LICENSE.txt
Para lidar com o caso de minha morte ou abandono deste software, ele possui uma cláusula aberta onde a licença será alterada exatamente 3 anos após a data de publicação do lançamento de uma versão. Isso significa que se a versão 1.0.0 foi lançada em 1º de julho de 2010, ela poderá ser obtida usando a licença alternativa listada em 2 de julho de 2013. Esta licença, versão e horário estão especificados abaixo.
Após a data seguinte NÃO ESPECIFICADA AINDA, a versão do software '1.3.15' será licenciada duplamente sob a Fair Source License incluída no arquivo LICENSE.txt ou sob a GNU General Public License Versão 3 com os termos especificados em https://www.gnu .org/licenses/gpl-3.0.txt
O banco de dados OWASP é licenciado sob https://creativecommons.org/licenses/by-sa/3.0/ e fornecido sob Creative Commons em https://codecrawler.codeplex.com/ https://www.owasp.org/index.php/ Categoria:OWASP_Code_Crawler e https://www.owasp.org/index.php/OWASP_Code_Review_Guide_Table_of_Contents este banco de dados foi modificado para JSON e com pequenas correções de ortografia e pontuação quando aplicável.
O banco de dados classificador de arquivos está licenciado em https://creativecommons.org/licenses/by-sa/3.0/