6c1af9036f
Motivation: So far, we used a very simple platform string such as linux64 and linux32. However, this is far from perfection because it does not include anything about the CPU architecture. Also, the current build tries to put multiple versions of .so files into a single JAR. This doesn't work very well when we have to ship for many different platforms. Think about shipping .so/.dynlib files for both Linux and Mac OS X. Modification: - Use os-maven-plugin as an extension to determine the current OS and CPU architecture reliable at build time - Use Maven classifier instead of trying to put all shared libraries into a single JAR - NativeLibraryLoader does not guess the OS and bit mode anymore and it always looks for the same location regardless of platform, because the Maven classifier does the job instead. Result: Better scalable native library deployment and retrieval |
||
---|---|---|
all | ||
buffer | ||
codec | ||
codec-http | ||
codec-memcache | ||
codec-socks | ||
common | ||
example | ||
handler | ||
license | ||
microbench | ||
tarball | ||
testsuite | ||
transport | ||
transport-native-epoll | ||
transport-rxtx | ||
transport-sctp | ||
transport-udt | ||
.fbfilter.xml | ||
.fbprefs | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
NOTICE.txt | ||
pom.xml | ||
README.md |
Netty Project
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
Links
How to build
For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.
You require the following to build Netty:
- Latest stable Oracle JDK 7
- Latest stable Apache Maven
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
The 'master' branch is where the development of the latest major version lives on. The development of all other 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' and the branch '4.0' respectively.