b8ae2a2af4
Motivation: HTTP is a plaintext protocol which means that someone may be able to eavesdrop the data. To prevent this, HTTPS should be used whenever possible. However, maintaining using https:// in all URLs may be difficult. The nohttp tool can help here. The tool scans all the files in a repository and reports where http:// is used. Modifications: - Added nohttp (via checkstyle) into the build process. - Suppressed findings for the websites that don't support HTTPS or that are not reachable Result: - Prevent using HTTP in the future. - Encourage users to use HTTPS when they follow the links they found in the code.
65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
# Netty Project
|
|
|
|
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
|
|
|
|
## Links
|
|
|
|
* [Web Site](https://netty.io/)
|
|
* [Downloads](https://netty.io/downloads.html)
|
|
* [Documentation](https://netty.io/wiki/)
|
|
* [@netty_project](https://twitter.com/netty_project)
|
|
|
|
## How to build
|
|
|
|
For the detailed information about building and developing Netty, please visit [the developer guide](https://netty.io/wiki/developer-guide.html). This page only gives very basic information.
|
|
|
|
You require the following to build Netty:
|
|
|
|
* Latest stable [Oracle JDK 7](https://www.oracle.com/technetwork/java/)
|
|
* Latest stable [Apache Maven](https://maven.apache.org/)
|
|
* If you are on Linux, you need [additional development packages](https://netty.io/wiki/native-transports.html) installed on your system, because you'll build the native transport.
|
|
|
|
Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.
|
|
|
|
## Branches to look
|
|
|
|
Development of all versions takes place in each branch whose name is identical to `<majorVersion>.<minorVersion>`. For example, the development of 3.9 and 4.0 resides in [the branch '3.9'](https://github.com/netty/netty/tree/3.9) and [the branch '4.0'](https://github.com/netty/netty/tree/4.0) respectively.
|
|
|
|
## Usage with JDK 9
|
|
|
|
Netty can be used in modular JDK9 applications as a collection of automatic modules. The module names follow the
|
|
reverse-DNS style, and are derived from subproject names rather than root packages due to historical reasons. They
|
|
are listed below:
|
|
|
|
* `io.netty.all`
|
|
* `io.netty.buffer`
|
|
* `io.netty.codec`
|
|
* `io.netty.codec.dns`
|
|
* `io.netty.codec.haproxy`
|
|
* `io.netty.codec.http`
|
|
* `io.netty.codec.http2`
|
|
* `io.netty.codec.memcache`
|
|
* `io.netty.codec.mqtt`
|
|
* `io.netty.codec.redis`
|
|
* `io.netty.codec.smtp`
|
|
* `io.netty.codec.socks`
|
|
* `io.netty.codec.stomp`
|
|
* `io.netty.codec.xml`
|
|
* `io.netty.common`
|
|
* `io.netty.handler`
|
|
* `io.netty.handler.proxy`
|
|
* `io.netty.resolver`
|
|
* `io.netty.resolver.dns`
|
|
* `io.netty.transport`
|
|
* `io.netty.transport.epoll` (`native` omitted - reserved keyword in Java)
|
|
* `io.netty.transport.kqueue` (`native` omitted - reserved keyword in Java)
|
|
* `io.netty.transport.unix.common` (`native` omitted - reserved keyword in Java)
|
|
* `io.netty.transport.rxtx`
|
|
* `io.netty.transport.sctp`
|
|
* `io.netty.transport.udt`
|
|
|
|
|
|
|
|
Automatic modules do not provide any means to declare dependencies, so you need to list each used module separately
|
|
in your `module-info` file.
|