A gradle plugin for developing javaagent applications.

Overview

Javaagent Packing

A gradle plugin for developing javaagent applications.


Why this plugin

Fast packing all dependencies

Used many dependencies? JavaagentPacking will pack all dependencies you used automatic.

Avoid classpath pollution

Using this plugin can avoid classpath pollution. Applications on AppClassLoader can't access classes of javaagent.

Configure simply

Just adding a bit code into build.groovy

javaagent {
    bootstrap = "org.example.myjavaagent.Launcher"
    ofSourceSet("main")
    applyTests = true
}

Using this plugin

Adding id("io.github.karlatemp.javaagent-packing") version "0.0.4" into your plugins

Configure

javaagent {
    // required.
    //      The launcher of javaagent
    //      Require `public static void premain(String, Instrumentation)` exists
    bootstrap = "org.example.myjavaagent.Launcher"
    // optional: Default: the main source set of project
    //      SourceSet of javaagent application
    //      See gradle document for more details.
    ofSourceSet("main")
    // optional: Default: "io.github.karlatemp.jap." + project.name
    //      The package of wrapper jar (the final built jar)
    packageName = "org.example.myjavaagent.wrapper"
    // optional: Default: jpl
    //      The custom protocol scheme of `Launcher.class.getProtectionDomain().getLocation()`
    urlProtocol = "jpl"
    // optional: Default false
    //      Add `-javaagent` into tests
    applyTests = false
}

// Configuration of directly bootstrap
// In build.gradle.kts, use
//      tasks.named<JavaExec>("launchJavaagent") {}
launchJavaagent {
    mainClass.set('org.example.myjavaagent.test.Main')
    // If `classpath` missing, use test source set default.
    // If `classpath` modified, javaagent-packing will not change it again.
}
You might also like...

Maven port of the Netflix Gradle code generation plugin for graphql. https://github.com/Netflix/dgs-codegen

This is port of the netflix codegen plugin for Gradle. Found here. COPIED FROM NETFLIX DOCUMENTATION. The DGS Code Generation plugin generates code fo

Dec 24, 2022

A gradle plugin based on ANTLR to generate UML diagrams from kotlin source code.

A gradle plugin based on ANTLR to generate UML diagrams from kotlin source code.

A gradle plugin based on ANTLR to generate UML diagrams from kotlin source code.

Oct 26, 2022

Houston Asset Server Gradle plugin

Houston Asset Server Gradle plugin It is a helper that helps achieve synchronization automation through the build script of the schema serialized in p

Jan 28, 2022

A gradle plugin generates resConfig & languages array from project res folder.

For Android application projects that accept user-submitted translations, the number of supported languages may be large and growing. When new languages are added, developers need to manually update resConfig (1) and language array xml/class (2). Manual means there could be human error.

Nov 12, 2022

Java Ecosystem Capabilities Gradle Plugin

Java Ecosystem Capabilities Gradle Plugin

Java Ecosystem Capabilities Gradle Plugin This plugin adds Capabilities to the metadata of well-known components hosted on Maven Central that are used

Dec 6, 2022

Contrubute Now to help make aide a best platform for developing

Contrubute Now to help make aide a best  platform for developing

AIDE-Pro AIDE-based mod that will help you develop mobile applications based on the Android platform. How is it different from AIDE? Added Assets Mana

Dec 7, 2022

A view for developing JavaFX stylesheets.

A view for developing JavaFX stylesheets.

ShowcaseFX At least JDK 11 is required. This project contains a single control called CssShowcaseView that can be used to preview the results produced

Dec 23, 2022

Tabletop Games Framework (TAG) - a Java-based benchmark for developing modern board games for AI research

Tabletop Games Framework (TAG) - a Java-based benchmark for developing modern board games for AI research

The Tabletop Games Framework (TAG) is a Java-based benchmark for developing modern board games for AI research

Dec 12, 2022

MC Protocol specification of the current minecraft release / snapshot. Most useful when developing with ProtocolLib.

Snapshot 1.19.1-pre4 (1.19.1), Protocol 97 (1073741921), Release Protocol: 760 Handshaking (Server - Client) Handshaking (Client - Server) 0x00 - Cl

Dec 12, 2022

The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts

The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts

yGuard yGuard is an open-source Java obfuscation tool. With yGuard it is easy as pie ( 🍰 ) to configure obfuscation through an extensive ant task. yG

Jan 2, 2023

Simple Calender App Written in Java , Built with Gradle

Simple Calender App Written in Java , Built with Gradle

Simple Calendar Simple Calendar is an just another open-source Android Calendar application written in java. Features Minimal & Clean Fullfilles needs

Dec 3, 2021

Xerath - 🔪 AOP development framework implemented through *Annotation + ASM + Gradle Transform API* for Android🤖

Xerath - 🔪  AOP development framework implemented through *Annotation + ASM + Gradle Transform API*  for Android🤖

简体中文 | English | Xerath Xerath 是一个通过 [自定义注解]+ASM + Gradle Transform API 实现的一套功能强大,方便开发,并且能够有效减少重复代码的Android Aop 框架。 旨在编译器进行全局性的修改,来完成一些诸如方法耗时统计,异常收集,拦

Nov 22, 2022

Force clear delaying & no longer needed Gradle tasks.

Force clear delaying & no longer needed Gradle tasks.

gradle-cleaner-intellij-plugin Force clear delaying & no longer needed Gradle tasks. Description Plugin for Intellij IDEA which performs simple comman

Oct 28, 2021

A sample microservice built with Spring Boot and Gradle.

Project Overview A sample microservice built with Spring Boot and Gradle. There are APIs built using REST and the resource is bicycle. All CRUD operat

Feb 2, 2022

To quickly integrate your applications into the EdgeGallery platform, we provide the toolchain project to help developers quickly modify code and migrate applications to the platform.

Toolchain 工具链 工具链是MEC Developer开发者平台中的一个重要特性,当x86平台的App想要上车ARM平台时,底层的代码不可避免的需要进行修改或重写。 App提供者可以通过MEC Developer开发者平台中集成的工具链进行源代码分析,定位需要修改的源代码并根据指导意见进行修

Jan 7, 2022

OpenMap is an Open Source JavaBeans-based programmer's toolkit. Using OpenMap, you can quickly build applications and applets that access data from legacy databases and applications.

$Source: /cvs/distapps/openmap/README,v $ $RCSfile: README,v $ $Revision: 1.11 $ $Date: 2002/11/06 19:11:02 $ $Author: bmackiew $ OpenMap(tm) What

Nov 12, 2022
Owner
微莹·纤绫
一名普通女高中生
微莹·纤绫
A simple command-line argument parser for Java applications that relies on records.

RecordArgs A simple command-line argument parser for Java applications that relies on records. Specifically, it uses their component names to parse co

Nicolai Parlog 8 Apr 4, 2022
JITWatch plugin for IntelliJ IDEA

JITWatch Plugin for IntelliJ IDEA The plugin can be used to view and analyze HotSpot JIT compilation logs inside IntelliJ IDEA. It uses JITWatch to lo

Dmitry Jemerov 166 Dec 15, 2022
A plugin for the ja-netfilter, it can dump the transformed classes.

A plugin for the ja-netfilter, it can dump the transformed classes.

null 7 Apr 17, 2022
A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs.

HiddenApiRefinePlugin A Gradle plugin that improves the experience when developing Android apps, especially system tools, that use hidden APIs. Backgr

Rikka apps 125 Jan 5, 2023
Spotless-intellij-gradle - An IntelliJ plugin to allow running the Spotless gradle task from within the IDE.

Spotless Intellij Gradle An IntelliJ plugin to allow running the spotless gradle task from within the IDE on the current file selected in the editor.

Ryan Gurney 30 Dec 17, 2022
A supercharged gradle template for developing Minecraft plugins with multi platform support.

Minecraft Multi-Platform Template You can use this template to develop your own high quality Minecraft plugins for multiple platforms using Gradle wit

sVoxelDev 3 Nov 23, 2022
:package: Gradle/Maven plugin to package Java applications as native Windows, Mac OS X, or GNU/Linux executables and create installers for them.

JavaPackager JavaPackager is a hybrid plugin for Maven and Gradle which provides an easy way to package Java applications in native Windows, Mac OS X

Francisco Vargas Ruiz 665 Jan 8, 2023
Gradle plugin for Android applications for detecting unexpected changes in AndroidManifest.xml

manifest-guard Gradle plugin for Android applications for detecting unexpected changes in AndroidManifest.xml The problem being solved Every third-par

Daniil Popov 39 Dec 24, 2022
Ja-netfilter - A javaagent framework

ja-netfilter v2.0.1 A javaagent framework Usage download from the releases page add -javaagent:/absolute/path/to/ja-netfilter.jar argument (Change to

null 7.3k May 26, 2022
A javaagent framework

ja-netfilter 2022.2.0 A javaagent framework Usage download from the releases page add -javaagent:/absolute/path/to/ja-netfilter.jar argument (Change t

null 35 Jan 2, 2023