Skip to content
This repository has been archived by the owner on Nov 20, 2023. It is now read-only.

Latest commit

 

History

History
137 lines (97 loc) · 3.67 KB

README.dev.adoc

File metadata and controls

137 lines (97 loc) · 3.67 KB

LTTng Scope: development

This document contains information to help with the development of the LTTng Scope project.

Build system

This project uses Maven to compile, test, and package.

The master pom.xml defines a few properties, dependencies with their versions, plugins with their versions and parameters, and profiles. They are used by the modules which have minimal POM files:

ctfreader

CTF reading library (partly inherited from the Trace Compass project).

jabberwockd

Stub for an eventual trace analysis daemon application.

jabberwocky-core

Main model for analyses.

jabberwocky-core-test-base

Base module for tests.

jabberwocky-ctf

Wrapper of ctfreader to expose a simpler API to the LTTng Scope project.

jabberwocky-lttng

LTTng-specific model and analyses.

javeltrace

Proof of concept: command-line tool which can analyze a trace.

libdelorean

State system and state history library (partly inherited from the Trace Compass project).

lttng-scope-ui

User interface part of the LTTng Scope application.

ttt

Traces for testing.

Using Maven to build

Follow the Build from source section of README.adoc.

The package phase of the lttng-scope-ui module creates a file in lttng-scope-ui/target named lttng-scope-ui-VERSION-jar-with-dependencies.jar, where VERSION is the project’s version. This archive contains the class files of all the required modules, but it does not contain JavaFX, which must be installed on the system (just like the Java VM).

When you modify a module, you can rebuild LTTng Scope as such:

mvn install -DskipTests

Using IntelliJ IDEA

To import the LTTng Scope project in IntelliJ IDEA:

  1. In IDEA, import a project.

    You can do this either when IDEA starts (click Import Project), or in its main window, by clicking File (top menu), then New, then Project from Existing Sources…​.

  2. Select the LTTng Scope Git repository directory (not the lttng-scope-ui subdirectory).

  3. Check Import project from external model and select Maven. Click Next.

  4. Check Import Maven projects automatically. Click Next.

  5. Leave all profiles unchecked. Click Next.

  6. In the Select Maven projects to import step, click Next.

  7. In the Please select project SDK step, click Next.

  8. Click Finish.

You need to create a run configuration to run the project.

To create a run configuration:

  1. Make sure the project is fully loaded, that is, there’s no current indexing/build activity (shown by the status bar).

  2. Click Run (top menu), then Edit configurations…​.

  3. Click +, then Kotlin.

  4. Give the run configuration a name (for example, main).

  5. In the Use classpath of module list, select lttng-scope-ui.

  6. In the Main class text box, enter:

    org.lttng.scope.application.ScopeApplicationKt
  7. Click OK.

To build the project:

  • Click Build (top menu), then Build project.

To run the project:

  • Click Run (top menu), then Run 'main' (if main is your run configuration’s name).

Changing the version

The project’s version should be x.y.z-SNAPSHOT until it is ready for the release x.y.z.

To change the project’s version:

  • On the command line, working in the directory containing README.adoc:

    mvn versions:set -DnewVersion=VERSION
    mvn versions:commit

    where VERSION is the new version.

    This updates the versions of the master POM and all the module POMs.