首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )

    文章目录 一、自定义插件作用 二、Android Gradle 插件的 AppExtension 扩展 三、自定义 Extension 扩展 Android Plugin DSL Reference 参考文档 ---- 在 Gradle 自定义插件 Plugin 中 , 如果要执行复杂的工作 , 可以在 实现的 Plugin 接口的 apply 函数中执行 ; package org.gradle.api; public interface Plugin<T> { void apply(T var1); } 一般情况下 , 自定义插件工程都是针对 特定的 需求 , 开发固定功能的插件 ; 二、Android Gradle 插件的 AppExtension 扩展 ---- Android Gradle 插件 也是一个 自定义插件 , 这个插件功能复杂 , 代码量较大 , 如 定义了 AppExtension ; 自定义 Gradle 插件中 , 可以定义自己的扩展 ; 首先 , 调用 project.extensions.create 方法 , 创建扩展 , 类似于 Android Gradle 插件中的

    1.8K20编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 )

    文章目录 一、在 buildSrc 模块中定义 Gradle 插件 二、在 build.gradle 构建脚本中自定义 Gradle 插件 三、在其它 gradle 脚本中字定义 Gradle 插件 Android 该 自定义 Gradle 插件可以在当前工程中的所有 Module 子模块都可以使用 ; 自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012 /Android_UI 二、在 build.gradle 构建脚本中自定义 Gradle 插件 ---- 在 build.gradle 构建脚本中 , 也可以创建自定义 Gradle 插件 , 并调用该插件中的方法 apply(Project project) { println 'MyPlugin2' } } // 引入在本文件中定义的 Gradle 插件 apply plugin: MyPlugin2 这种方式需要拷贝代码 , 通用性不高 ; 自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI 三

    2K10编辑于 2023-03-30
  • 来自专栏Android群英传

    Gradle自定义插件

    在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle插件可以在IDEA中进行开发 apply plugin: 'groovy'dependencies { compile gradleApi() compile localGroovy() } 创建Groovy脚本—2 pluginsrc.properties中的名字——pluginsrc,通过这种方式,就加载了自定义插件。 在buildSrc中创建自定义Gradle插件只能在当前项目中使用,因此,对于具有普遍性的插件来说,通常是建立一个独立的Module来创建自定义Gradle插件。 引用插件 在buildSrc中,系统自动帮开发者自定义插件提供了引用支持,但自定义Module的插件中,开发者就需要自己来添加自定义插件的引用支持。

    1.6K10发布于 2018-07-20
  • 来自专栏王念博客

    Maven自定义插件

    前言:自定义插件就是解决在maven执行过程的生命周期里执行一些自定义的逻辑。 maven-plugin-api</artifactId> <version>3.3.9</version> </dependency> </dependencies> 2. public void execute() throws MojoExecutionException, MojoFailureException { getLog().info("自定义插件成功 ,参数name:" + name); } } 其中注释就是maven插件很重要的元数据 /** * @goal CustomMavenMojo:表示该插件的服务目标 * @phase compile:表示该插件的生效周期阶段 * @requiresProject false:表示是否依托于一个项目才能运行该插件 * @parameter expression="${name

    1.2K10发布于 2019-07-24
  • 来自专栏Android学习之路

    Gradle 自定义插件

    关于插件的介绍,可以参考我的另一篇文章 Gradle 插件 这里讲的自定义插件是二进制插件,二进制插件可以打包发布,有利于分享。 我分别在两个 Java 项目里使用了插件: 一个是使用 id 的方式 一个是使用类名的方式 lib_2/ build.gradle 使用 类名的方式 ······ apply plugin:'com.github.skymxc.greet ${PubName}PublicationToMavenLocal 将 PubName 发布以及本地发布的 POM 文件和其他元数据复制到本地Maven缓存中 (通常为$USER_HOME / .m2 fruit.getName(), fruit.getColor()); getLogger().quiet("fruit : {}",format); }); } } 关于自定义插件的相关介绍就这些了 ,更详细的文档可以查看 Gradle 用户手册 这篇文章的源码已经放在 github 上:GradlePractice 资料 自定义插件 https://docs.gradle.org/current

    2.3K20发布于 2019-12-11
  • 来自专栏用户1337634的专栏

    自定义maven插件

    制作插件 修改packaging <artifactId>tenmao-plugin</artifactId> <! maven-plugin-annotations</artifactId> <version>3.6.0</version> <scope>provided</scope> </dependency> 这两个依赖是自定义插件必须的依赖 每一个 Mojo 就是 Maven 中的一个执行目标(executable goal),而插件则是对单个或多个相关的 Mojo 做统一分发。一个 Mojo 包含一个简单的Java类。 插件中多个类似 Mojo 的通用之处可以使用抽象父类来封装。 :name */ @Parameter private String name; /** * 插件参数:age */ @Parameter

    96421发布于 2019-11-04
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    插件开发】—— 2 插件入门

    我们先做一个简单的工具栏的控件,了解一下eclipse的插件开发流程!   1 新建一个插件工程 ?   2 创建自己的插件名字,这个名字最好特殊一点,一遍融合到eclipse的时候,不会发生冲突。 1 导入了插件所需要用到的jar包 2 导入了插件依赖的库 3 源文件 4 插件按钮图片 5 插件的配置信息 MANIFEST.MF 插件的捆绑信息 Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: 我的插件 Bundle-SymbolicName: com.test.myplugin; singleton:=true 提供的插件类Activator.java 1 package com.test.myplugin; 2 3 import org.eclipse.jface.resource.ImageDescriptor 最后让我们运行一下这个插件吧! ?   启动方式1 直接在overview界面点击;    启动方式2 也可以点击运行或者DEBUG按钮,运行方式选择Eclipse Application。   

    3K90发布于 2018-01-18
  • 来自专栏Timeline Sec

    工具 | 高度自定义Burp插件log4j2burpscanner

    工具介绍 此工具是由团队SRC组f0ng(f神)开发的一款针对log4j漏洞CVE-2021-44228的BurpSuite扫描插件。 工具优势 可主动扫描,也可被动扫描 可自定义jndi字段,dns协议字段,dnslog地址,后缀参数 可自定义header头 可自定义白名单,防止扫到敏感网站 1-如何使用 0x01 去releases 下载最新插件 https://github.com/f0ng/log4j2burpscanner 0x02 加载完插件后,如果提示默认dnslog可以访问https://log.xn--9tr.com, 自定义ceye发现没有效果? (加载了插件,没有进行扫描) 0x01 本插件是通过Passive接口进行扫描,如果第一次扫描过了,第二次再次加载插件,是默认不会扫描的,需要右键数据包,进行send to log4j2 scanner

    3.6K31编辑于 2022-12-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )

    文章目录 一、Android Gradle 插件扩展的扩展 二、为自定义 Gradle 插件的扩展配置扩展 并 获取扩展属性 Android Plugin DSL Reference 参考文档 : Android ---- 在上一篇博客 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 ) 中 , 实现了 自定义插件 的 扩展 Extension , 在 Module 模块下的 build.gradle 构建脚本中 , android 配置块 就是一个 AppExtension Plugin 插件 的 Extension 扩展 中 , 再 定义一层 Extension 扩展 ; 二、为自定义 Gradle 插件的扩展配置扩展 并 获取扩展属性 ---- 定义扩展类 : class ("myplugin", MyPluginExtensions) // 为 MyPlugin 自定义插件的 myplugin 扩展定义 扩展 mypluginextension

    3.9K10编辑于 2023-03-30
  • 来自专栏web share

    Webpack编写自定义插件

    2. Output(输出) 告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件。 3. Module(模块) 在 Webpack 里一切皆模块,一个模块对应着一个文件。 compilation 同步 emit 资源生成完成,输出之前 compilation 异步 afterEmit 资源输出到目录完成 compilation 异步 done 完成编译 stats 同步 2. 插件编写实例 接下来我们开始编写自定义插件,所有插件使用的示例项目如下(需要安装webpack和webpack-cli): |----src |----main.js |----plugins 2 Webpack 插件组成 一个具名 JavaScript 函数; 在它的原型上定义 apply 方法; 指定一个触发到 Webpack 本身的事件钩子; 操作 Webpack 内部的实例特定数据; Webpack 插件基本架构 插件由一个构造函数实例化出来。构造函数定义 apply 方法,在安装插件时,apply 方法会被 Webpack compiler 调用一次。

    1.6K20发布于 2020-12-01
  • 来自专栏k8s技术圈

    自定义 Traefik(本地)插件

    Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功能了, 接下来我们就可以在 Traefik Pilot 的插件页面选择我们想要使用的插件,比如我们这里使用 Demo Plugin[2] 这个插件。 需要注意的是由于在每次启动的时候插件只加载一次,所以如果我们希望重新加载你的插件源码的时候需要重新启动 Traefik。 下面我们使用一个简单的自定义插件示例来说明如何使用私有插件。 Pilot 中演示的是同一个插件,我们可以通过该插件自定义请求头信息。 参考资料 [1]Traefik Pilot: https://pilot.traefik.io/ [2]Demo Plugin: https://github.com/traefik/plugindemo

    1.6K30编辑于 2021-12-30
  • 来自专栏ionic3+

    自定义Cordova插件详解

    现有的Cordova插件能满足平时大部分的开发需求,然而,有时候找不到合适的插件、或对找到的插件有不满意的地方,那就要动手去做或改写一个插件,这时候就要了解一些Cordova插件的相关知识。 Cordova 自定义插件的官方文档 二、观察现有应用结构 打开任意一个基于Cordova技术的hybird app的开发目录,添加过平台(android、ios等)和安装过插件的话,你会发现结构大致是这样子的 三、使用plugman开发Cordova插件 一个独立插件的目录基本结构是这样的: MyToast ├── src | ├── android | | └── MyToast.java 1、首先安装plumam命令行工具 npm install -g plugman 2、安装完之后,创建plugin 使用plumam创建插件的命令是: plugman create --name pluginName : ionic cordova plugin add /Users/cordova/MyToast 在ionic2或以上使用时,打开任意一个ts文件,在头部声明如下: declare let cordova

    2.9K30发布于 2018-08-20
  • 来自专栏技术狂想

    apisix 自定义插件方法

    apisix 自定义插件 apisix有丰富的官方插件,已经很大程度上满足了开发者的需求,大多数功能可以选用官方插件解决,但是仍然很难满足有些业务的个性化需求。 然后讲解开发插件的详细步骤以及插件中各个部分更详细的内容。 开发简单的插件 自定义header。通过该插件可以实现给请求添加自定义header的功能。 开发自定义插件逻辑代码 local ngx = ngx local core = require("apisix.core") local schema = { type = "object", properties ~/grep/ {print $2}' |tr -s '\n' ' ') nohup manager-api -p /usr/local/apisix/dashboard/ & 插件开发方法 定义插件基本信息 article/details/121045556 image.png _M.init 1 _M.init_worker _M.ssl_certificate _M.set _M.rewrite 2

    3.8K20编辑于 2023-01-16
  • 来自专栏Android开发实战

    Gradle自定义插件详解

    关于gradle插件自定义,发现网上好多的错误教程,总结后的文章,若本文中也有错误,请及时指正 在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在 2 在项目里使用 这里官网的描述 https://docs.gradle.org/4.0.2/userguide/organizing_build_logic.html#multiProjectBuildSrc 2,创建Groovy脚本 接下来,在groovy目录下,创建一个Groovy类(与Java类似,可以带包名,但Groovy类以.grovvy结尾,所以groovy文件的创建是new->file->custom.groovy 在主项目中使用插件 在主项目的build.gradle文件中,通过apply指令来加载自定义插件,脚本如下所示: apply plugin: 'myCustomGradle' 其中plugin的名字 在buildSrc中创建自定义Gradle插件只能在当前项目中使用,因此,对于具有普遍性的插件来说,通常是建立一个独立的Module来创建自定义Gradle插件。 创建过程请参考上节中的 《二.

    1.6K20发布于 2018-10-22
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件自定义 Gradle 插件模块 ① ( 在 Module 模块中自定义 Gradle 插件 | 创建自定义插件类型模块 | 手动导入相关依赖 )

    文章目录 一、将自定义 Gradle 插件上传到远程仓库中 二、创建自定义插件类型模块 ( Java or Kotlin Library ) 三、手动导入相关依赖 ( Java | Groovy | Gradle Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI 一、将自定义 Gradle 插件上传到远程仓库中 ---- 在上一篇博客 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑦ ( 自定义 Gradle 插件导入方式 | buildSrc 插件导入 | 构建脚本中自定义插件 | 独立文件 ) 中 , 总结了在 Android Studio 工程中 自定义 Gradle 插件 , 并在 build.gradle 构建脚本 中导入插件的代码 ; Android Gradle 插件 也是一种 自定义的 ; 这种方式是将 自定义 Gradle 插件 的 jar 包 上传到了 jcenter / google / mavenCentral 远程仓库 中 ; 二、创建自定义插件类型模块 ( Java

    3.5K30编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件】Gradle 自定义 Plugin 插件 ⑤ ( 自定义插件中获定义方法 | 在插件中创建 Gradle 任务 | 代码示例 )

    文章目录 一、自定义插件中定义普通方法 二、自定义插件中定义 Gradle 任务 Task 三、代码示例 代码结构 自定义插件 自定义扩展 自定义扩展的扩展 自定义 Gradle 任务 build.gradle ---- 在 自定义 Gradle 插件 的 Extension 扩展 中 , 可以定义方法 , 定义的方法可以带参数 , 也可以不带参数 ; 代码示例如下 : class MyPluginExtensions Gradle 任务 Task ---- 在 Android Studio 的 Gradle 面板中的 Task 任务 , 都是在 Android Gradle 插件中定义的 , 在自定义插件中 , 也可以自定义 Gradle 任务 ; 首先 , 先自定义 Task 任务 , 继承 DefaultTask 类 , 实现一个任务执行方法 , 参考 【Android Gradle 插件自定义 Gradle 任务 { @TaskAction void run() { println 'MyTask TaskAction' } } 然后 , 在自定义插件中 , 创建 Task

    3.1K20编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android Gradle 插件自定义 Gradle 插件模块 ⑤ ( 完整总结 ) ★★★

    Library 模块中定义插件 四、配置自定义 Gradle 插件发布选项 五、配置 Group 分组、插件名称、插件版本号 六、自定义 Gradle 插件发布配置 七、META-INF 中声明自定义插件的核心类 八、将插件上传到本地 Maven 仓库 九、在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 十、完整代码示例 自定义插件代码 自定义插件 Gradle 构建脚本 自定义插件插件类配置 Gradle 插件自定义 Gradle 插件模块 ② ( 在模块中定义插件 | 引入自定义 Gradle 插件模块 | 配置 Gradle 插件上传选项 | 配置分组名称版本号 ) 中 , 定义完插件后 hello2 = 'Hello World2!' println 'MyPlugin2' } } // 引入在本文件中定义的 Gradle 插件 apply plugin: MyPlugin2 // 该操作相当于将 plugin.gradle

    2.3K20编辑于 2023-03-30
  • 来自专栏运维开发故事

    专栏|使用zabbix-agent2自定义插件获取https证书过期时间

    可以使用Zabbix或者Prometheus的ssl_exporter来进行监控,在Zabbix4.4版本以前可以使用自定义脚本的方式,在Zabbix4.4之后出现了zabbix-agent2,除了官方自带的插件也可以通过自定义插件的方式来满足我们的监控需求 本文介绍如何使用zabbix-agent2自定义插件来实现获取https证书过期时间的需求。 zabbix-agent2自定义https_expire插件 之前介绍过如何使用自定义插件来实现对mqtt的监控,只不过当时使用的Watcher接口来将新数据主动push给server端,这次将通过实现 这里我再介绍一下自定义插件的一些标准规范 1. 插件必须导入zabbix.com/pkg/plugin软件包。 import "zabbix.com/pkg/plugin" 2.  number of days between the HTTPS certificate expiration time and the current date.") } 下载zabbix agent2源码并将自定义插件编译

    95530发布于 2021-04-09
  • 来自专栏m0w3n

    wireshark插件开发 - 自定义协议

    虽然wireshark自带了很多知名协议的解析插件,譬如HTTP、DHCP等等,然而在实际应用环境中,有不少软件之间的通信协议都是私有的,如游戏客户端和服务器之间的交互协议通常都是私有的,wireshark 本文一个自定义的简单协议入手,分析如何基于wireshark开发自定义协议分析插件。 ? 1.1. 概述 本书使用Go语言来描述协议的交互过程。 协议描述 1 package packet 2 3 import ( 4 "bytes" 5 "encoding/binary" 6 "fmt" 7 "os 客户端 1 package main 2 3 import ( 4 "fmt" 5 "net" 6 ) 7 8 import "packet" 9 10 func 服务端 1 package main 2 3 import ( 4 "fmt" 5 "net" 6 ) 7 8 import "packet" 9 10 func

    1.8K30发布于 2021-06-21
  • 来自专栏Android知识点总结

    自定义插件开始说起

    本文你将了解: [1].如何创建一个Flutter插件的 [2].Flutter中如何和Android以及iOS交互(本文使用Kotlin和Swift) [3].Flutter插件的使用 1.Flutter ->[安装cocoapods]---- toly:~ mac$ sudo gem install -n /usr/local/bin cocoapods toly:~ mac$ pod setup 2. 第一个插件代码分析 这里创建一个ia_version的项目专门看看示例的插件是如何完成的。 [2].创建静态方法registerWith,传入一个Registrar类型变量registrar。 本文讲了一下插件自定义和在两个平台上的代码处理, 下一篇将详细讲述MethodChannel,让你在Flutter中无后顾之忧。

    2.1K20发布于 2020-04-30
领券