/aadarchi-technology-detector

A helper script for aadarchi allowing us to fetch interesting technologies

Primary LanguageJava

Welcome to aadarchi-technology-detector 👋

Version Documentation Maintenance License: MIT

A Java project linked to aadarchi which aims to detect notable technologies in a variety of languages

Prerequisites

. Install jbang . Clone TechEmpower frameworks repository beside this repository

Usage

Fetching data from reports branches

This repository provides for each observed repository one branch containing in a given folder the file aggregating all informations.

Available sources

Source website Branch name Path of artifacts file(s)
mvnrepository.com reports_mvnrepository mvnrepository/artifacts.json

If you take a look at these branches, in each of them, you'll find one commit per month.

Produced file format

Each scrapper should produce a file with this structure

[
  // A list of artifacts
  {
    // Artifact coordinates (depending upon the artifact type)
    "coordinates": "androidx.annotation.annotation",
    // Artifact visible name
    "name": "Annotation",
    // Artifact description (optionnal, but highly recommended)
    "description": "Provides source annotations for tooling and readability.",
    // Artifact licenses (optionnal)
    "license": [
      "Apache 2.0"
    ],
    // Artifact categories (optionnal)
    "categories": [
      "Annotation Libraries"
    ],
    // Artifact tags (optionnal)
    "tags": [
      "android",
      "annotations",
      "metadata"
    ],
    // Artifact ranking in registry (1 is the most important artifact - optionnal)
    "ranking": "114",
    // Artifact users number (optionnal)
    "users": 4307,
    // Number of downloads of this artifact
    "downloads": "-1",
    // Artifact repositories (optionnal)
    "repositories": [
      "Google",
      "SciJava Public"
    ],
    // Artifact versions (optionnal, but highly recommended)
    "versions": {
      // Each version has a number
      "1.8.0-alpha01": {
        // usage count for this version
        "usages": "3",
        // version release date
        "date": "Feb 21, 2024",
        // users count for this version
        "users": 3
      },
...

Command line

Each process can be run on your machine to validate everything is good

MvnRepository

cd mvnrepository
jbang ExtractPopularMvnRepositorytArtifacts.java

It will produce an artifacts.json file with the artifacts usage count at the time the command is run

Extract MvnRepository

Thanks to the Internet Wayback Machine, it is possible to get the whole history for mvn repository by running the command

jbang ExtractPopularMvnRepositorytArtifacts.java --generate-history

This will fetch the whole history for MvnRepository and generate in a branch called history one commit for each month since the first capture available at https://archive.org. This code is kept for tracability reason, to make sure the history fetching process is reproducable, but should not be run.

Author

👤 Riduidel & Helielzel

🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check issues page. You can also take a look at the contributing guide.

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2023 Riduidel & Helielzel.
This project is MIT licensed.


This README was generated with ❤️ by readme-md-generator