Skip to content

Instantly share code, notes, and snippets.

View melix's full-sized avatar

Cédric Champeau melix

View GitHub Profile
@melix
melix / before
Created March 27, 2020 15:35
New error message
Unable to find a matching variant of project :platform:
- Variant 'apiElements' capability org.test:platform:1.9:
- Incompatible attribute:
- Required org.gradle.category 'library' and found incompatible value 'platform'.
- Other attributes:
- Required org.gradle.dependency.bundling 'external' but no value provided.
- Required org.gradle.jvm.version '8' but no value provided.
- Required org.gradle.libraryelements 'classes' but no value provided.
- Required org.gradle.usage 'java-api' and found compatible value 'java-api'.
- Variant 'enforcedApiElements' capability org.test:platform-derived-enforced-platform:1.9:
@melix
melix / build.gradle
Last active January 12, 2020 00:47
Publish an additional fat jar with Gradle
plugins {
id 'java-library'
id 'com.github.johnrengelman.shadow' version '5.2.0'
id 'maven-publish'
}
group = 'com.acme'
version = '1.0.0'
repositories {
@melix
melix / verification-metadata.xml
Created December 21, 2019 18:19
8 seconds to generate this file
<?xml version="1.0" encoding="UTF-8"?>
<verification-metadata>
<configuration>
<verify-metadata>true</verify-metadata>
<verify-signatures>true</verify-signatures>
<ignored-keys>
<ignored-key id="da8a5ec02d11ead" reason="Key couldn't be downloaded from any key server"/>
<ignored-key id="374cf2e8dd1bdfd" reason="Key couldn't be downloaded from any key server"/>
<ignored-key id="97586cfea37f9a6" reason="Key couldn't be downloaded from any key server"/>
<ignored-key id="d3b328562a119a7" reason="Key couldn't be downloaded from any key server"/>
@CompileStatic
class PropertiesWriter extends DefaultTask {
@Input
final Property<String> key = project.objects.property(String).convention("someProperty")
@Input
final Property<String> value = project.objects.property(String).convention("someValue")
@OutputFile
final Provider<RegularFile> outputFile = project.layout.buildDirectory.file("out.properties")
import java.util.*
open class PropertiesWriter : DefaultTask() {
@get:Input
val key = project.objects.property<String>().convention("someProperty")
@get:Input
val value = project.objects.property<String>().convention("someValue")
@get:OutputFile
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* User Manual available at https://docs.gradle.org/6.0.1/userguide/java_library_plugin.html
*/
import java.util.*
open class PropertiesWriter : DefaultTask() {
@melix
melix / dump.gradle
Created October 30, 2019 12:23
Dumping constraints
import javax.inject.Inject
plugins {
id 'java-library'
}
repositories {
mavenCentral()
}
configurations {
@melix
melix / maven-bridge.gradle
Created October 30, 2019 08:55
Bridging with a Maven build
plugins {
id 'java-library'
// Maven publish is just for tests, it would be replaced by the plugin plugin
id 'maven-publish'
}
group = "com.foo"
version = "1.0"
repositories {
@melix
melix / body.tpl
Last active August 12, 2019 01:04
An example of improved template composition using fragments and the MarkupTemplateEngine
html {
head {
title(title)
}
body {
content()
}
}
@melix
melix / gist:60cb5b9eff9ee49652457ce7339e9e67
Created February 15, 2019 12:35
Do NOT use the Debian version of Gradle
# This is a "fresh" install of Gradle using the Debian package
gradle --version
------------------------------------------------------------
Gradle 3.2.1
------------------------------------------------------------
Build time: 2012-12-21 00:00:00 UTC
Revision: none