Skip to content

Microtasks for GSOC Idea #3 : Support of Source Code Related Metrics. [ Last Updated: 04-04-19 ]

Notifications You must be signed in to change notification settings

inishchith/chaoss-microtasks

Folders and files

NameName
Last commit message
Last commit date
Mar 17, 2019
Mar 16, 2019
Mar 29, 2019
Apr 3, 2019
Mar 17, 2019
Mar 17, 2019
Mar 18, 2019
Mar 29, 2019
Mar 29, 2019
Mar 6, 2019
Mar 29, 2019

Repository files navigation

chaoss-microtasks

Microtasks for GSOC Idea #3 : Support of Source Code Related Metrics READ MORE

Note In case you face some problem opening the jupyter notebooks available in this repository. You can use Binder to view those :)

# Microtask 1:

  • Task: Set up Perceval to be executed from PyCharm.
  • Explanation can be found here

# Microtask 2:

  • Task: Create a Python script to execute Perceval via its Python interface using the Git and GitHub backends. Feel free to select any target repository.
  • The scripts can be found here
  • I've chosen one of my personal projects i.e MeetInTheMiddle for this task.

# Microtask 3:

  • Task: : Based on the JSON documents produced by Perceval and its source code, try to answer the following questions:

    • What is the meaning of the JSON attribute 'timestamp'?
    • What is the meaning of the JSON attribute 'updated_on'?
    • What is the meaning of the JSON attribute 'origin'?
    • What is the meaning of the JSON attribute 'category'?
    • What is the meaning of the JSON attribute 'uuid'?
    • Which are the common methods of the Perceval backends?
    • List and explain at least 3 Git commands used by the Perceval backend.
  • Answers to the above questions can be found here


# Microtask 4:

  • Task: : Create a Python script to fetch data from SoftwareHeritage using its API. Given a target GitHub repository, the script should return a message if the repository is not available on SoftwareHeritage or the date of the last visit.

    • The script should rely on the endpoints: origin and visits.
    • Please use the Python library requests to issue requests to the SofwareHeritage API.
  • The script can be found here


# Microtask 5:

  • Task: Set up Graal to be executed from PyCharm.
  • Explanation can be found here

# Microtask 6:

  • Task: Create a Python script to execute Graal via its Python interface using the CoCom and CoLic backends. Feel free to select any target repository, for instance the GitHub repository hosting Toolkit.
  • The scripts and installation steps can be found here

# Microtask 7:

  • Task: Based on the JSON documents produced by Graal and its source code, try to answer the following questions:

    • Which are the common methods of the Graal backends?
    • List and explain at least 2 Git commands used by Graal (and not implemented in Perceval).
  • Answers to the above questions can be found here


# Microtask 8:

  • Task: Create a Python script to execute flake8 for a given commit of any Git repository. Given a commit SHA and a Git repository, the script should clone the repository (if it doesn't exist locally), perform a checkout based on the commit SHA and execute flake8 on that checkout. The script should return a message that either lists the errors found or "OK" if flake8 successfully ended.

  • The script can be found here


# Microtask 9:

  • Task: Submit at least a PR to one of the GrimoireLab repositories to fix an issue, improve the documentation, etc.

  • I've produced 5 pull requests until this point.

  • Information related to each pull request can be found here


In order to reproduce the results from this repository:

  1. Clone the repository
    $ git clone https://github.com/inishchith/chaoss-microtasks.git
  1. Install dependencies from the corresponding requirements of microtask-*

Note:

  • Each folder contains one microtask.
  • readme.md file under each directory contains information about the corresponding task.

About

Microtasks for GSOC Idea #3 : Support of Source Code Related Metrics. [ Last Updated: 04-04-19 ]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published