openrewrite / openrewrite/rewrite

Ability to read S3 URI while dryRun instead of relying on Http(s)

Open
#4,849 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
3.7k
Forks
571
Avg merge
13h 12m
Merged PRs (30d)
261

Description

What problem are you trying to solve?

My organization uses AWS S3 for hosting Maven repositories, which are accessed using s3:// URIs. While Maven resolves dependencies correctly using these URIs, the OpenRewrite framework seems unable to handle them. This prevents us from effectively running OpenRewrite commands like rewrite:dryRun and utilizing its functionality in our projects.

Describe the solution you'd like

ability to access the maven repository using s3 URI.

Have you considered any alternatives or workarounds?

  1. I tried using S3 folder URL https://s3.ap-south-1.amazonaws.com/bucketName.maven.repo/release/
  2. I tried using rewrite.yml as
    repositories:
    - id: s3.release
    uri: s3://bucketName.maven.repo/release
    - id: s3.snapshot
    uri: s3://bucketName.maven.repo/snapshot

Additional context

[WARNING] Failed to access maven repository s3://bucketName.maven.repo/release due to: Repository s3://bucketName.maven.repo/release is not HTTP(S).
[WARNING] Failed to access maven repository s3://bucketName.maven.repo/release due to: Repository s3://bucketName.maven.repo/release is not HTTP(S).
[WARNING] Failed to access maven repository s3://bucketName.maven.repo/release due to: Repository s3://bucketName.maven.repo/release is not HTTP(S).
[WARNING] Failed to access maven repository s3://bucketName.maven.repo/release due to: Repository s3://bucketName.maven.repo/release is not HTTP(S).
......

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how rewrite:dryRun reads the repositories entries in rewrite.yml and where it rejects non-HTTP(S) URIs. Investigate the existing Maven repository access path and the S3 URI behavior described in the warning. Done means an s3:// repository can be accessed during dryRun without relying on an HTTP(S) URI, with coverage for the repository configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, java
Domain
build-system, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.