Skip to content

Commit

Permalink
Merge pull request #4 from artipie/ech-dev
Browse files Browse the repository at this point in the history
Updated tests and docs
  • Loading branch information
ChGen authored Nov 2, 2023
2 parents 298f561 + 9eafe0a commit ad622a2
Show file tree
Hide file tree
Showing 14 changed files with 871 additions and 481 deletions.
32 changes: 32 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

target/

*.idea
*.iml
.factorypath
.project
.settings/**
.classpath
24 changes: 15 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## Maven http3 experiments
## Maven http3 experimental plugin

### HTTP3 new experimental plugin

- `mvn-resolver-transport-http3` uses Jetty HTTP3 client library and Maven Artifact Resolver API. Supports Maven 3.9+

### Maven transport APIs

Expand All @@ -7,20 +11,16 @@

### HTTP1.x basic plugins

These are distilled versions of standard maven http 1.x plugins with minimized dependencies,
These are distilled versions of the standard maven http 1.x plugins with minimized dependencies,
minor code changes and debug `stderr` "logging". They are useful as reference starting point for
new maven extensions and for maven testing/debugging.

- `testing/mvn-wagon-http-light` uses Maven Wagon transport.
- `testing/mvn-resolver-transport-http` uses Maven Artifact Resolver transport.

### HTTP3 new experimental plugin

- `mvn-resolver-transport-http3` uses Jetty HTTP3 client library and Maven Artifact Resolver API.

### HTTP3 demo/testing

For building and testing http3 tools, see `http3.md`
For building and testing http3 tools, see `testing/http3.md`

#### nghttp3 server

Expand All @@ -37,11 +37,17 @@ For now `Caddy` http3 server is used for testing plugin.

#### Testing plugin

See also:
* `testing/helloworld-src/README.md`
* `mvn-resolver-transport-http3/README.md`

```shell
cd testing
caddy run
curl -kv --http3 https://localhost.org:7433/
cd helloworld-src

curl -kv --http3-only https://localhost:7443

cd testing/helloworld-src
rm -rf $HOME/.m2/repository/commons-cli/commons-cli/1.4
time mvn clean package -Daether.connector.https.securityMode=insecure
```
Expand Down
8 changes: 7 additions & 1 deletion mvn-resolver-transport-http3/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-test-util</artifactId>
<version>1.9.16-SNAPSHOT</version>
<version>1.9.16</version>
<scope>test</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -171,6 +171,12 @@
<artifactId>jetty-io</artifactId>
<version>${jettyVersion}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.18.3</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Loading

1 comment on commit ad622a2

@0pdd
Copy link

@0pdd 0pdd commented on ad622a2 Nov 2, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't able to retrieve PDD puzzles from the code base and submit them to github. If you think that it's a bug on our side, please submit it to yegor256/0pdd:

set -x && set -e && set -o pipefail && cd /tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0 && pdd -v -f /tmp/20231102-604781-444ed1 [1]: + set -e + set -o pipefail + cd...

Please, copy and paste this stack trace to GitHub:

UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0 && pdd -v -f /tmp/20231102-604781-444ed1 [1]:
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0
+ pdd -v -f /tmp/20231102-604781-444ed1

My version is 0.23.2
Ruby version is 3.1.4 at x86_64-linux
Reading from root dir /tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/mvn-resolver-transport-http3/src/test/resources/ssl/client-store is a binary file (2244 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/mvn-resolver-transport-http3/src/test/resources/ssl/server-store is a binary file (2246 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/mvn-resolver-transport-http3/src/test/resources/ssl/server-store-selfsigned is a binary file (2750 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/testing/mvn-resolver-transport-http/src/test/resources/ssl/client-store is a binary file (2244 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/testing/mvn-resolver-transport-http/src/test/resources/ssl/server-store is a binary file (2246 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/testing/mvn-resolver-transport-http/src/test/resources/ssl/server-store-selfsigned is a binary file (2750 bytes)
/tmp/0pdd20231102-14-mzjzr8/Z2l0QGdpdGh1Yi5jb206YXJ0aXBpZS9tYXZlbi1yZXNvbHZlci1odHRwMy1wbHVnaW4uZ2l0/testing/mvn-wagon-http-light/src/test/resources/ssl/keystore is a binary file (2246 bytes)
Reading .gitignore ...
Reading README.md ...
Reading mvn-resolver-transport-http3/README.md ...
Reading mvn-resolver-transport-http3/pom.xml ...
Reading mvn-resolver-transport-http3/src/main/java/com/artipie/aether/transport/http3/ConnMgrConfig.java ...
Reading mvn-resolver-transport-http3/src/main/java/com/artipie/aether/transport/http3/HttpTransporter.java ...
ERROR: ERROR: mvn-resolver-transport-http3/src/main/java/com/artipie/aether/transport/http3/HttpTransporter.java; PDD::Error at mvn-resolver-transport-http3/src/main/java/com/artipie/aether/transport/http3/HttpTransporter.java:244: TODO found, but puzzle can't be parsed, most probably because TODO is not followed by a puzzle marker, as this page explains: https://github.com/cqfn/pdd#how-to-format
If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/cqfn/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/cqfn/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:73:in `rescue in block in xml'
/app/objects/git_repo.rb:70:in `block in xml'
/app/vendor/ruby-3.1.4/lib/ruby/3.1.0/tempfile.rb:317:in `open'
/app/objects/git_repo.rb:69:in `xml'
/app/objects/puzzles.rb:41:in `deploy'
/app/objects/jobs/job.rb:38:in `proceed'
/app/objects/jobs/job_starred.rb:32:in `proceed'
/app/objects/jobs/job_recorded.rb:31:in `proceed'
/app/objects/jobs/job_emailed.rb:33:in `proceed'
/app/objects/jobs/job_commiterrors.rb:33:in `proceed'
/app/objects/jobs/job_detached.rb:48:in `exclusive'
/app/objects/jobs/job_detached.rb:36:in `block in proceed'
/app/objects/jobs/job_detached.rb:36:in `fork'
/app/objects/jobs/job_detached.rb:36:in `proceed'
/app/0pdd.rb:531:in `process_request'
/app/0pdd.rb:367:in `block in <top (required)>'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1706:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1706:in `block in compile!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1019:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1037:in `route_eval'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1019:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1068:in `block in process_route'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1066:in `catch'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1066:in `process_route'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1017:in `block in route!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1014:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1014:in `route!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1138:in `block in dispatch!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1109:in `catch'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1109:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1133:in `dispatch!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:949:in `block in call!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1109:in `catch'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1109:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:949:in `call!'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:938:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/deflater.rb:44:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/xss_header.rb:20:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/path_traversal.rb:18:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/json_csrf.rb:28:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb:53:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/base.rb:53:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-protection-3.0.6/lib/rack/protection/frame_options.rb:33:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/logger.rb:17:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/common_logger.rb:38:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:261:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:254:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/method_override.rb:24:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:219:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:2018:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1576:in `block in call'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1792:in `synchronize'
/app/vendor/bundle/ruby/3.1.0/gems/sinatra-3.0.6/lib/sinatra/base.rb:1576:in `call'
/app/vendor/bundle/ruby/3.1.0/gems/rack-2.2.8/lib/rack/handler/webrick.rb:95:in `service'
/app/vendor/bundle/ruby/3.1.0/gems/webrick-1.8.1/lib/webrick/httpserver.rb:140:in `service'
/app/vendor/bundle/ruby/3.1.0/gems/webrick-1.8.1/lib/webrick/httpserver.rb:96:in `run'
/app/vendor/bundle/ruby/3.1.0/gems/webrick-1.8.1/lib/webrick/server.rb:310:in `block in start_thread'

Please sign in to comment.