Filters and Scripts Download

Filters and
Scripts Download

Imagix 4D functionality can be extended through the use of data sources plugins. As provided by Imagix or defined/modified by users, these can automate the definition of data sources used in loading code into Imagix 4D projects.

A set of plugins are packaged in the Imagix 4D download, residing in the ./imagix/user/data_srcs directory. Those plugins and possibly some additional plugins can be downloaded from here. Except where noted, these plugins are compatible with Imagix 4D versions 10.2.0 and later. These data sources plugins are of two types:

Extract from Makelog Filters

These plugins act as filters for preprocessing the Extract from Makelog data source type. They are applied to the makelog specified for the data source, and transform the raw makefile to create an intermediate file that is then processed as normal.

Any files in ./imagix/user/data_srcs with a .flt suffix are identified as filters, and are listed in the "Filter for preprocessing makelog" combobox in the "Logfile Processing" section of the "Processing Rules" tab when you are defining an Extract from Makelog data source. If any additional files with a .fl_ suffix exist, these prefilters can be installed by simply changing their .fl_ suffix to .flt.

These files typically contain a section with a number of settings for configuring the filter for use with a specific makelog. You can create multiple filters for slightly different makelog situations by copying the original .flt file to some unique_name.flt file, and then appropriately configuring the settings within that .flt file.

Currently available filters include:

Filter
(download)
Description
Ninja-Soong Buildlog This filter processes the buildlog generated by compiling AOSP (Android Open Source Project). For AOSP10 and later, a compressed buildlog of your latest compile is automatically generated at /out/verbose.log.gz. For earlier versions of AOSP, compile with the command:
    make droid showcommands 2>&1 > build.log
This filter transforms the change directory and C / C++ compile command lines into a format that can be processed by Extract from Makelog.
JSON/Bear Compilation Database This filter processes a buildlog conforming to the JSON Compilation Database format. to transform the directory and C / C++ compile command information into a format that can be processed by the Extract from Makelog data source type.

Data Source Definition Scripts

These plugins are also applied to a makelog that describes how source code is built. But rather than transform the makelog to a modified format that is then analyzed using the standard Extract from Makelog processing, these scripts complete the definition of a full data source for an Imagix 4D project.

Any files in ./imagix/user/data_srcs with a .tcl suffix are identified as data source definition scripts, and their actions appear as Project > Specialized Data Sources menu items. If any additional files with a .tc_ suffix exist, these scripts can be installed by simply changing their .tc_ suffix to .tcl.

Any necessary settings are specified through the Settings menu in the new tab that appears in Imagix 4D's main panel when initially invoking the script.

Currently available scripts include:

Script
(download)
Description
Soong-Gradle JavaBuildlog This filter processes the log generated by building AOSP (Android Open Source Project) and associated applications. If you're using Soong with AOSP10 and later, a compressed log of your latest build is automatically generated at /out/verbose.log.gz. If you're using Soong or make with earlier versions of AOSP, build with the command:
    make droid -j1 showcommands 2>&1 > build.log
and under Gradle, use the command:
    gradle build --debug 2>&1 > build.log (same for gradlew)
This filter defines a single data source to load data from the .java or .jar files recorded in the buildlog.


Beyond these, we have filters and scripts that are less genericly applicable, or require more instruction or some customization, but might be of significant help to you. And we always welcome the opportunity to create new plugins or to work with you to customize plugins for your applications. So if you wish that Imagix 4D could import data in a particular format of makelog, etc, please contact us.