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

    【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 插件 , 并调用该插件中的方法 MyPlugin2 这种方式需要拷贝代码 , 通用性不高 ; 自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI 三 导入成功 ; 自定义 Gradle 插件 - GitHub 地址 : https://github.com/han1202012/Android_UI

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

    Gradle自定义插件

    在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle插件可以在IDEA中进行开发 pluginsrc.properties中的名字——pluginsrc,通过这种方式,就加载了自定义插件。 在buildSrc中创建自定义Gradle插件只能在当前项目中使用,因此,对于具有普遍性的插件来说,通常是建立一个独立的Module来创建自定义Gradle插件。 部署到本地Repo 因为是通过自定义Module来创建插件的,因此,不能让Gradle来自动完成插件的加载,需要手动进行部署,所以,需要在插件的build.gradle脚本中增加Maven的配置,脚本如下所示 引用插件 在buildSrc中,系统自动帮开发者自定义插件提供了引用支持,但自定义Module的插件中,开发者就需要自己来添加自定义插件的引用支持。

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

    Maven自定义插件

    前言:自定义插件就是解决在maven执行过程的生命周期里执行一些自定义的逻辑。 public void execute() throws MojoExecutionException, MojoFailureException { getLog().info("自定义插件成功 ,参数name:" + name); } } 其中注释就是maven插件很重要的元数据 /** * @goal CustomMavenMojo:表示该插件的服务目标 * @phase compile:表示该插件的生效周期阶段 * @requiresProject false:表示是否依托于一个项目才能运行该插件 * @parameter expression="${name }":表示插件参数,使用插件的时候会用得到 * @required:代表该参数不能省略 */ 4.install项目并测试 mvn install项目之后 再执行 com.wangnian:CustomMaven-plugin

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

    Gradle 自定义插件

    你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码在 JVM 运行的。 Gradle 有两种插件,脚本插件和二进制插件。 关于插件的介绍,可以参考我的另一篇文章 Gradle 插件 这里讲的自定义插件是二进制插件,二进制插件可以打包发布,有利于分享。 可以在三个地方定义插件 在脚本里 在 buildSrc 下 在单独的项目里 三个地方的插件的用途目的不同。 在脚本里的插件 其他项目无法使用,只能在本脚本里使用。 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
  • 来自专栏Y大宽

    Cytoscape插件7:MCODE

    MCODE,Molecular COmplex Detection 发现PPI网络中紧密联系的regeions,这些区域可能代表分子复合体。 根据给定的参数,分离dense regions,这相对其他cluster方法有其优点,因为其他的方法很少考虑网络的其余部分。总之MCODE可以发现PPI网络中相互作用的Dense region。这主要基于connection data,其中很多已经被证实是complex。这个函数不会被因高通量技术带来高假阳性影响。分子复合体预测很重要,因为这可以提供功能注释的另一个水平。因为sub-units of a molecular complex通常情况下,功能代表同一个生物目标分子,对一个未知pro的预测(作为复合体一部分),对这个pro的注释也增加了可信度。 MCODE也可以对感兴趣的dense区域进行提取并可视化,这点很重要,因为现有的工具比如spring不能对大的网络进行操作(spring不能大于2000个nodes)。

    4.2K20发布于 2018-10-11
  • 来自专栏全栈程序员必看

    7. MyBatisCodeHelperPro 插件

    大家好,又见面了,我是你们的朋友全栈君 MyBatisCodeHelperPro 插件 之前介绍了 MyBatis 的逆向工程生成实体类、自定义接口以及 Mapper.xml 的操作过程 ,很显然这样的配置工作非常繁琐且复杂,本文在介绍 MyBatis 动态 SQL 之前,先分享一款实用的 MyBatis Generator 插件(MyBatisCodeHelperPro),使用这个插件可以简化开发过程 Settings → Plugins → Install plugin from disk… (提前将MyBatisCodeHelperPro压缩文件下载到本地磁盘) 第二步:重启 IDEA 完成插件的激活操作 ,项目生成的目录结构如下: 而且该插件生成的代码非常简洁明了,易于阅读和修改。 ---- 下面继续介绍如何使用该插件对生成的方法进行单元测试: 1、对 UserMapper 接口中的每个方法进行逐一测试时,点击【Alt+Enter】选择 Generate mybatis testcase

    3.3K20编辑于 2022-09-29
  • 来自专栏韩曙亮的移动开发专栏

    【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编写自定义插件

    Plugin 插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。 ), ] }; Webpack在启动时会实例化插件对象,在初始化compiler对象之后会调用插件实例的apply方法,传入compiler对象,插件实例在apply方法中会注册感兴趣的钩子,Webpack 插件编写实例 接下来我们开始编写自定义插件,所有插件使用的示例项目如下(需要安装webpack和webpack-cli): |----src |----main.js |----plugins Webpack 插件基本架构 插件由一个构造函数实例化出来。构造函数定义 apply 方法,在安装插件时,apply 方法会被 Webpack compiler 调用一次。 4.2 插件原理介绍: 读取 Webpack 中 entry 配置的相关入口 chunk 和 extract-text-webpack-plugin 插件抽取的 CSS 样式; 将样式插入到插件提供的

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

    自定义 Traefik(本地)插件

    Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功能了, 安装配置文件中启用 Pilot 的配置: # Activate Pilot integration pilot: enabled: true token: "e079ea6e-536a-48c6-b3e3-f7cfaf94f477 pilot: enabled: true token: "e079ea6e-536a-48c6-b3e3-f7cfaf94f477" additionalArguments: # 添加 demo 需要注意的是由于在每次启动的时候插件只加载一次,所以如果我们希望重新加载你的插件源码的时候需要重新启动 Traefik。 下面我们使用一个简单的自定义插件示例来说明如何使用私有插件。 Pilot 中演示的是同一个插件,我们可以通过该插件自定义请求头信息。

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

    自定义Cordova插件详解

    现有的Cordova插件能满足平时大部分的开发需求,然而,有时候找不到合适的插件、或对找到的插件有不满意的地方,那就要动手去做或改写一个插件,这时候就要了解一些Cordova插件的相关知识。 Cordova 自定义插件的官方文档 二、观察现有应用结构 打开任意一个基于Cordova技术的hybird app的开发目录,添加过平台(android、ios等)和安装过插件的话,你会发现结构大致是这样子的 三、使用plugman开发Cordova插件 一个独立插件的目录基本结构是这样的: MyToast ├── src | ├── android | | └── MyToast.java ,如MyToast; pluginID:插件id, 如:org.demo.mytoast; version:版本号, 如:0.0.1; path:插件存放的绝对或相对路径; variable NAME ,进入插件目录,打开plugin.xml查看,注意以下内容及说明: plugin - id:插件唯一标识 - version:版本号 - js-module src:js中间件相对文件地址(www

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

    apisix 自定义插件方法

    apisix 自定义插件 apisix有丰富的官方插件,已经很大程度上满足了开发者的需求,大多数功能可以选用官方插件解决,但是仍然很难满足有些业务的个性化需求。 因此apisix提供了完整的插件开发规范,开发者可以根据规范实现业务特定的插件。本章将先以一个最简单的插件来讲解如何开发一个apisix插件,通过一个简单插件了解apisix 插件的基本组成。 然后讲解开发插件的详细步骤以及插件中各个部分更详细的内容。 开发简单的插件 自定义header。通过该插件可以实现给请求添加自定义header的功能。 开发自定义插件逻辑代码 local ngx = ngx local core = require("apisix.core") local schema = { type = "object", properties name 插件名字。插件名字要求全局唯一,不能喝其它插件重名。示例中名字为insert-header priority 插件优先级,决定了插件的执行顺序。优先级大的插件会先执行。

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

    Gradle自定义插件详解

    关于gradle插件自定义,发现网上好多的错误教程,总结后的文章,若本文中也有错误,请及时指正 在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在 根据官网的描述,这里在项目中进行使用的gradle插件过程如下: 首先在Android Studio中创建一个标准的Android项目,然后在项目的根目录下新建一个model命名为buildSrc,这个目录就用来存放自定义插件 在主项目中使用插件 在主项目的build.gradle文件中,通过apply指令来加载自定义插件,脚本如下所示: apply plugin: 'myCustomGradle' 其中plugin的名字 ,就是前面创建myCustomPlugin.properties中的名字——myCustomPlugin,通过这种方式,就加载了自定义插件。 在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
  • 来自专栏WordPress技术文章

    好用的wordpress表单插件contact form 7的辅助插件CFDB7

    Contact Form 7 Database Addon – CFDB7 插件介绍Contact Form 7 Database Addon – CFDB7 是一款用于 WordPress 的插件,能够将 轻量级与易用性:插件体积小,操作简单,用户友好。开发者友好:支持自定义和扩展,适合有开发需求的用户。显示表单列表:可以在后台查看所有已创建的 Contact Form 7 表单。 安装插件从 WordPress 插件库下载 Contact Form 7 Database Addon – CFDB7自定义设置(可选)如果需要更改 CSV 文件的分隔符,可以将以下代码添加到主题的 functions.php 文件中:add_filter('cfdb7_csv_delimiter', function 通过使用 Contact Form 7 Database Addon – CFDB7 插件,可以更高效地管理和分析 Contact Form 7 的表单提交数据,同时为开发者提供了丰富的自定义选项。

    36900编辑于 2025-06-13
  • 来自专栏韩曙亮的移动开发专栏

    【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 插件上传选项 | 配置分组名称版本号 ) 中 , 定义完插件后 , 在 自定义 Gradle 插件模块 的 build.gradle 构建脚本中 , 添加了 插件上传仓库的 配置 , 为插件指定了 分组 , 版本号 , 名称 配置 ; // 指定自定义 Gradle 插件的分组 group 'kim.hsl.plugin' // 指定自定义 Gradle 插件的版本号 version '0.1' // 自定义 Gradle 插件的名称 , 默认为工程名 //

    2.3K20编辑于 2023-03-30
  • 来自专栏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 插件创建与结构简析 1.1:创建一个Flutter插件 File-->new-->new Flutter Project... iOS原生代码,使用Object-c或Swift lib文件夹下面写Flutter代码,使用Dart语言 也就是说一个插件可能涉及到6种语言,哈哈,颤抖吧人类... 1.3:运行插件示例 虽然复杂 这里创建一个ia_version的项目专门看看示例的插件是如何完成的。 本文讲了一下插件自定义和在两个平台上的代码处理, 下一篇将详细讲述MethodChannel,让你在Flutter中无后顾之忧。

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