Skip to content

FARACON Developer Guide

Klaus Birken edited this page Mar 4, 2022 · 9 revisions

How to build the command-line tool from source

The faracon command-line tool can easily be built from source using maven. This page describes how to run a local build.

Note that your company needs to be a member of the AUTOSAR organisation. Without being a member, you would not have access to artop.org and therefore it is not possible to use the FARACON tool.

1. Clone the source repository

First of all you need a clone of the franca_ara_tools repository on your machine. We assume that git is already installed. On a terminal, cd to a proper location and issue the following command:

git clone https://github.com/GENIVI/franca_ara_tools.git

2. Install maven

Download maven from the Apache Maven Project page and install it on your machine. We tested with maven 3.2 and 3.5, probably any 3.x version will do. You can check the version with

mvn -v

3. Configure Artop access

In order to run the build, you need access to the download page at the Artop website. As an AUTOSAR member, you will easily get the credentials. Use these to login to https://www.artop.org, enter the Update Sites area and activate the update site artop-sdk-update-site-4.12. This activation is necessary to allow the build downloading the artifacts.

Second, you have to configure your local maven installation with your Artop credentials. Create a file ~/.m2/settings.xml with the following content:

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">

	<interactiveMode />
	<usePluginRegistry />
	<offline />
	<proxies />

	<servers>
		<server>
			<id>artop</id>
			<username>YOUR_ARTOP_USERNAME</username>
			<password>YOUR_ARTOP_PASSWORD</password>
		</server>
	</servers>

	<profiles />
	<activeProfiles />
	<pluginGroups />
</settings>

Remember to replace your credentials (username/password).

3.1 Configure a proxy

When using maven behind a proxy, remember to configure the <proxies> element in settings.xml. This is an example for a typical corporate proxy.

<settings>
    ...
        <proxies>
               <proxy>
                        <id>http-proxy</id>
                        <active>true</active>
                        <protocol>http</protocol>
                        <host>PROXY-IP-ADDRESS</host>
                        <port>PROXY-PORT</port>
                        <username>YOUR-USERNAME</username>
                        <password>YOUR-PASSWORD</password>
                        <nonProxyHosts>127.0.0.*|10.*.*.*|OTHER_LOCAL_HOSTS_HERE</nonProxyHosts>
                </proxy>
                <proxy>
                        <id>https-proxy</id>
                        <active>true</active>
                        <protocol>https</protocol>
                        <host>PROXY-IP-ADDRESS</host>
                        <port>PROXY-PORT</port>
                        <username>YOUR-USERNAME</username>
                        <password>YOUR-PASSWORD</password>
                        <nonProxyHosts>127.0.0.*|10.*.*.*|OTHER_LOCAL_HOSTS_HERE</nonProxyHosts>
                </proxy>
        </proxies>
    ...
</settings>

4. Run the build

Enter the folder created by the git command executed during step 1, which should be named franca_ara_tools. From there, mov to folder releng/org.genivi.faracon.parent. In that folder, run the maven build with the following command:

mvn clean install -Pwith-artop

Note that the build currently needs Java 8, you can check this with java -version. If the Java version is different, install Java 8 and set JAVA_HOME accordingly before running the mvn command.

After a couple of minutes, the output of a successful build should look like this:

[INFO] Franca ARA Converter .............................. SUCCESS [  1.506 s]
[INFO] org.genivi.faracon.targetplatform ................. SUCCESS [  0.137 s]
[INFO] org.genivi.faracon ................................ SUCCESS [ 10.746 s]
[INFO] org.genivi.faracon.console ........................ SUCCESS [  0.510 s]
[INFO] org.genivi.faracon.cli ............................ SUCCESS [  0.573 s]
[INFO] org.genivi.faracon.tests .......................... SUCCESS [ 14.162 s]
[INFO] org.genivi.faracon.feature ........................ SUCCESS [  0.079 s]
[INFO] org.genivi.faracon.console.franca.feature ......... SUCCESS [  0.367 s]
[INFO] org.genivi.faracon.console.feature ................ SUCCESS [  0.103 s]
[INFO] org.genivi.faracon.cli.feature .................... SUCCESS [  0.065 s]
[INFO] org.genivi.faracon.cli.product .................... SUCCESS [ 21.442 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:06 min
[INFO] Finished at: 2019-07-16T09:20:51+01:00
[INFO] Final Memory: 127M/1426M
[INFO] ------------------------------------------------------------------------

If you instead get a message like this

Authentication failed for https://www.artop.org/containers/artop-sdk-update-site-4.12.1

then either there is something wrong with your credentials or https://www.artop.org is down (which happens quite often).

To work off-line with Maven, you need a local Maven repository which has all the needed artifacts. Maven automatically downloads them when you are building without the --offline switch. If you have a machine without Internet access, you can still build franca_ara_tools in the following way:

  • Build the on a machine with Internet access.
  • Copy the local Maven repository ~/.m2/repository/ from the on-line machine to the off-line machine.
  • Build the project with --offline.

5. Find the executables

Go back up to the root folder of your repository clone and move to folder products/org.genivi.faracon.cli.product. If the build was successful, there should be the folder

target/products/org.genivi.faracon.cli.product

containing several builds for the platforms Windows, Linux and MacOS. Choose the appropriate one. For each one, you will find an executable named with the prefix faracon.