On 3/20/07, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
Folks, Could you please verify the release artifacts built off the SVN trunk so we could eliminate the most obvious problems and reduce the chances of having re-tag the release several times Release notes: http://people.apache.org/~olegk/httpcore-4.0-alpha4-preview/RELEASE_NOTES.txt<http://people.apache.org/%7Eolegk/httpcore-4.0-alpha4-preview/RELEASE_NOTES.txt> Jars: http://people.apache.org/~olegk/httpcore-4.0-alpha4-preview/jars/<http://people.apache.org/%7Eolegk/httpcore-4.0-alpha4-preview/jars/> Packages: http://people.apache.org/~olegk/httpcore-4.0-alpha4-preview/packages/ <http://people.apache.org/%7Eolegk/httpcore-4.0-alpha4-preview/packages/> Site: http://people.apache.org/~olegk/httpcore-4.0-alpha4-preview/site/httpcore/<http://people.apache.org/%7Eolegk/httpcore-4.0-alpha4-preview/site/httpcore/> If I hear no complaints until tomorrow 20:00 GMT, I'll proceed with tagging the release and building the final release packages and will call a formal release vote on those packages. I am aware of the problem with Source Xref reports. For some reason Maven's site plugin fails to copy those to the stage directory, but reports do get generated correctly.
I ran the RAT tool (http://code.google.com/p/arat/) against the src package, the output is below, it shows a few license headers missing from some of the files (the ones flagged with ?????). ...ant Notes: 4 Binaries: 8 Archives: 0 Standards: 33 13 Apache Licensed 20 Unknown Licenses Analysing Documents... Files with ASL headers will be marked L Binary files (which do not require ASL headers) will be marked B Compressed archives will be marked A Notices, licenses etc will be marked N D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT N LICENSE.txt N NOTICE.txt N README.txt N RELEASE_NOTES.txt ASL build.xml !????? checkstyle.xml ASL pom.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib\bin D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib\bin\org D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib\bin\org\apache D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\contrib\bin\org\apache\http D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\contrib\bin\org\apache\http\contrib D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\contrib\bin\org\apache\http\contrib\spring ASL http-beans.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib\src D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\contrib\src\main B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main ASL build.xml ASL pom.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src\examples D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\examples\org D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\examples\org\apache D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\examples\org\apache\http D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\examples\org\apache\http\examples ASL ElementalHttpGet.java ASL ElementalHttpPost.java ASL ElementalHttpServer.java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src\main B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src\site !????? site.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src\site\apt !????? index.apt D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\site\resources D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\site\resources\css !????? site.css D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-main\src\test B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio ASL build.xml ASL pom.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src\examples D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples\nio !????? AsyncHttpServer.java !????? ElementalEchoServer.java !????? NHttpClient.java !????? NHttpServer.java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src\main B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src\site !????? site.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src\site\apt !????? index.apt D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\site\resources D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\site\resources\css !????? site.css D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-nio\src\test B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-niossl ASL pom.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-niossl\src D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples\org D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples\org\apache D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples\org\apache\http D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples\org\apache\http\examples D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\examples\org\apache\http\examples\nio ASL NHttpSSLServer.java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-niossl\src\main B java D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-niossl\src\site !????? site.xml D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\apt !????? index.apt D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\resources D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\resources\css !????? site.css D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\module-niossl\src\test B java D \Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\test\resources B test.keystore D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\main D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\main\assembly !????? bin.xml !????? src.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\site ASL site.xml D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\site\apt !????? download.apt !????? examples.apt !????? index.apt D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\site\resources D \Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\src\site\resources\css !????? site.css Printing headers for files without ASL header... ===================================================================== ==checkstyle.xml (\Java\Httpcore\httpcore-4.0-alpha4-SNAPSHOT\checkstyle.xml ) ===================================================================== <?xml version="1.0"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> <module name="Checker"> <module name="PackageHtml"/> <module name="TreeWalker"> <property name="tabWidth" value="4" /> <!-- JavaDoc checks --> <module name="JavadocType"> <property name="scope" value="private" /> <property name="authorFormat" value="\S"/> </module> <module name="JavadocMethod"> <property name="scope" value="private" /> <property name="allowUndeclaredRTE" value="true"/> <property name="allowMissingThrowsTags" value="true"/> </module> <module name="JavadocVariable"> <property name="scope" value="private" /> </module> <!-- Naming checks --> <module name="MemberName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <module name="ConstantName"> <property name="format" value="^[A-Z](_?[A-Z0-9]+)*$"/> </module> <module name="StaticVariableName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <module name="ParameterName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <module name="PackageName"> <property name="format" value="^[a-z]+(\.[a-z]*)*$"/> </module> <module name="TypeName"> <property name="format" value="^[A-Z][a-zA-Z0-9]*$"/> </module> <module name="MethodName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> </module> <module name="LocalVariableName"> <property name="format" value="^[a-z][a-zA-Z0-9]*$"/> ===================================================================== ==site.xml (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\site\site.xml) ===================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <project name="HttpCore"> <bannerLeft> <name>Jakarta</name> <src>http://jakarta.apache.org/images/logos/jakarta-logo.png</src> <href>http://jakarta.apache.org/</href> </bannerLeft> <bannerRight> <name>HttpComponents HttpCore</name> <src> http://jakarta.apache.org/httpcomponents/images/logos/httpcomponents.png </src> <href>http://jakarta.apache.org/httpcomponents/http-core/core</href> </bannerRight> <body> <menu name="HttpCore"> <item name="Home" href=".."/> </menu> ${reports} </body> </project> ===================================================================== ==index.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\site\apt\index.apt) ===================================================================== ---------- HttpComponents HttpCore Base Module ---------- ---------- ---------- HttpCore (base module) This is the base module of HttpCore, which contains its public API and the default implementation based on classic java I/O model. The HttpCore API and the default implementation require Java 1.3 compatible runtime and have no dependency on any external libraries. {{{apidocs/index.html}Javadocs}} {{{xref/index.html}Project sources}} {{{dependencies.html}Dependencies}} {{{issue-tracking.html}Issue Tracking}} ===================================================================== ==site.css (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-main\src\site\resources\css\site.css) ===================================================================== @import url("http://jakarta.apache.org/style/jakarta-maven.css"); ===================================================================== ==AsyncHttpServer.java (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples\nio\AsyncHttpServer.java ) ===================================================================== package org.apache.http.examples.nio; import java.io.File; import java.io.IOException; import java.io.InterruptedIOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URLDecoder; import org.apache.http.HttpEntity; import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.MethodNotSupportedException; import org.apache.http.entity.ContentProducer; import org.apache.http.entity.EntityTemplate; import org.apache.http.entity.FileEntity; import org.apache.http.impl.DefaultConnectionReuseStrategy; import org.apache.http.impl.DefaultHttpResponseFactory; import org.apache.http.params.BasicHttpParams; import org.apache.http.util.concurrent.Executor; import org.apache.http.impl.nio.DefaultServerIOEventDispatch; import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor; import org.apache.http.nio.params.HttpNIOParams; import org.apache.http.nio.protocol.EventListener; import org.apache.http.nio.protocol.ThrottlingHttpServiceHandler; import org.apache.http.nio.reactor.IOEventDispatch; import org.apache.http.nio.reactor.ListeningIOReactor; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.BasicHttpProcessor; import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpRequestHandler; import org.apache.http.protocol.HttpRequestHandlerRegistry; import org.apache.http.protocol.ResponseConnControl; import org.apache.http.protocol.ResponseContent; import org.apache.http.protocol.ResponseDate; import org.apache.http.protocol.ResponseServer; import org.apache.http.util.EntityUtils; public class AsyncHttpServer { public static void main(String[] args) throws Exception { if (args.length < 1) { System.err.println("Please specify document root directory"); ===================================================================== ==ElementalEchoServer.java (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples\nio\ElementalEchoServer.java ) ===================================================================== package org.apache.http.examples.nio; import java.io.IOException; import java.io.InterruptedIOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import org.apache.http.params.BasicHttpParams; import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor; import org.apache.http.nio.reactor.EventMask; import org.apache.http.nio.reactor.IOEventDispatch; import org.apache.http.nio.reactor.IOSession; import org.apache.http.nio.reactor.ListeningIOReactor; import org.apache.http.params.HttpParams; public class ElementalEchoServer { public static void main(String[] args) throws Exception { HttpParams params = new BasicHttpParams(); IOEventDispatch ioEventDispatch = new DefaultIoEventDispatch(); ListeningIOReactor ioReactor = new DefaultListeningIOReactor(2, params); ioReactor.listen(new InetSocketAddress(8080)); try { ioReactor.execute(ioEventDispatch); } catch (InterruptedIOException ex) { System.err.println("Interrupted"); } catch (IOException e) { System.err.println("I/O error: " + e.getMessage()); } System.out.println("Shutdown"); } static class DefaultIoEventDispatch implements IOEventDispatch { private final ByteBuffer buffer = ByteBuffer.allocate(1024); public void connected(IOSession session) { System.out.println("connected"); session.setEventMask(EventMask.READ); session.setSocketTimeout(20000); } public void inputReady(final IOSession session) { System.out.println("readable"); try { this.buffer.compact(); int bytesRead = session.channel().read(this.buffer); if (this.buffer.position() > 0) { session.setEventMask(EventMask.READ_WRITE); } ===================================================================== ==NHttpClient.java (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples\nio\NHttpClient.java ) ===================================================================== package org.apache.http.examples.nio; import java.io.IOException; import java.io.InterruptedIOException; import java.net.InetAddress; import java.net.InetSocketAddress; import org.apache.http.HttpEntity; import org.apache.http.HttpException; import org.apache.http.HttpHost; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.impl.DefaultConnectionReuseStrategy; import org.apache.http.params.BasicHttpParams; import org.apache.http.message.HttpGet; import org.apache.http.impl.nio.DefaultClientIOEventDispatch; import org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor; import org.apache.http.nio.protocol.BufferingHttpClientHandler; import org.apache.http.nio.protocol.EventListener; import org.apache.http.nio.protocol.HttpRequestExecutionHandler; import org.apache.http.nio.reactor.ConnectingIOReactor; import org.apache.http.nio.reactor.IOEventDispatch; import org.apache.http.nio.reactor.SessionRequest; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.BasicHttpProcessor; import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpExecutionContext; import org.apache.http.protocol.RequestConnControl; import org.apache.http.protocol.RequestContent; import org.apache.http.protocol.RequestExpectContinue; import org.apache.http.protocol.RequestTargetHost; import org.apache.http.protocol.RequestUserAgent; import org.apache.http.util.EntityUtils; public class NHttpClient { public static void main(String[] args) throws Exception { HttpParams params = new BasicHttpParams(null); params .setIntParameter(HttpConnectionParams.SO_TIMEOUT, 5000) .setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, 10000) .setIntParameter(HttpConnectionParams.SOCKET_BUFFER_SIZE, 8 * 1024) .setBooleanParameter(HttpConnectionParams.STALE_CONNECTION_CHECK, false) .setBooleanParameter(HttpConnectionParams.TCP_NODELAY, true) .setParameter(HttpProtocolParams.USER_AGENT, "Jakarta-HttpComponents-NIO/1.1"); final ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(2, params); ===================================================================== ==NHttpServer.java (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\examples\org\apache\http\examples\nio\NHttpServer.java ) ===================================================================== package org.apache.http.examples.nio; import java.io.File; import java.io.IOException; import java.io.InterruptedIOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URLDecoder; import org.apache.http.HttpEntity; import org.apache.http.HttpEntityEnclosingRequest; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.MethodNotSupportedException; import org.apache.http.entity.ContentProducer; import org.apache.http.entity.EntityTemplate; import org.apache.http.entity.FileEntity; import org.apache.http.impl.DefaultConnectionReuseStrategy; import org.apache.http.impl.DefaultHttpResponseFactory; import org.apache.http.params.BasicHttpParams; import org.apache.http.impl.nio.DefaultServerIOEventDispatch; import org.apache.http.impl.nio.reactor.DefaultListeningIOReactor; import org.apache.http.nio.protocol.EventListener; import org.apache.http.nio.protocol.BufferingHttpServiceHandler; import org.apache.http.nio.reactor.IOEventDispatch; import org.apache.http.nio.reactor.ListeningIOReactor; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.BasicHttpProcessor; import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpRequestHandler; import org.apache.http.protocol.HttpRequestHandlerRegistry; import org.apache.http.protocol.ResponseConnControl; import org.apache.http.protocol.ResponseContent; import org.apache.http.protocol.ResponseDate; import org.apache.http.protocol.ResponseServer; import org.apache.http.util.EntityUtils; public class NHttpServer { public static void main(String[] args) throws Exception { if (args.length < 1) { System.err.println("Please specify document root directory"); System.exit(1); } ===================================================================== ==site.xml (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\site\site.xml) ===================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <project name="HttpCore"> <bannerLeft> <name>Jakarta</name> <src>http://jakarta.apache.org/images/logos/jakarta-logo.png</src> <href>http://jakarta.apache.org/</href> </bannerLeft> <bannerRight> <name>HttpComponents HttpCore</name> <src> http://jakarta.apache.org/httpcomponents/images/logos/httpcomponents.png </src> <href>http://jakarta.apache.org/httpcomponents/http-core/core</href> </bannerRight> <body> <menu name="HttpCore"> <item name="Home" href=".."/> </menu> ${reports} </body> </project> ===================================================================== ==index.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\site\apt\index.apt) ===================================================================== ---------- HttpComponents HttpCore NIO Extensions Module ---------- ---------- ---------- HttpCore (NIO Extensions Module) This module contains optional extensions to the HttpCore API that leverage event driven, non-blocking I/O (NIO) model. HttpCore NIO extensions require Java 1.4compatible runtime and HttpCore {{{../jakarta-httpcore/index.html}base}} module. {{{apidocs/index.html}Javadocs}} {{{xref/index.html}Project sources}} {{{dependencies.html}Dependencies}} {{{issue-tracking.html}Issue Tracking}} ===================================================================== ==site.css (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-nio\src\site\resources\css\site.css) ===================================================================== @import url("http://jakarta.apache.org/style/jakarta-maven.css"); ===================================================================== ==site.xml (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\site.xml) ===================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <project name="HttpCore"> <bannerLeft> <name>Jakarta</name> <src>http://jakarta.apache.org/images/logos/jakarta-logo.png</src> <href>http://jakarta.apache.org/</href> </bannerLeft> <bannerRight> <name>HttpComponents HttpCore</name> <src> http://jakarta.apache.org/httpcomponents/images/logos/httpcomponents.png </src> <href>http://jakarta.apache.org/httpcomponents/http-core/core</href> </bannerRight> <body> <menu name="HttpCore"> <item name="Home" href=".."/> </menu> ${reports} </body> </project> ===================================================================== ==index.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\apt\index.apt) ===================================================================== ---------- HttpComponents HttpCore NIOSSL Extensions Module ---------- ---------- ---------- HttpCore (NIOSSL Extensions Module) This module provides optional components enabling HttpCore {{{../jakarta-httpcore-nio/index.html}NIO}} to transparently encrypt data in transit using SSL/TLS protocol. {{{apidocs/index.html}Javadocs}} {{{xref/index.html}Project sources}} {{{dependencies.html}Dependencies}} {{{issue-tracking.html}Issue Tracking}} ===================================================================== ==site.css (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\module-niossl\src\site\resources\css\site.css) ===================================================================== @import url("http://jakarta.apache.org/style/jakarta-maven.css"); ===================================================================== ==bin.xml (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\main\assembly\bin.xml) ===================================================================== <assembly> <id>bin</id> <formats> <format>tar.gz</format> <format>zip</format> </formats> <fileSets> <fileSet> <includes> <include>README.txt</include> <include>LICENSE.txt</include> <include>NOTICE.txt</include> <include>RELEASE_NOTES.txt</include> </includes> </fileSet> <!-- Base module --> <fileSet> <directory>module-main/target</directory> <outputDirectory>lib</outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> <fileSet> <directory>module-main/target/site/apidocs</directory> <outputDirectory>javadoc/httpcore</outputDirectory> </fileSet> <fileSet> <directory>module-main/src/examples/</directory> <outputDirectory>examples</outputDirectory> <includes> <include>**/*.java</include> </includes> </fileSet> <!-- NIO extensions module --> <fileSet> <directory>module-nio/target</directory> <outputDirectory>lib</outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> <fileSet> <directory>module-nio/target/site/apidocs</directory> <outputDirectory>javadoc/httpcore-nio</outputDirectory> </fileSet> <fileSet> <directory>module-nio/src/examples/</directory> <outputDirectory>examples</outputDirectory> <includes> ===================================================================== ==src.xml (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\main\assembly\src.xml) ===================================================================== <assembly> <id>src</id> <formats> <format>tar.gz</format> <format>zip</format> </formats> <fileSets> <fileSet> <includes> <include>README.txt</include> <include>LICENSE.txt</include> <include>NOTICE.txt</include> <include>RELEASE_NOTES.txt</include> <include>**/*.xml</include> <include>**/src/**</include> </includes> <excludes> <exclude>**/target/**</exclude> <exclude>**/.*/**</exclude> </excludes> </fileSet> </fileSets> </assembly> ===================================================================== ==download.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\site\apt\download.apt) ===================================================================== ---------- HttpComponents HttpCore Download Page ---------- ---------- ---------- HttpCore Downloads The latest release available for download: {{{ http://jakarta.apache.org/site/downloads/downloads_httpcomponents-httpcore.cgi}4.0-alpha4}} - {{{ http://www.apache.org/dist/jakarta/httpcomponents/httpcore/RELEASE_NOTES.txt}ReleaseNotes}} - {{{ http://www.apache.org/dist/java-repository/httpcomponents-httpcore/licenses/LICENSE.txt}License} } Dependency management with Maven If you are using {{{http://maven.apache.org}Maven}} for your project, you can create a dependency in your {{{ http://maven.apache.org/guides/introduction/introduction-to-the-pom.html}pom.xml}} by adding the following block to the dependency descriptor: * HttpComponents Core ------------------------- <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>jakarta-httpcore</artifactId> <version>4.0-alpha4</version> <scope>compile</scope> </dependency> ------------------------- * HttpComponents Core NIO extensions ------------------------- <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>jakarta-httpcore-nio</artifactId> <version>4.0-alpha4</version> <scope>compile</scope> </dependency> ------------------------- * HttpComponents Core NIOSSL extensions ------------------------- <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>jakarta-httpcore-niossl</artifactId> <version>4.0-alpha4</version> <scope>compile</scope> ===================================================================== ==examples.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\site\apt\examples.apt) ===================================================================== ---------- HttpComponents HttpCore Examples ---------- ---------- ---------- HttpCore Examples * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-main/src/examples/org/apache/http/examples/ElementalHttpGet.java}BasicHTTP GET}} This example demonstrates how to execute a series of simple HTTP GET requests. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-main/src/examples/org/apache/http/examples/ElementalHttpPost.java}BasicHTTP POST}} This example demonstrates how to execute a series of simple HTTP POST requests that enclose entity content of various types: a string, a byte array, an arbitrary input stream. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-main/src/examples/org/apache/http/examples/ElementalHttpServer.java}BasicHTTP server}} This is an example of a simple but fully functional HTTP/1.1 server written with only a few dozen lines of Java code. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-nio/src/examples/org/apache/http/examples/nio/NHttpServer.java}Basicnon-blocking HTTP server}} This example demonstrates the use of HttpCore NIO extensions to build a non-blocking HTTP/1.1 server. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-nio/src/examples/org/apache/http/examples/nio/NHttpClient.java}Basicnon-blocking HTTP client}} This example demonstrates how HttpCore NIO can be used to execute multiple HTTP requests using only one I/O thread. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/module-niossl/src/examples/org/apache/http/examples/nio/NHttpSSLServer.java}Basicnon-blocking HTTPS server}} This example demonstrates the use of HttpCore NIO and NIOSSL extensions to build a non-blocking HTTPS/1.1 server. * {{{ http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/contrib/src/main/java/org/apache/http/contrib/compress/}Contentcompression}} These request/response interceptors implement client- and server-side content compression/decompression logic. They can simply be added to any existing HTTP processor to enable it for content compression. If you use an IoC container to initialize HTTP processors, you do not even have to recompile your application. ===================================================================== ==index.apt (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\site\apt\index.apt) ===================================================================== ---------- HttpComponents HttpCore Overview ---------- ---------- ---------- HttpCore Overview HttpCore components implement the most fundamental aspects of the HTTP protocol that are nonetheless sufficient to develop full-featured client-side and server-side HTTP services with a minimal footprint. Modules HttpCore has a modular structure with a base module and a number of specialized extensions. * HttpCore base module The {{{jakarta-httpcore/index.html}Base}} module contains the HttpCore public API and the default implementation based on the classic (blocking) Java I/O model. It requires a Java 1.3 compatible runtime and has no dependency on any external libraries. * HttpCore NIO extensions HttpCore {{{jakarta-httpcore-nio/index.html}NIO extensions}} contain optional components that leverage the event driven, non-blocking I/O (NIO) model. HttpCore NIO extensions require a Java 1.4 compatible runtime and the HttpCore base module. * HttpCore NIOSSL extensions HttpCore {{{jakarta-httpcore-niossl/index.html}NIOSSL extensions}} provide optional components enabling HttpCore {{{jakarta-httpcore-nio/index.html}NIO}} to transparently encrypt data in transit using SSL/TLS protocol. Standards Compliance HttpCore components strive to conform to the following specifications endorsed by the Internet Engineering Task Force (IETF) and the internet at large: * {{{http://www.ietf.org/rfc/rfc1945.txt}RFC 1945}} - Hypertext Transfer Protocol -- HTTP/1.0 * {{{http://www.ietf.org/rfc/rfc2616.txt}RFC 2116}} - Hypertext Transfer Protocol -- HTTP/1.1 Examples Some examples of HttpCore components in action can be found {{{ examples.html}here}} ===================================================================== ==site.css (\Java\Httpcore\httpcore- 4.0-alpha4-SNAPSHOT\src\site\resources\css\site.css) ===================================================================== @import url("http://jakarta.apache.org/style/jakarta-maven.css");
