pedrolamarao / gradle-metal

Gradle plugins to compile "bare metal" projects
GNU General Public License v3.0
2 stars 0 forks source link
asm bare-metal c cpp cxx gradle gradle-plugins native

= gradle-metal :author: Pedro Lamarão pedro.lamarao@gmail.com

Gradle Metal is a suite of Gradle plugins for bare metal development, primarily design to support project link:https://github.com/pedrolamarao/metal[Metal].

Features:

[WARNING] This project is under early development. Compatibility will be broken without prior notice. In particular, we will not stabilize our Gradle dependency before Gradle 9.

A C++ library project with modules support is defined as simply as:

[source,kotlin]

plugins { id("br.dev.pedrolamarao.metal.library") id("br.dev.pedrolamarao.metal.cxx") }

library { compileOptions = listOf("-std=c++20") }

Check the link:samples[] for a variety of use-cases.

Current requirements:

To use the development version, you may install from source with ./gradlew publishToMavenLocal and configure your project's settings like this:

[source,kotlin]

pluginManagement { repositories { mavenLocal() } resolutionStrategy { eachPlugin { if (requested.id.id.startsWith("br.dev.pedrolamarao.metal.")) { useModule("br.dev.pedrolamarao.gradle.metal:plugins:0.6+") } } } }

Under construction:

For development status, see Github issues at link:https://github.com/pedrolamarao/gradle-metal/issues[].