GithubHelp home page GithubHelp logo

foojayio / discoapi Goto Github PK

View Code? Open in Web Editor NEW
110.0 110.0 12.0 965 KB

The foojay discovery api (discoapi) is made to discover java packages (jre/jdk) from different distributions.

License: GNU General Public License v2.0

Java 100.00%

discoapi's People

Contributors

goooler avatar hansolo avatar hsz avatar nicokosi avatar sullis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

discoapi's Issues

Missing and new architecture values

Since yesterday there are packages with an empty architecture tag or new values not seen so far (mipsel, armhf, armel). Is this intended?

{"id":"cf8f6d3ee66aa3b92d00f2f6eefc8165","archive_type":"tar.gz","distribution":"dragonwell","major_version":8,"java_version":"8.0.275+2","distribution_version":"8.5.5","feature_version":8,"interim_version":0,"update_version":275,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_8.5.5-FP1_source.tar.gz","ephemeral_id":"88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"fea5becb60519734547143224a738bc6","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_mipsel.deb","ephemeral_id":"84a45f290e90466c484e2d02ab9b2ee6b918113c","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/84a45f290e90466c484e2d02ab9b2ee6b918113c","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/84a45f290e90466c484e2d02ab9b2ee6b918113c/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"8437424075a0b2e3d1f7b158b57dc46c","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_armhf.deb","ephemeral_id":"cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"691c858bea4ae2842d80cca7e0325715","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_armhf.deb","ephemeral_id":"43303ed61aab3e6532f4a27c381d0366fbffc7c8","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/43303ed61aab3e6532f4a27c381d0366fbffc7c8","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/43303ed61aab3e6532f4a27c381d0366fbffc7c8/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"a28101ab170f2b067806a1c8c31fba5b","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_armel.deb","ephemeral_id":"0d9bf538e620d5308d2fe330d11e33d08a2acf14","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/0d9bf538e620d5308d2fe330d11e33d08a2acf14","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/0d9bf538e620d5308d2fe330d11e33d08a2acf14/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"530444b97325882d18032a2fcc68405f","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_mipsel.deb","ephemeral_id":"79396ff9bd1116a4b246db0fcd5376ae6a535029","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/79396ff9bd1116a4b246db0fcd5376ae6a535029","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/79396ff9bd1116a4b246db0fcd5376ae6a535029/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"31846e9f00471bfb81fc4bb071ecb663","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_armel.deb","ephemeral_id":"36ba32fcd98ebf29157e226b4826854c4a67c88c","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/36ba32fcd98ebf29157e226b4826854c4a67c88c","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/36ba32fcd98ebf29157e226b4826854c4a67c88c/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"8532d86aa95e74fe6f90505bbd181976","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_mipsel.deb","ephemeral_id":"112d941c0f2e2d38ea57d4bc623c1852400fc6dd","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/112d941c0f2e2d38ea57d4bc623c1852400fc6dd","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/112d941c0f2e2d38ea57d4bc623c1852400fc6dd/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"c12515edc056edfe6ad9c277241f447c","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_armel.deb","ephemeral_id":"fca8ae3967be9a7d6410611fa449b638407b9186","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/fca8ae3967be9a7d6410611fa449b638407b9186","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/fca8ae3967be9a7d6410611fa449b638407b9186/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"ae7a87068e4e7024f0e91393407d375f","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_mipsel.deb","ephemeral_id":"da7724801cf16465b15639ec8361793e45793149","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/da7724801cf16465b15639ec8361793e45793149","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/da7724801cf16465b15639ec8361793e45793149/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"1bf2161b89f256442c497cfb12d9c138","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_armel.deb","ephemeral_id":"684b5021468a4854b6ed69f5c23c3c452b8ef4d3","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/684b5021468a4854b6ed69f5c23c3c452b8ef4d3","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/684b5021468a4854b6ed69f5c23c3c452b8ef4d3/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"d1f2f5634d910384e534ebd848b0784d","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_armhf.deb","ephemeral_id":"67bff8bca3f02c2178b33de38999e1f53fa98926","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/67bff8bca3f02c2178b33de38999e1f53fa98926","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/67bff8bca3f02c2178b33de38999e1f53fa98926/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"39463a29540b8d47bcaeac38e6869b31","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_armhf.deb","ephemeral_id":"504a182d3b5392c2ade6a52341bed12cceb33ccb","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/504a182d3b5392c2ade6a52341bed12cceb33ccb","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/504a182d3b5392c2ade6a52341bed12cceb33ccb/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"7aa5c2c2f61d53024a75940b93b81d80","archive_type":"tar.gz","distribution":"dragonwell","major_version":11,"java_version":"11+9","distribution_version":"11.0.7.2","feature_version":11,"interim_version":0,"update_version":0,"patch_version":0,"build_version":9,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_11.0.7.2+9_source.tar.gz","ephemeral_id":"1e072b91c478dc3159679f960604c50b1fee40b1","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/1e072b91c478dc3159679f960604c50b1fee40b1","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/1e072b91c478dc3159679f960604c50b1fee40b1/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"cf8f6d3ee66aa3b92d00f2f6eefc8165","archive_type":"tar.gz","distribution":"dragonwell","major_version":8,"java_version":"8.0.275+2","distribution_version":"8.5.5","feature_version":8,"interim_version":0,"update_version":275,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_8.5.5-FP1_source.tar.gz","ephemeral_id":"2458e2884627cda0449515f9583b3c2a5fce9b4f","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/2458e2884627cda0449515f9583b3c2a5fce9b4f","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/2458e2884627cda0449515f9583b3c2a5fce9b4f/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"7aa5c2c2f61d53024a75940b93b81d80","archive_type":"tar.gz","distribution":"dragonwell","major_version":11,"java_version":"11+9","distribution_version":"11.0.7.2","feature_version":11,"interim_version":0,"update_version":0,"patch_version":0,"build_version":9,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_11.0.7.2+9_source.tar.gz","ephemeral_id":"1e072b91c478dc3159679f960604c50b1fee40b1","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/1e072b91c478dc3159679f960604c50b1fee40b1","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/1e072b91c478dc3159679f960604c50b1fee40b1/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"cf8f6d3ee66aa3b92d00f2f6eefc8165","archive_type":"tar.gz","distribution":"dragonwell","major_version":8,"java_version":"8.0.275+2","distribution_version":"8.5.5","feature_version":8,"interim_version":0,"update_version":275,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_8.5.5-FP1_source.tar.gz","ephemeral_id":"88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/88da2bcb9ea69bc460cc9cd9870c290dcd8fbdb9/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"fea5becb60519734547143224a738bc6","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_mipsel.deb","ephemeral_id":"84a45f290e90466c484e2d02ab9b2ee6b918113c","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/84a45f290e90466c484e2d02ab9b2ee6b918113c","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/84a45f290e90466c484e2d02ab9b2ee6b918113c/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"8437424075a0b2e3d1f7b158b57dc46c","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_armhf.deb","ephemeral_id":"cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/cfbe50d570c0c5f4fea4a7d40b706ac36f9f84ec/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"691c858bea4ae2842d80cca7e0325715","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_armhf.deb","ephemeral_id":"43303ed61aab3e6532f4a27c381d0366fbffc7c8","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/43303ed61aab3e6532f4a27c381d0366fbffc7c8","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/43303ed61aab3e6532f4a27c381d0366fbffc7c8/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"a28101ab170f2b067806a1c8c31fba5b","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_armel.deb","ephemeral_id":"0d9bf538e620d5308d2fe330d11e33d08a2acf14","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/0d9bf538e620d5308d2fe330d11e33d08a2acf14","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/0d9bf538e620d5308d2fe330d11e33d08a2acf14/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"530444b97325882d18032a2fcc68405f","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jre_8u302-b08-1_mipsel.deb","ephemeral_id":"79396ff9bd1116a4b246db0fcd5376ae6a535029","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/79396ff9bd1116a4b246db0fcd5376ae6a535029","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/79396ff9bd1116a4b246db0fcd5376ae6a535029/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"31846e9f00471bfb81fc4bb071ecb663","archive_type":"deb","distribution":"debian","major_version":8,"java_version":"8.0.302+8","distribution_version":"8.0.302","feature_version":8,"interim_version":0,"update_version":302,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-8-jdk_8u302-b08-1_armel.deb","ephemeral_id":"36ba32fcd98ebf29157e226b4826854c4a67c88c","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/36ba32fcd98ebf29157e226b4826854c4a67c88c","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/36ba32fcd98ebf29157e226b4826854c4a67c88c/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"8532d86aa95e74fe6f90505bbd181976","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_mipsel.deb","ephemeral_id":"e6227306981a7b4eaa7ff846994ef218e5b42ce8","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/e6227306981a7b4eaa7ff846994ef218e5b42ce8","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/e6227306981a7b4eaa7ff846994ef218e5b42ce8/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"c12515edc056edfe6ad9c277241f447c","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_armel.deb","ephemeral_id":"b3cb0272a1bb9df6159153d8bdfe33e32ce066bc","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/b3cb0272a1bb9df6159153d8bdfe33e32ce066bc","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/b3cb0272a1bb9df6159153d8bdfe33e32ce066bc/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"ae7a87068e4e7024f0e91393407d375f","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"mipsel","fpu":"unknown","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_mipsel.deb","ephemeral_id":"729588309248eb26185e28a8257abcb459b62494","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/729588309248eb26185e28a8257abcb459b62494","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/729588309248eb26185e28a8257abcb459b62494/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"1bf2161b89f256442c497cfb12d9c138","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armel","fpu":"soft_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_armel.deb","ephemeral_id":"f3a54c8ccffeb3c5593003b9502de670f5e2a1a8","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/f3a54c8ccffeb3c5593003b9502de670f5e2a1a8","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/f3a54c8ccffeb3c5593003b9502de670f5e2a1a8/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"d1f2f5634d910384e534ebd848b0784d","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jre","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jre_11.0.13+8-1_armhf.deb","ephemeral_id":"bcae24c3351d53219adbab8805b486a46b166563","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/bcae24c3351d53219adbab8805b486a46b166563","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/bcae24c3351d53219adbab8805b486a46b166563/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"39463a29540b8d47bcaeac38e6869b31","archive_type":"deb","distribution":"debian","major_version":11,"java_version":"11.0.13","distribution_version":"11.0.13","feature_version":11,"interim_version":0,"update_version":13,"patch_version":0,"build_version":0,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"armhf","fpu":"hard_float","package_type":"jdk","javafx_bundled":false,"directly_downloadable":false,"filename":"openjdk-11-jdk_11.0.13+8-1_armhf.deb","ephemeral_id":"566f4fe5b99dd7dceea512bdd4989367f21674a6","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/566f4fe5b99dd7dceea512bdd4989367f21674a6","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/566f4fe5b99dd7dceea512bdd4989367f21674a6/redirect"},"free_use_in_production":true,"feature":[]}
{"id":"7aa5c2c2f61d53024a75940b93b81d80","archive_type":"tar.gz","distribution":"dragonwell","major_version":11,"java_version":"11+9","distribution_version":"11.0.7.2","feature_version":11,"interim_version":0,"update_version":0,"patch_version":0,"build_version":9,"latest_build_available":true,"release_status":"ga","term_of_support":"lts","operating_system":"linux","lib_c_type":"glibc","architecture":"","fpu":"unknown","package_type":"jdk","javafx_bundled":false,"directly_downloadable":true,"filename":"Alibaba_Dragonwell_11.0.7.2+9_source.tar.gz","ephemeral_id":"ef609189b54b204898d0ac5ddb7cc567f7df6ac6","links":{"pkg_info_uri":"https://api.foojay.io/disco/v2.0/ephemeral_ids/ef609189b54b204898d0ac5ddb7cc567f7df6ac6","pkg_download_redirect":"https://api.foojay.io/disco/v2.0/ephemeral_ids/ef609189b54b204898d0ac5ddb7cc567f7df6ac6/redirect"},"free_use_in_production":true,"feature":[]}

Disco API is tracking users (IP addresses)

As of 2021-03-20, the foojay Disco API is tracking the IP addresses of all users downloading a JDK:
https://github.com/foojay2020/discoapi/blob/a2ba00cf9f9f44be3857e528c56de3cdadeb8453/src/main/java/io/foojay/api/DownloadManager.java#L68-L74

There is no reason to do this and it's not transparently documented that this is happening.

Additionally, there's no information about where the foojay Disco API is being hosted, who has access to the collected data, and what the collected data is being used for.

From a user's perspective, it would also be great if the download URLs for the JDKs would be directly available without another request to the Disco API with an ephemeral ID.

Epemeral package info URL doesn't work

Not sure what I'm doing wrong, I used: https://api.foojay.io/swagger-ui#/default/getPackgeInfoV2

curl https://api.foojay.io/disco/v2.0/packages/43afdc6785055999f3104208d4b9d703 | jq .
{
  "result": [
    {
      "id": "43afdc6785055999f3104208d4b9d703",
      "archive_type": "tar.gz",
      "distribution": "zulu",
      "major_version": 16,
      "java_version": "16.0.1",
      "distribution_version": "16.30.15",
      "latest_build_available": true,
      "release_status": "ga",
      "term_of_support": "sts",
      "operating_system": "linux",
      "lib_c_type": "musl",
      "architecture": "x64",
      "package_type": "jdk",
      "javafx_bundled": false,
      "directly_downloadable": true,
      "filename": "zulu16.30.15-ca-jdk16.0.1-linux_musl_x64.tar.gz",
      "ephemeral_id": "a518226a4bf6fa0250cd8ba0f06545bb2ff6ad5c",
      "links": {
        "pkg_info_uri": "https://api.foojay.io/disco/v2.0/ephemeral_ids/a518226a4bf6fa0250cd8ba0f06545bb2ff6ad5c"
      },
      "free_use_in_production": true,
      "feature": []
    }
  ],
  "message": ""
}

$ curl -s https://api.foojay.io/disco/v2.0/ephemeral_ids/a518226a4bf6fa0250cd8ba0f06545bb2ff6ad5c | jq .
{
  "result": [],
  "message": "Ephemeral id not found or outdated"
}

Same happens in the swagger UI

image

API Discoverability

Some API discoverability would be great for the foojay APIs, e.g.:
GET https://api.foojay.io/

[
    {
        "id": "disco",
        "name": "Disco API",
        "links": {
            "self": "https://api.foojay.io/disco/"
        }
    },
    {
        "id": "swagger-ui",
        "name": "Swagger UI",
        "links": {
            "self": "https://api.foojay.io/swagger-ui/"
        }
    }
]

GET https://api.foojay.io/disco/

[
    {
        "id": "1.0",
        "name": "1.0",
        "links": {
            "self": "https://api.foojay.io/disco/1.0/"
        }
    }
]

And so on...

Also, some hypermedia support between the APIs would be great (e.g.: links.download):

[
    {
        "id": "ca8969b39e4707d3a8a4f45c30738c95",
        "archive_type": "tar.gz",
        "distribution": "zulu",
        "major_version": 15,
        "java_version": "15.0.2",
        "distribution_version": "15.29.15",
        "latest_build_available": true,
        "release_status": "ga",
        "term_of_support": "mts",
        "operating_system": "linux",
        "lib_c_type": "glibc",
        "architecture": "x64",
        "package_type": "jdk",
        "javafx_bundled": false,
        "directly_downloadable": true,
        "filename": "zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
        "ephemeral_id": "328ca8969b39e4707d3a8a4f45c30738c951614192036",
        "links": {
            "download": "https://api.foojay.io/disco/v1.0/ephemeral_ids/328ca8969b39e4707d3a8a4f45c30738c951614192036"
        }
    }
]

Feature: JetBrains Runtime variant

JetBrains is maintaining an excellent variant of Java11 and Java8 with fixes for desktop and GUI application to help with Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI support, ligatures among few other fixes.

confluence.jetbrains.com/display/JBR/JetBrains+Runtime

related issue: sdkman/sdkman-db-migrations#465

Wrong lib_c_type for oracle_open_jdk

The following packages should be "musl":

{
	"id": "81458b8ed126fcbb00064748ec872dee",
	"archive_type": "tar.gz",
	"distribution": "oracle_open_jdk",
	"major_version": 17,
	"java_version": "17-ea.10",
	"distribution_version": "17-ea.10",
	"latest_build_available": true,
	"release_status": "ea",
	"term_of_support": "lts",
	"operating_system": "linux",
	"lib_c_type": "glibc",
	"architecture": "x64",
	"package_type": "jdk",
	"javafx_bundled": false,
	"directly_downloadable": true,
	"filename": "openjdk-17-ea+10_linux-x64-musl_bin.tar.gz",
	"ephemeral_id": "33381458b8ed126fcbb00064748ec872dee1614192036"
}

{
	"id": "673165e6fea8bdb382cdcfe4c1699185",
	"archive_type": "tar.gz",
	"distribution": "oracle_open_jdk",
	"major_version": 17,
	"java_version": "17-ea",
	"distribution_version": "17",
	"latest_build_available": false,
	"release_status": "ea",
	"term_of_support": "lts",
	"operating_system": "linux",
	"lib_c_type": "glibc",
	"architecture": "x64",
	"package_type": "jdk",
	"javafx_bundled": false,
	"directly_downloadable": true,
	"filename": "openjdk-17-ea+5_linux-x64-musl_bin.tar.gz",
	"ephemeral_id": "387673165e6fea8bdb382cdcfe4c16991851614192036"
}

Latest filter ignored on ranged versions

On /packages endpoint if a ranged version is given, eg. >=8, then the latest filter is getting ignored and defaults to none.
Expected response could be the latest filter applied for each version (8, 11, 15, 16) for each combination of packages.
It would remove the need to filter the response in such cases.

Error Codes

In cases if combinations of search criterias which would result in an empty result I think it should result into an error code instead of an empty json array.

Current API state and question about guidance for usage in client applications

I am currently checking whether I can use the DiscoAPI as a replacement for my current solution which I use to resolve the download URL for a specific JDK distribution.

During the creation of some unit tests I discovered, that the API does not seem stable:
First I call the /disco/v2.0/packages/jdks endpoint to get an ephemeral id. Afterwards, I call the endpoint /disco/v2.0/ephemeral_ids/{ephemeral_id} to get the download URL.
I created unit tests for different versions of the Temurin and GraalVM distribution. Sometimes they work and sometimes they fail. I already validated that the call does not fail because of a timeout. It seems that I sometimes get already expired id's. Sometimes I even get an empty result after calling the /disco/v2.0/packages/jdks endpoint.

Is there a known issue, or is the API still under construction? I would like to use the API in a client library and do not have any backend which I can use to cache the results from your API to overcome such issues.

Thanks in advance.

Occasional HTTP 504 error

I run a nightly CI build to sync javaalmanac.io data with disco API (basically to find out whether a certain distro is available on the disco API)

Almost every night (at 01:00 UTC) the following query fails:

java.io.IOException: Server returned HTTP response code: 504 for URL: https://api.foojay.io/disco/v2.0/packages?version=11&distro=semeru&latest=available

If I trigger the build again in the morning it works again.

Frequent 400 errors

I get HTTP 400s almost every time I do a query. I have to hit the server in a loop for it to work, which eventually it will. It appears there's some non-transactional behaviour going on, e.g. the ephemeral ID is often not recognized immediately after it's been vended.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.