Skip to content

Instantly share code, notes, and snippets.

Avatar

Cédric Champeau melix

View GitHub Profile
@melix
melix / build.gradle
Last active Oct 7, 2022
Dependency downloader
View build.gradle
// Downloads dependencies of an artifact in an output directory
//
// Note that it assumes _runtime_ dependencies, and it assumes "Maven compatible" variants.
// For compile time (API) dependencies, or for variant-aware resolution,
// code would have to be updated to set the appropriate resolution attributes.
//
// Usage:
// gradle download --input org.apache.groovy:groovy-json:4.0.1
//
// Optional flags:
@melix
melix / README.md
Created Dec 20, 2021
Testing Micronaut AOT for Lambda
View README.md

Edit your settings.gradle file to include the Micronaut Gradle Plugin branch:

plugins {
    id 'me.champeau.includegit' version '0.1.4'
}

rootProject.name="micronautguide"

gitRepositories {
@melix
melix / build.gradle.kts
Last active Dec 21, 2021
Micronaut AOT Intro
View build.gradle.kts
plugins {
id("io.micronaut.application") version "3.1.1"
id("io.micronaut.aot") version "3.1.1"
}
...
micronaut {
...
aot {
version.set("1.0.0-M5")
cacheEnvironment.set(true)
View pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
The Universal Permissive License (UPL), Version 1.0
Subject to the condition set forth below, permission is hereby granted to any
person obtaining a copy of this software, associated documentation and/or
data (collectively the "Software"), free of charge and under any and all
@melix
melix / before
Created Mar 27, 2020
New error message
View before
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 Jan 12, 2020
Publish an additional fat jar with Gradle
View build.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 Dec 21, 2019
8 seconds to generate this file
View verification-metadata.xml
<?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"/>
View build.gradle
@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")
View build.gradle.kts
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
View properties.gradle.kts
/*
* 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() {