PERL Modules Converter

In order to fully comprehend this tool, reading the documentation on Perl Modules Extractor is recommended.

This tool converts the output from the aforementioned extractor to context model (in OWL format) by organizing all packages, their dependencies and respective versions and representing it in Ontology.

To achieve this, it follows the following steps:

It fetches all main dependencies. The Perl Modules Extractor makes the distinction between custom dependencies (that might be developed within the extracted system) and distributions. Distributions include all Perl Modules installed in the system.

The CUDF DSO is used, so all dependencies are represented as CUDF Package instances

All dependencies and corresponding information are fetched. To represent a dependency towards a specific version (or version with comparator), VersionedPackage instances are created with the following name: “[Dependent package][Dependent package version][Dependency name]”. The version of this dependency is saved in the version Data Property.

In Perl, a module can provide several semi-independent ones. This is also represented by the “provides” Data Property in the populated Ontology.

Creator:
Caixa Magica Software

License:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Find at opensourceprojects.eu
https://opensourceprojects.eu/p/timbus/context-model/converters/ierm-to-owl

Go to the PERL Modules Converter's page on opensourceprojects.eu for more details about requirements, interaction and source code by following the link above.

How to Install the PERL Modules Extractor

Requirements: Tools: - Git – Git is a distributed revision control and source code management (SCM) system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. In Timbus project, git is therefore utilized to facilitate distributed development and cooperation between partners. All tools are available in www.opensourceprojects.eu website. To get this particular tool, once having Git installed run the following in the command line: git clone https://opensourceprojects.eu/git/p/timbus/context-model/converters/json-xml/perl-modules-converter It will save the project in the current folder. - Java 1.7 or over – A simple tutorial on how to install the required java on different platforms is available in https://opensourceprojects.eu/p/timbus/wiki/How%20to%20install%3A%20Java/ - Maven - Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. It is used to manage all dependencies and build of the project. Besides fetching all required dependencies during build, it allows a fine-grain control over the whole build process Artifacts: - Maven pom parent – core (2-beta-3) – As various projects within Timbus utilize common dependencies and have similar build behaviour, a series of maven parents were created to facilitate the creation of new tools – Declaring a pom parent in the main project pom file states that the current project extends its parent and, therefore, follows its behaviour. However, it is possible to override certain build options in order to adapt the parent to the context of the tool being developed. As any other tool or artifact in Timbus, the parent is stored in opensourceprojects repository and can be fetched by running the following command: git clone https://opensourceprojects.eu/git/p/timbus/support/maven-parents timbus-support-maven-parents - Converters-core (currently version 1.1.0-RELEASE) – This module sets the behaviour for all remote converters in TIMBUS and it's necessary in order to invoke this artifact within Virgo environment (for more detail, see description of this tool). You can get it by running the command: git clone https://opensourceprojects.eu/git/p/timbus/context-model/converters-api The project does have other dependencies, however all of them are fetched automatically from remote repositories during the build process. Step-by-step compilation Once all requirements are met, the following steps are necessary to properly compile the project: - Install the maven parent in the local maven repository. All other project dependencies are available in remote accessible repositories, but the parent has to be installed so that maven is able to find it when compiling: • Go to timbus-support-maven-parents/core. • Run “mvn install”. This command will recognize the pom.xml file in the folder and install it properly on the local repository. - Install the converters-core artifact dependency in your local repository. For this, go to the root directory of converters-api – the project fetched from Opensourceprojects.eu previously fetched - and run “mvn install”. - Install the Owlapi in your local repository. Go to the project's main folder and, like in previous steps, run “mvn install” - Go to the project's main folder, and run “mvn clean package” - This command will build the project appropriately and place it in a “target” folder. The [clean] option replaces the “target” folder if there is already any. If everything was successful, the compiled .jar file can now be found in the “target” folder.

Learn more about the PERL Modules Converter in the videos below.

Back to Context Model Tools