00:00
再继续观看上硅谷格ID技术视频,这节课我们继续讲解中的用户自定义插件。上节课我们已经给大家提到,我们可以在这个脚本文件中制定一个插件,然后使用这个插件。但是这种插件定义的方式只能是从当前product中使用。如果我们想在其他project中使用的话,它是用不了的。那怎么?让其他project也能使用我们自定义的插件呢,诶,我们可以啊。创建一个build s RC。首先我们来了解一下build的s Mo。Build s,它是idle默认的插件。编译的时候能够自动识别这个目录,将其中的代码编译为插件。那接下来咱们就带着大家一步一步的。把这个build的SC目录创建出来啊,然后通过这种build的src目录的方式创建一个插件。供其他各个product都能使用。来咱们看一下。
01:05
首先,我们在项目的根底下创建这么一个build的s RC Mo。具体大家就可以参考咱们这个文档就可以了。来,我先创建一个product,这个名字必须叫build sc,然后放在跟工程底下。然后使用本机上1.8版本的JDK。这就可以了,点create。你会发现创建了之后,它会自动把它作为一个模块。而且啊,他默认在settings里边已经引入了,咱们把这个引入去掉。好,必须去掉。然后在这里刷新。刷新。OK啊,然后咱们只需要保留build的SC目录,底下的src目录。
02:05
其他的一概给他删掉就可以了。只需要保留。Src还有这个build GR文件,这个也必须保留。来,我们看一下,它这里既然没有src面,咱们就自己给它串联出来。你会发现这些都是有的。我们就把SRCM目给它保留就可以了,比如说我们这里保留src妹目笔下的。这个文件夹一会儿我要用到它。然后接着咱们修改build这grid文件,然后把里边的内容设置为这个。咱们要想。啊,完成这种用户自定义的插件,给其他各个模块使用,它这个build,这脚本中的这个内容,它都是固定的啊,比如说它定义了源码集,就是你可以在哪个目录底下写一些源码,咱们应该是在sc main growing。
03:11
这个目录底下。然后这里还有一些仓库信息和依赖信息。这些都是。必须要写的啊,而且都是固定的,行,你先把这个。配置过来就可以了。然后第三步就是咱们在s RC main目录底下的目录底下创建一个脚本,这个脚本我们这里创建了一个test位脚本。OK啊,让它实现了拉给你接口。嗯,实现这个接口就意味着实现接口中的apply方法。咱们也直接。把这个包先创建出来。叫。com点艾特硅谷。然后把这个插件。
04:01
直接复制过来。这样我就不带着大家再写一遍了。前面我们也提到过这种插件的定义。需要注意的是,我们这里创建的是啊glue脚本文件。嗯。咱们在这里把它删掉。然后再来。Text。名字无所谓。这样咱们这个插件就定义好了。定义好了之后,如果咱们也。想要使用这个插件的话,还必须在sc main resources目录下先创建一个me in目录,在me INF目录底下创建一个greatid plug目录。注意,这些名字都是固定的。必须这么想。
05:01
然后在ID目录底下创建一个properties文件。然后这个prop文件前面实际上就是这个插件的ID。来,我们把它创建出来。在resources目录下,我先创建一个me in目。这个目录没有,我们就给他补齐。来在resources目录下。创建埋银父母。埋他人父母底下。创建。Plug怎么?前面不要有空格儿。这个目录创建好了之后,在这个目录底下创建一个以点proper结尾的文件。
06:01
这个文件,比如说我这里就叫com硅谷点plugin.plugins。其中。这个艾特硅谷plug,这个实际上就是后边咱们引入这个插件的时候,插件的ID。这个插件的ID你可以随意的写。然后在这里边配置这样一个兼职,对就可以了。键是implementation class值。就是自定义插件的那个权利名。来,我们看一下。键是固定的值,就是刚才咱们自定义的。插件的这个权利名com艾特硅谷包下的test没有问题。OK啊,这样咱们这个插件就算定义完了。
07:03
定义完了之后,咱们也直接啊。啊,直接在咱们想要使用这个插件的。那个模块里边引入一下就可以了,引入或者说应用一下,用这种方式引用。来,我们试一下。比如我现在想在我这个根目录底下应用,那我就在根目录底下build。点这种脚本文件里边。来试一下吧。把其他的这些都给我删掉。应用的时候使用apply plug in后边跟那个插件的ID,说白了就是build s RC。Main resources底下的。这个文件的名字。啊,就是com.google.plug这就是那个插件的ID没有问题。OK啊,这样咱们就可以啊执行可流动的构建指令了。
08:05
啊,构建指令也可以执行这个任务。刚才咱们在定义这个插件的时候。在这个插件内部声明了一个任务,叫艾特硅谷。啊,然后现在咱们也在这个build这个文件里边已经应用了这个插件了,应用插件之后。咱们也就可以啊,执行这个任务也是没有问题的。来艾特硅谷走起。在执行这个任务的时候,他如果能输出。这一堆内容说明是没有问题的。比如说咱们这里输出的是自定义。艾特硅谷这个插件。首先我们看这里有一个。首先这里有一个问题,我们来看一下。
09:00
他说在这个22行。嗯,这个。这个我们先把这个去掉,防止它影响我们。来,此时我们再来。诶,你看他确实执行了这个任务,输出了自定义艾特硅谷。这句话说明咱们呀,用户自定义的啊,这个插件是没有问题的,而且这种插件它不是写在呀某一个脚本内部的啊,它可以给啊所有的product使用。你想在哪个product使用,你就在哪个product对应的build文件中,这样引入一下就可以了。OK,当然在自定义的这个插件内部,我这里用的是声明一个任务啊,你也可以做其他的业务逻辑。
10:01
拓展咱们项目的功能就可以了。哎,这是用户自定义的。这个插件。
我来说两句