reposense / RepoSense

Contribution analysis tool for Git repositories
https://reposense.org
MIT License
245 stars 154 forks source link

[#2161] One-Stop Config File for Code Portfolio #2192

Open georgetayqy opened 5 months ago

georgetayqy commented 5 months ago

Part of #2161

Proposed commit message

Currently, `report-config.json` is underutilised (it is only used for
defining report titles). However, considering the code portfolio
feature, we need to implement a config file that allows users to
quickly set up and deploy it to their favourite platform to host
websites.

Let's move to repurpose `report-config.json` into a YAML file that
users can use it to set up configs to build their code portfolio more
easily.

Other information

Requires CI/CD to be updated to Java 11:

georgetayqy commented 2 months ago

@gok99 @damithc The feature is still being worked on at the moment (I have not finalised the precedence to read in config files/CLI arguments, and subsequently have not updated tests and test resources), but I would like to confirm with you that:

  1. For blurbs
    1. If blurbs are specified in the one-stop config file and in blurbs.md, blurbs.md is prioritised
    2. If blurbs are not specified in the one-stop config file but are specified in blurbs.md, blurbs.md is prioritised
    3. If blurbs are specified in the one-stop config file but are not specified in blurbs.md, the one-stop config file is prioritised
    4. If blurbs are not specified at all, then neither are prioritised and BlurbMap is empty
  2. For the precedence of configurations for the application, it is: one-stop > CLI (repos are specified in the CLI argument) > CLI (repos and settings specified in config files)

Thank you!

gok99 commented 2 months ago

@asdfghjkxd

  1. For blurbs ...

To clarify, blurbs can be specified in one-stop config (inclusive) or blurbs.md. If the blurb is specified in only one of the two for a given repository, we take that one. If it specified in both for a given repository, we take the one in blurbs.md. So, it is possible for users to specify blurbs in both the one-stop config and blurbs.md depending on the level of detail they want.

  1. For the precedence of configurations for the application, it is: one-stop > CLI (repos are specified in the CLI argument) > CLI (repos and settings specified in config files)

I was imagining that the one-stop config would go in the config directory and the precedence being: CLI > one-stop (+ blurbs.md) if present > csv configs (+ blurbs.md) otherwise and if present. Let me know what you think of this.

georgetayqy commented 1 month ago

Hi @gok99, thank you for the clarification!

Concerning the precedence of the configuration, I believe that your suggestions make sense; the CLI should have the greatest precedence among all other repo configurations.

Will work on this in the coming weeks!

github-actions[bot] commented 3 weeks ago

Hi, We are going to mark this PR as stale because it has been inactive for the past 30 days. If no further activity occurs within the following 7 days, it will be automatically closed so that others can take up the issue. If you are still working on this PR, please make a follow-up commit within 7 days and leave a comment to remove the stale label. Do let us know if you are stuck so that we can help you!'

github-actions[bot] commented 2 weeks ago

This PR was closed because it has been marked as stale for 7 days with no activity. Feel free to reopen this PR if you would like to continue working on it.