Git Product home page Git Product logo

carte's Introduction

Carte Report Engine

HTML reports and SVG-based charts.

WARNING: This code is nowhere near being complete nor API-stable. Use it at your own risk, and contributions would be welcome.

This file focuses on building Carte from source. You can find more information about Carte in the Wiki.


Building the main modules from source

After cloning the main repository:

git clone https://github.com/css4j/carte.git

run the gradlew wrapper to build (requires Java 11 or later):

cd carte
./gradlew build

A variety of Gradle tasks can be executed:

  • ./gradlew build (normal build).

  • ./gradlew build publishToMavenLocal (to install in local Maven repository).

  • ./gradlew uberjar (to create a fat jar with all dependencies).

  • ./gradlew publish (to deploy to a Maven repository, as described in the publishing block of io.sf.carte.java-conventions.gradle).


Usage from a Gradle project

If your Gradle project depends on Carte, you can use this project's own Maven repository in a repositories section of your build file, for easy access to dependencies:

repositories {
    maven {
        url "https://css4j.github.io/maven/"
        mavenContent {
            releasesOnly()
        }
        content {
            includeGroup 'io.sf.carte'
            includeGroup 'io.sf.jclf'
            includeGroup 'com.github.css4j'
       }
    }
}

please use this repository only for the artifact groups listed in the includeGroup statements.

Then, to use the core Carte module put the following in your build.gradle file:

dependencies {
    implementation "io.sf.carte:carte:${carteVersion}"
}

where carteVersion could be defined in a gradle.properties file. Similarly, to use carte-jmh:

dependencies {
    implementation "io.sf.carte:carte-jmh:${carteVersion}"
}

Running the JMH report application

To run the benchmark report app on JMH-produced JSON files, you have to prepare a configuration file and execute:

  1. ./gradlew build uberjar
  2. java -jar carte-jmh/build/libs/carte-jmh-<version>-all.jar --config=<path-to-config-file> *.json

You could use the example files as a starting point, and run the benchmark-charts.sh script that produces the graphs in https://css4j.github.io/dom-mark.html.

Look inside the dom-benchmark.xml file:

  • In the element with documentStore id of that file, it is configured that the file ~/www/css4j.github.io/dom-mark.html is a DocumentStore where the SVG graphs will be put.

  • And the element with a fileStore id tells that the directory ~/www/css4j.github.io/benchmark would be a FileStore containing the fallback images.

All that you have to do is to download your copy of the dom-mark.html file and modify the paths in dom-benchmark.xml as necessary. Then:

cd carte-jmh/examples
./benchmark-charts.sh dom-*.json html-build.json iterator*.json xml*.json ele*.json

And you will reproduce the JMH charts.

carte's People

Contributors

carlosame avatar dependabot[bot] avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.