Warning
This project is now archived, since FINOS now uses LFX to manage contributors and projects metadata
A command line tool for performing various tasks with Fintech Open Source Foundation (FINOS) metadata.
For now the metadata tool is available in source form only, so fire up your favourite git client and get cloning!
The gen-meeting-roster-data
command uses Chrome headless driver and therefore requires the same version of Chrome and Chrome driver to be installed and available in your $PATH
.
To validate chromedriver
installation, run:
which chromedriver
chromedriver --version
metadata tool is configured via a single EDN file that's specified on the command line. This configuration file contains credentials for GitHub, Bitergia, and the tool's email account (used for sending email reports).
The following environment variables must be set, before invoking a metadata-tool command:
GITHUB_USER
- Your GitHub usernameGITHUB_PASSWORD
- A GitHub personal access token; you can create it on https://github.com/settings/tokensBITERGIA_USER
- Username for metrics.finos.org ; can be set to''
for all commands exceptcheck
andcheck-remote
BITERGIA_PASSWORD
- Passwotd for metrics.finos.org ; can be set to''
for all commands exceptcheck
andcheck-remote
See the default config.edn
file for details.
The gen-meeting-roster-data
command relies on one additional configuration file, meeting-crawler.edn
, which is expected to reside in the root folder of the metadata
project; below is a confiuration example.
{
:skip-pages ["template" "archive" "YYYY-MM-DD" "DRAFT" "(cancelled)" "Copy of" "IGNORE"]
:years ["2019" "2018" "2017" "2016"]
:ignore-names ["Individual's name" "Other Attendees" "FINOS Foundation" "TBD"]
:remove-from-names ["(PMC Lead)" "(Observer)" "(Chair)" "(Call-in User)" "(Deactivated)"]
:acronyms {
"Mao Pillitu" "Maurizio Pillitu"
"Gab Columbro" "Gabriele Columbro"
}
}
This file is loaded using the aero library, which offers quite a bit of flexibility around how values are specified in the file (they can be read from environment variables, for example). See the aero documentation for details.
metadata tool uses the logback library for logging, and ships with a
reasonable default logback.xml
file.
Please review the logback documentation if you
wish to override this default logging configuration.
For now, the metadata tool should be run via Leiningen:
$ lein run -- -h
Runs one or more metadata tools.
Usage: metadata-tool [options] tool [tool] ...
Options:
-c, --config-file FILE Path of configuration file (optional, defaults to 'config.edn' in the classpath)
-m, --metadata-directory DIRECTORY Path of local metadata directory (optional, metadata will be checked out from GitHub if not specified)
-p, --projects-directory DIRECTORY Path of local (toplevel) projects metadata directory (optional, metadata will be checked out from GitHub if not specified)
-r, --github-revision REVISION GitHub revision of the metadata repository to checkout and use (optional, defaults to latest)
--email-override Overrides the default email behaviour of using a test email address for all outbound emails (DO NOT USE UNLESS YOU REALLY KNOW WHAT YOU'RE DOING!).
-h, --help
Available tools:
<list of currently available tools is displayed here - this list will change as new tools are developed>
This project has two permanent branches called master
and dev
. master
is a
GitHub protected branch and cannot be pushed to directly -
all pushes (from project team members) and pull requests (from the wider community) must be made against the dev
branch. The project team will periodically merge outstanding changes from dev
to master
.
- Fork it (https://github.com/yourname/yourproject/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Read our contribution guidelines and Community Code of Conduct
- Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org
Copyright 2017 Fintech Open Source Foundation
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0
To see the full list of licenses of all third party libraries used by this project, please run:
$ lein licenses :csv | cut -d , -f3 | sort | uniq
To see the dependencies and licenses in detail, run:
$ lein licenses