Giter Site home page Giter Site logo

abdolzx / whois Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ripe-ncc/whois

0.0 0.0 0.0 26.45 MB

RIPE Database whois code repository

License: Other

Shell 0.04% Python 0.03% C 1.38% Java 58.45% Groovy 38.17% Makefile 0.02% PLpgSQL 0.01% Yacc 1.05% Lex 0.83% Roff 0.02%

whois's Introduction

RIPE Whois Database

License

This software is distributed under the BSD License. See: https://raw.github.com/RIPE-NCC/whois/master/LICENSE.md

License

Running Integration Tests for Development

It is preferable to write integration tests during development, and commit them along with any code changes. All dependencies apart from the database are mocked.

Running Whois Locally For Development

You can run a standalone Whois server locally. Dependencies must be configured in a local properties file.

More information here

Running within an IDE

See Running whois from within Intellij for instructions.

Running outside an IDE

Git

Configure pre-commit hooks

Pre-commit hook can be found in tools/precommitcheck. This can be optionally configured by running: ln -fsv tools/precommitcheck .git/hooks/pre-commit

Tests

Run a single integration test

mvn clean install -DfailIfNoTests=false -Pintegration -Dit.test=NrtmClientInvalidHostTestIntegration

Run all integration tests in a single module

mvn clean install -Pintegration -pl whois-query

Configure Ajc (AspectJ) Compiler

Whois uses AspectJ to perform compile-time aspect weaving of the code. This is needed for some functionality, e.g. the @RetryFor annotation.

Compile-time weaving works during a command-line Maven build, as the pom.xml uses aspectj-maven-plugin.

Any code that depends on AspectJ will fail if modified in IntelliJ without using the Ajc (AspectJ) compiler.

You can configure Ajc in the Preferences as follows:

  • First install the AspectJ plugin provided by JetBrains from the IDE plugin repository
  • Go to Build, Execution, Deployment -> Compiler -> Java Compiler
    • Choose "Use Compiler: Ajc"
    • Configure Path to aspectjtools.jar, e.g. ~/.m2/repository/org/aspectj/aspectjtools/1.9.8/aspectjtools-1.9.7.jar
    • Press "Test" to confirm it's working.
  • Go to Build, Execution, Deployment -> Build Tools -> Maven -> Importing
    • Uncheck "Detect compiler automatically" (otherwise IntelliJ will revert from Ajc to JavaC)

whois's People

Contributors

eshryane avatar agoston avatar angelaripe avatar tpolychniatis avatar miguelahm avatar maggarwal13 avatar fvisser avatar sbusk avatar dependabot[bot] avatar ripe-denis avatar hhazewinkel avatar omuravskiy avatar dadepo avatar dacruz avatar petchells avatar job avatar isvonja avatar dragank avatar gabriel-a avatar fmurodov avatar jbartolini avatar marcgrol avatar tdacruz avatar tomhrr avatar warpian avatar gktheone avatar hanswesterbeek avatar benkovsk avatar jlleitschuh avatar lolepezy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.