Files
spring-integration-extensions/spring-integration-ip-extensions/publish-maven.gradle
Gary Russell 2034dbb6c8 INTEXT-24 Lightweight WebSocket Server
* Add Lightweight WebSocket Server Support
* Run WebSocketServerTests and open ws.html in a browser.
  - Sending 'start' begins sending an incrementing # once per second.
  - 'stop' stops the stream (leaving the socket open), 'start' resumes again.
  - Test terminates after 60 seconds.
* Fixes and Improvements for WebSocket Server
  - fix masking
  - fix bytes sent
  - add error handling to remove dead sockets
  - create new web page instead of using vert.x example
  - add status box
  - automatically update message to send to start/stop appropriately
  - update SI to 2.2.0.RELEASE
  - change test to a main()
* Use Interceptor for Handshake
* Move handshake to an interceptor instead of doing it in the SI flow.
* Add close button to web page.
* Add code to remove state from deserializer on close.
* Implement Orderly Close Per RFC6455
* Rename Packages - org.springframework.integration.x.*
* Change Version to 0.1.0.
* Autbahn Test Suite - All Tests Pass
  - 1.1.x tests from the Autobahn Test Suite.
  - Autobahn 1.2.x Tests (Binary)
  - Autobahn Test 2.* (Ping/Pong)
  - Autobahn Tests 3.* (Reserved Bits)
  - Autobahn Tests 4.* (Invalid Opcodes)
  - Autobahn 5.* (Fragmentation)
  - Autobahn 6.* (UTF-8 Handling)
  - Autobahn Tests 7.* (Close Handling)
* "non-strict" results - fast fail on bad UTF-8. We currently don't detect the bad UTF-8 until all fragments are received.
* Run AutobahnTests.java and add the following to fuzzingclient.json...

    {"agent": "SIServer", "url": "ws://localhost:18080", "options": {"version": 18}}

* Remove sysout
* Replace with logger.debug().
* Remove SockJS Dependencies
  - Project started as a SockJS client; WebSocket classes were incorrectly dependent on some SockJS code.
* Extracted the WebSocket code to its own class hierarchy.
* Test Autobahn with SSL (wss://...)
  - Add trust store and key store.
  - Add config to listen for wss: as well as ws: connections
* To test Autobahn for both ws and wss - In the wstest config file use:

    "servers": [
        {"agent": "SIServer", "url": "ws://localhost:18080", "options": {"version": 18}},
        {"agent": "SIServerSSL", "url": "wss://localhost:28080", "options": {"version": 18}}
              ],

* Polishing + Resequence when Using NIO
  - Improve debug logging
  - Clear fragments
  - Add ResequencingMessageHandler to resequence messages when using NIO (frames can arrive on different threads, out of order; this causes issues with the Autobahn tests.
* Reject Non WS Connections
  - only apply Resequencer if NIO Connection factory is configured with apply-sequence.
  - check protocol version - only 13 is supported.
2013-01-07 16:35:02 -05:00

62 lines
1.6 KiB
Groovy

apply plugin: 'maven'
ext.optionalDeps = []
ext.providedDeps = []
ext.optional = { optionalDeps << it }
ext.provided = { providedDeps << it }
install {
repositories.mavenInstaller {
customizePom(pom, project)
}
}
def customizePom(pom, gradleProject) {
pom.whenConfigured { generatedPom ->
// respect 'optional' and 'provided' dependencies
gradleProject.optionalDeps.each { dep ->
generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
}
gradleProject.providedDeps.each { dep ->
generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
}
// eliminate test-scoped dependencies (no need in maven central poms)
generatedPom.dependencies.removeAll { dep ->
dep.scope == 'test'
}
// add all items necessary for maven central publication
generatedPom.project {
name = gradleProject.description
description = gradleProject.description
url = 'https://github.com/SpringSource/spring-integration'
organization {
name = 'SpringSource'
url = 'http://springsource.org'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
scm {
url = 'https://github.com/SpringSource/spring-integration'
connection = 'scm:git:git://github.com/SpringSource/spring-integration'
developerConnection = 'scm:git:git://github.com/SpringSource/spring-integration'
}
developers {
developer {
id = 'garyrussell'
name = 'Gary Russell'
email = 'grussell@vmware.com'
}
}
}
}
}