Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
1b6e79b
Implement one-stop config file
georgetayqy Apr 15, 2024
a6e30e7
Merge branch 'master' into implement-one-stop-config-file
georgetayqy Apr 27, 2024
b76b29e
Update report-config.yaml file
georgetayqy Apr 27, 2024
15bbf0e
Merge branch 'master' of https://github.com/reposense/RepoSense into …
georgetayqy May 6, 2024
0e83f36
Merge branch 'master' into implement-one-stop-config-file
sopa301 May 7, 2024
65cf7dd
Update config file in cypress
sopa301 May 7, 2024
0a4b72d
Fix title name
sopa301 May 7, 2024
907e1a7
Merge branch 'master' into implement-one-stop-config-file
ckcherry23 May 12, 2024
ab3aff4
Update report-config.yaml format
georgetayqy May 12, 2024
98db5d8
Merge branch 'implement-one-stop-config-file' of https://github.com/a…
georgetayqy May 12, 2024
c20e450
Update docs for report-config.yaml
georgetayqy May 12, 2024
66cd719
Update URLs
georgetayqy May 12, 2024
18772f0
Update YAML Format
georgetayqy Jun 9, 2024
4b409f9
Merge branch 'master' of https://github.com/reposense/RepoSense into …
georgetayqy Jun 9, 2024
587f152
Update YAML config file format
georgetayqy Jun 29, 2024
cc151f4
Revert "Update YAML config file format"
georgetayqy Jul 14, 2024
645b4c7
Update Report Configuration YAML File Format
georgetayqy Jul 14, 2024
45a9708
Merge branch 'master' into implement-one-stop-config-file
ckcherry23 Jul 14, 2024
42d167d
Implement One-Stop Config File Feature
georgetayqy Jul 15, 2024
3e0d06b
Merge branch 'master' into implement-one-stop-config-file
georgetayqy Aug 9, 2024
d7f13b4
Merge branch 'master' into implement-one-stop-config-file
gok99 Aug 14, 2024
1432820
Merge branch 'master' into implement-one-stop-config-file
gok99 Oct 30, 2024
cc20030
Merge branch 'implement-one-stop-config-file' of https://github.com/g…
CYX22222003 Feb 10, 2025
c020ec8
Implement MVP of one stop config file and add file size limit
lyuanww Feb 14, 2025
978f367
Refactor classes to remove default instances
lyuanww Feb 16, 2025
02380ae
Handle empty fields and add tests
lyuanww Feb 18, 2025
1fcb40e
Add documentation and refactoring
lyuanww Feb 20, 2025
ba421b1
Merge remote-tracking branch 'reposense/master' into implement-one-st…
lyuanww Feb 20, 2025
9393180
Fix code to pass environmentalChecks and add blurb field documentation
lyuanww Feb 21, 2025
aa1c2e7
Fix systemtest
lyuanww Feb 21, 2025
697c593
Fix cypress test and add tests for code coverage
lyuanww Feb 22, 2025
f6c630d
Increase code coverage
lyuanww Feb 22, 2025
53df74e
Fix docs
lyuanww Feb 22, 2025
846b559
Resolve conflicts
lyuanww Mar 10, 2025
40c6066
Add tests
lyuanww Mar 20, 2025
33a2140
Add tests
lyuanww Mar 21, 2025
a47f364
System test
lyuanww Mar 31, 2025
5e97c3d
Enhance RunConfigurationDeciderTest
lyuanww Mar 31, 2025
e92d56f
Add docs
lyuanww Apr 2, 2025
6302ad1
Add more details
lyuanww Apr 2, 2025
b4e54b6
Merge remote-tracking branch 'origin' into implement-one-stop-config-…
lyuanww Apr 2, 2025
08f8670
Fix build
lyuanww Apr 2, 2025
0eb8534
Merge branch 'master' into implement-one-stop-config-file-v2
lyuanww Apr 2, 2025
cc52c77
Fix systemtest
lyuanww Apr 2, 2025
81edf8d
Fix systemtest
lyuanww Apr 2, 2025
bf85c1f
Fix systemtest
lyuanww Apr 2, 2025
006f5c1
Clean up
lyuanww Apr 2, 2025
81dd9df
Fix docs
lyuanww Apr 2, 2025
cc094c1
Merge branch 'master' into implement-one-stop-config-file-v2
lyuanww Apr 2, 2025
f17a5f0
Enhance docs
lyuanww Apr 3, 2025
463d291
lint FE fix
lyuanww Apr 3, 2025
3f9adda
System test
lyuanww Apr 4, 2025
acd4b8d
Merge branch 'master' into implement-one-stop-config-file-v2
lyuanww Apr 4, 2025
cf0f32c
Fix nits
lyuanww Apr 7, 2025
b09dc90
Resolve merge conflicts
lyuanww Apr 9, 2025
92bea06
Resolve comments
lyuanww Apr 9, 2025
65acba0
Resolve merge conflicts
lyuanww Apr 9, 2025
e24d51c
Fix tests
lyuanww Apr 9, 2025
d8d222d
Enhance docs
lyuanww Apr 9, 2025
8cfd137
Merge branch 'master' into implement-one-stop-config-file-v2
lyuanww Apr 13, 2025
53f7487
Enhance docs
lyuanww Apr 13, 2025
00ab670
Remove --config flag description
lyuanww Apr 13, 2025
a240854
Merge branch 'master' into implement-one-stop-config-file-v2
lyuanww Apr 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
*.tmp

ft_temp/
rc_temp/
/target/
.gradle/
build/
Expand Down
1 change: 1 addition & 0 deletions config/report-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
title: RepoSense Report
1 change: 1 addition & 0 deletions docs/_markbind/layouts/ug-sitenav.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
{name: "Sharing reports", link: "ug/sharingReports.html"},
{name: "Appendices"},
{level: 2, name: "CLI syntax reference", link: "ug/cli.html"},
{level: 2, name: "Getting started with `report-config.yaml`", link: "ug/reportConfig.html"},
{level: 2, name: "Config files format", link: "ug/configFiles.html"},
{level: 2, name: "Advanced syntax: `author-config.csv`", link: "ug/authorConfigSyntax.html"},
{level: 2, name: "Using `@@author` tags", link: "ug/usingAuthorTags.html"},
Expand Down
2 changes: 1 addition & 1 deletion docs/dg/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ syntax reference under Appendix section of User Guide.

<box type="info" seamless>

* Used in `ConfigSystemTest`.
* Used in `ConfigSystemTest` and `ReportConfigSystemTest`.
* Some test cases performs shallow cloning while some does not. Fresh cloning ensures that the test cases that does
not perform shallow cloning will clone the repo again if the previous test case uses shallow cloning, ensuring
correctness of the analysis.
Expand Down
Binary file added docs/images/report-config-report.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion docs/ug/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,15 @@ partial credit.
<div id="section-config">

**`--config CONFIG_DIRECTORY`**: Specifies that config files located in `CONFIG_DIRECTORY` should be used to customize the report.
* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `report-config.json` file or/and a `blurbs.md` file.
* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file or/and a `report-config.yaml` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `blurbs.md` file.
* Alias: `-c`
* Example: `java -jar RepoSense.jar --config ./config`

<box type="info" seamless>

* Cannot be used with `--repos`. The `--repos` flag will take precedence over this flag.
* If both `--repos` and `--config` are not specified, RepoSense looks for config files in the `./config` directory.
* If both `repo-config.csv` and `report-config.yaml` are present in the config file, `report-config.yaml` will take precedence over **all CSV files** as long as the `repos` field is correctly formatted.
* Config files must follow [this](./configFiles.html) format.
</box>
</div>
Expand Down Expand Up @@ -253,6 +254,8 @@ Cannot be used with `--last-modified-date`. This may result in an incorrect last

### `--since`, `-s`

<div id="section-since-date">

**`--since START_DATE`**: Specifies the start date for the period to be analyzed.
* Parameter: `START_DATE` The first day of the period to be analyzed (with optional time specification), in one of the following formats:<br>
```
Expand All @@ -272,6 +275,7 @@ Cannot be used with `--last-modified-date`. This may result in an incorrect last
* If `d1` is specified as the start date (`--since d1` or `-s d1`), then the program will search for the earliest commit date of all repositories and use that as the start date.
* If `d1` is specified together with `--period`, then the program will warn that the date range being analyzed may be incorrect.
</box>
</div>

<!-- ------------------------------------------------------------------------------------------------------ -->

Expand Down Expand Up @@ -301,6 +305,8 @@ Cannot be used with `--last-modified-date`. This may result in an incorrect last

### `--until`, `-u`

<div id="section-until-date">

**`--until END_DATE`**: Specifies the end date of the analysis period.
* Parameter: `END_DATE` The last date of the period to be analyzed (with optional time specification), in one of the following formats:<br>
```
Expand All @@ -318,6 +324,7 @@ Default:

Note: If the end date is not specified, the date of generating the report will be taken as the end date.
</box>
</div>

<!-- ------------------------------------------------------------------------------------------------------ -->

Expand Down
20 changes: 10 additions & 10 deletions docs/ug/configFiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Given below are the details of the various config files used by RepoSense.
| Ignore File Size Limit | Enter **`yes`** to ignore both the default file size limit and the file size limit possibly set by the user in `repo-config.csv`. |
| Skip Ignored File Analysis | Enter **`yes`** to ignore analysis of files exceeding the file size limit entirely. If file analysis is skipped, all information about the file will be omitted from the generated report. This option can significantly improve report generation time. |
| Since Date | Enter since date in the format of `yyyy/mm/dd` to signify the start date of analysis. If the field is ignored, the date will be set to the default one or the date indicated in CLI flags |
| Until Date | Enter since date in the format of `yyyy/mm/dd` to signify the end date of analysis. If the field is ignored, the date will be set to the default one or the date indicated in CLI flags |
| Until Date | Enter until date in the format of `yyyy/mm/dd` to signify the end date of analysis. If the field is ignored, the date will be set to the default one or the date indicated in CLI flags |

<box type="info" seamless>
The Shallow Cloning option is incompatible with the "--last-modified-date" CLI flag.
Expand Down Expand Up @@ -98,11 +98,11 @@ If `author-config.csv` is not given and the repo has not provided author details

Optionally, you can provide a `group-config.csv`(which should be in the same directory as `repo-config.csv` file) to provide details on any custom groupings for files in specified repositories ([example](group-config.csv)). It should contain the following columns:

| Column Name | Explanation |
|-------------|-------------|
| Repository's Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |
| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |
| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |
| Column Name | Explanation |
|----------------------------|---------------------------------------------------------------------------------------|
| Repository's Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |
| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |
| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |

<sup>* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.</sup>

Expand All @@ -111,12 +111,12 @@ e.g.: `example.java` in `example-repo` can either be in the `test` group or the

<!-- ==================================================================================================== -->

## `report-config.json`
## `report-config.yaml`

You can optionally use `report-config.json` to customize report generation by providing the following information. ([example](report-config.json))
You can also optionally use a `report-config.yaml` file to quickly define the repository information for the repositories you are interested in tracking and generating your very own code portfolio.
The configurations of this file will override the CSV files if the `repos` field of the file is present and correctly formatted.

**Fields to provide**:
* `title`: Title of the generated report, which is also the title of the deployed dashboard. Default: "RepoSense Report"
Please refer to this [guide](./reportConfig.html#advanced-report-configuration).

<!-- ==================================================================================================== -->

Expand Down
28 changes: 27 additions & 1 deletion docs/ug/customizingReports.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,21 @@ The report can be customized using several ways, as explained below.

<!-- ------------------------------------------------------------------------------------------------------ -->

### Configuration Options Overview

RepoSense offers multiple ways to customize your reports, with varying levels of complexity and flexibility:

1. **CLI flags** - The simplest, most direct approach for basic customization
2. **report-config.yaml** - A user-friendly single file for typical use cases
3. **CSV config files** - A more powerful option with granular control for advanced scenarios

When deciding which configuration method to use:
- **CLI flags** are ideal for quick, one-off reports with minimal customization.
- **report-config.yaml** is recommended for most users as it provides a good balance of usability and features in a single file.
- **CSV config files** offer the most flexibility for complex scenarios, such as managing large teams or requiring fine-grained control.

<!-- ------------------------------------------------------------------------------------------------------ -->

### Customize using CLI flags

**The simplest approach is to provide additional flags when running RepoSense.** The various flags are given in the panel below.
Expand All @@ -23,9 +38,20 @@ The report can be customized using several ways, as explained below.

<!-- ------------------------------------------------------------------------------------------------------ -->

### Customize using report-config.yaml

**The `report-config.yaml` file provides a more user-friendly way for users to customize their reports in more detail compared to the CLI flags.**

Please refer to this [page](./reportConfig.html) to get started.

Note that configurations in `report-config.yaml` will override the configurations in the CSV config files when both are present.
<!-- ------------------------------------------------------------------------------------------------------ -->

### Customize using CSV config files

**Another, more powerful, way to customize the report is by using dedicated config files.** In this case you need to use the `--config` flag instead of the `--repo` flag when running RepoSense, as follows:
**Another, more powerful, way to customize the report is by using dedicated config files.** You can refer to this [section](./configFiles.html) to find out more about the CSV file formats.

In this case you need to use the `--config` flag instead of the `--repo` flag when running RepoSense, as follows:

{{ embed("Appendix: **CLI syntax reference → `config` flag**", "cli.md#section-config") }}

Expand Down
3 changes: 0 additions & 3 deletions docs/ug/report-config.json

This file was deleted.

Loading