Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Come up with a better way to supply Maven Central artifacts #29

Open
cilki opened this issue Nov 18, 2020 · 1 comment
Open

Come up with a better way to supply Maven Central artifacts #29

cilki opened this issue Nov 18, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@cilki
Copy link
Member

cilki commented Nov 18, 2020

To bundle external dependencies, you currently have to specify them in both the modules parameter and the artifacts parameter. For example:

GET: /runtime/x64/linux/11.0.8+10?modules=org.slf4j&artifacts=org.slf4j:slf4j-api:2.0.0-alpha1

Most people won't be building these by hand, but it's still not very attractive. I'm thinking of creating a YML or JSON format containing this info that we can ingest instead. It would still be possible to upload a module-info.java, but this new descriptor file would also need to be present to describe the versions of external artifacts. The descriptor could also be given by itself.

Here's an example of something that might work:

repositories:
  - https://oss.sonatype.org/content/repositories/snapshots
modules:
  - java.desktop
  - org.slf4j: org.slf4j:slf4j-api:2.0.0-alpha1

This file could be committed to version control or automatically generated by a Gradle or Maven plugin. I'm contemplating the uncreative name: jlink.online.yml.

The artifacts parameter would go away as a result of this change.

@cilki cilki added the enhancement New feature or request label Nov 18, 2020
@cilki cilki self-assigned this Nov 18, 2020
@karianna karianna added this to To do in jlink.online via automation Nov 18, 2020
@cilki
Copy link
Member Author

cilki commented Dec 7, 2020

An improved example:

version: 11.0.8+11
os: linux
architecture: x64
modules:
  - java.base
  - org.slf4j
external:
  repositories:
    - https://oss.sonatype.org/content/repositories/snapshots
  artifacts:
    - org.slf4j:slf4j-api:2.0.0-alpha1

If no repositories are provided, the default would be https://repo.maven.apache.org/maven2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
jlink.online
  
To do
Development

No branches or pull requests

1 participant