{"id":20105504,"url":"https://github.com/ideadapt/metriculator","last_synced_at":"2025-05-06T09:31:30.323Z","repository":{"id":4188825,"uuid":"5306789","full_name":"ideadapt/metriculator","owner":"ideadapt","description":"Eclipse CDT plug-in to create static c++ source code metrics","archived":false,"fork":false,"pushed_at":"2013-11-13T20:52:52.000Z","size":6003,"stargazers_count":19,"open_issues_count":4,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-02T20:56:19.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ideadapt.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-05T20:36:48.000Z","updated_at":"2023-10-19T15:11:06.000Z","dependencies_parsed_at":"2022-09-04T12:41:24.965Z","dependency_job_id":null,"html_url":"https://github.com/ideadapt/metriculator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideadapt%2Fmetriculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideadapt%2Fmetriculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideadapt%2Fmetriculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ideadapt%2Fmetriculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ideadapt","download_url":"https://codeload.github.com/ideadapt/metriculator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252657237,"owners_count":21783789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T17:47:13.945Z","updated_at":"2025-05-06T09:31:29.671Z","avatar_url":"https://github.com/ideadapt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/ideadapt/metriculator.png?branch=master)](https://travis-ci.org/ideadapt/metriculator)\n\nmetriculator was subject of my bachelor thesis, the original documentation is available as PDF from http://eprints.hsr.ch/223/.\n\nFeatures\n========\n* Various C++ source code metrics (McCabe Complexity, Logical Lines of Code, Number of Params, Efferent Coupling, Number of Members)\n* Smoothly integrated into Eclipse UI (Juno and earlier)\n* Rich export functions (tag cloud image, HTML report, ASCII Text file, plain XML)\n* Configurable limits per metric (e.g. maximum lines of code per function)\n* Designed to easily add your own metrics (via separate plugin or via project contribution)\n\nInstallation\n============\n* Download Eclipse CDT (or install C++ Development Tools as plug-in) from eclipse.org\n* Install the following plug-ins via update site in eclipse:\n  \n  _zest_: https://hudson.eclipse.org/hudson/job/gef-zest-integration/ws/org.eclipse.zest.repository/target/repository/\n   Zest is not supported in Eclipse Juno. Zest is only required if metriculator will be installed with the tag cloud feature.\n\n  _metriculator_: http://metriculator.ideadapt.net\n\n\nmetriculator is also available from Eclipse marketplace: http://marketplace.eclipse.org/content/metriculator\nTo install from marketplace simply drag and drop the following _install_ button into your running Eclipse window.\n\n\u003ca href='http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=269008' title='Drag and drop into a running Eclipse Indigo workspace to install metriculator'\u003e \n\t\u003cimg src='http://marketplace.eclipse.org/misc/installbutton.png'/\u003e\n\u003c/a\u003e\n\nContributer Notes\n=================\n\nMetriculator allows you to add new C++ metrics easily. There are already some metrics implemented which might help you to implement additional metrics. The following steps describe how you can add new metrics fast an simple. This manual assumes that you are working with Eclipse and have installed the Plug-in Development Environment (PDE) as well as the C/C++ Development Tooling (CDT) plug-in.\n\nSet up metriculator Eclipse Workspace\n-------------------------------------\n1. Checkout sources from the Git at GitHub repository\n2. In Eclipse Import Existing Projects into Workspace, select the repository checked\nout from point 1.\n3. Set the missing baselines to ignore in Eclipse \u003e Window \u003e Preferences \u003e Plug-in\nDevelopment \u003e API Baselines.\n4. Open the target definition file in the package metriculator and set it as target platform.\n5. Update all the locations.\n\nAdding a New Metric\n-------------------\n1. Add a new checker with a problem in the plugin.xml.\n2. Create a new metric class which inherits from _AbstractMetric_.\n - If your new metric requires a non default metric value aggregation, override the _aggregate_ method.\n3. Create a new metric checker class that inherits from _AbstractMetricChecker_.\n - Define a problem ID.\n - Create the name, description and preferences strings.\n - Add the name, description and preferences strings to the MetricLabels.properties file in the package resources.\n - Add the name, description and preferences strings to _MetricLabels_.\n - Create a new instance of the metric in this checker.\n - Register the new metric at the MetriculatorPluginActivator singleton instance.\n - Implement the reportProblemsFor method.\n - Implement the processTranslationUnit method. See chapter 3 for further information about visitors.\n \nPull Requests\n-------------------------------------\nTo see whether your pull request would successfully build, after merged into the master branch, have a look at \u003ca href='http://travis-ci.org/#!/ideadapt/metriculator/pull_requests' title='Travis Build'\u003eTravis-CI\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideadapt%2Fmetriculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fideadapt%2Fmetriculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fideadapt%2Fmetriculator/lists"}